Skip to main content

Posts

It's Been a Year

Yes, It's Been a Year.  Time just flies by. So is it just me or is everybody getting hit by head hunters these days?  With the Utah unemployment rate of ~3% and the rate for UI/Web engineers approaching zero, no wonder they are all calling.  It feels like a fishing hole where the whole of the lake is ringed with fisherman, all after the same few fish. I place this onto my luck of picking the right fields (or them picking me) and right directions. Gotta stay with the times.  The tech keeps moving and the Web tech is really moving.  It's hard to know what to skip and when to jump on the train.  There where many times I've felt that I had already missed the boat, only to see many of those boats sink with failed adoption or direction.  The server side page creation has peaked.  RoR was to be a saviour, only to be the last of the great steamers in the age of planes.  Moving on.... You could see the beginning of the transition whe...

Made For Each Other

I've been playing with Node.js and MongoDB and have been having fun.  I can see right away the attraction of this pair (and other related) of technologies.  The low bar of entry, the common JSON thread, the perfect fit for specific types of problems.  Very nice. It's this technology that I'll be using (unless something better comes along) for my son's business site and mobile app (native w/REST services).  The document aspect of much of the data where CRUD transactions are not required, the natural flow of JSON through the stack, just makes this nice. MongoDB is not a solution for all problems, but for my needs it will work very nicely.  Then comes building the REST services for the apps.  Node.js is just the right fit.  An issue that some may have with Node.JS is finding a free or low cost hosting service for it.  Because of the way Node.js binds to the port, it appears virtual servers do not work well with it.  Not an issue if yo...

Abstraction to a Point

Architecting and implementing software is a constant balancing act.  First the design has to work in the end but the underlying implementation can vary greatly, event during development. Re-use existing classes that almost fit, or create a new or derived hierarchy for just what is needed.  Abstract out the needs in base and helper / utility classes, but not too complex to not allow modification for the ever changing requirements.  Is the abstraction clear to others that will be maintaing the code, months or years later?  Should the abstraction only existing for the main feature / operational aspects of the application or should they extend to the smaller aspects of the operations as well. It's a constant battle of decisions during implementation. The abstraction point is not isolated to development as the cost associated with these decisions can increase the code and timeline of the implementation and even place a project at risk. During sprints for adding ...

Simple Pleasures == Helping == Business Model

OK, I do like simple pleasures in life.  Especially if there is a connection to helping others. There are a number of business models that combine a product that everyone needs with also providing benefit to those that may need it.  Businesses like Tom Shoes , Harry's and Warby Parker have created a business model with a goal of helping others. I had heard about these companies but had not ordered from them till lately.  My first order was with Harry's where I bought a "Truman" version of their razor.  I got it this week and gave it a go.  OMG was it nice (this is where the simple pleasure came in).  After decades of using electric and then cheapo razors, I did not know what a real nice shave was like.  I enjoyed it and I felt good about ordering from the company.  Other companies could learn from how there packaging is done.  Very nice, personal and clear.  A pleasure. Moving on to Warby Parker for new glasses.  It's been...

Side Effects

In a perfect world I could keep track of what my code touches and the effect my decisions have on others, but I can't. Just like playing chess, the human mind can only track so many steps down the different choice paths that at some point you just have choose a path and go and sometime you may never know. Choosing a new tools set for development is not unlike that.  An engineer may make their best guess, the it must be understood that it is just a guess that may be driven by 1) knowledge, 2) desire or 3 ) whatever.  There will always be side effects. A classic case of side effects is (as it turns out) from a chemical engineer from the middle 1900's.  He had the dubious distinction of solving 2 very complex problems that turned out to have extremely serious side effects decades later.   He solved the knocking of gasoline engines by introducing lead into the fuel and also of using freon as a refrigerant.  Great solutions with worse side effects.   ...

Mono-Culture -vs- Strength

There was the potato famine of Ireland, there was the Wintel consortium.  Both examples of mono-culture where the majority share holder of a segment (food and tech) is owned by a single player.  Sound good, easy to get used to, lots of benefits and, for a while stable.  Also very fragile and prone to sudden collapse. The Irish had it's potato blight.  The Wintel consortium has fought off virus and malware (see a pattern?) to a draw only to be quickly overtaken by a new evolutionary animal (mobile / tablets).  No external asteroid needed, it's just a mono-culture, it's going to happen. You see the same desire in the mobile OS market share today.  Android was all the market share, iOS fans want the market share for them, and Window, well Windows would like to be in the game. But the truth is that the complete market is stronger with a mix of OS's in the market.  Each with their own strength and weakness.  This a plus for everyone. ...

Stopping to Smell the Flowers

I've been busy doing things for a while.  It can seem that being busy and being productive are the same things.  But my definition of "productive" has changed of late.  Productive in what sense? I fight my mind for which direction I should be going, want to go or am going.  All do not lead to happiness.  As of late, programming / designing as not been my happiness trail.  I'm sure it will be later, but my needs now are on a different path. It being spring may be the motivator for this, but doing little jobs around the house, painting, performing fixes on my neglected car "rattles" and getting the garden ready has brought me pleasant rewards. Sometimes you just need a break from all the media in our lives.  The quick sound bites, images and headlines that never truly satisfy.  In no field is this more true than in the software field.  So much information, ideas and products that are just out of reach, for now.  Time and energy can...