Tuesday, March 22, 2011

The Cloud, The Cloud

Redit was down for over 5 hours last week because of problems with EBS volumes on AWS. Netflix was down a few hours today: another AWS user but I don't know yet what the difficulties are. So Amazon has problems and the web is full of people complaining about occasional problems with Google's AppEngine cloud hosting service.

No one likes to not support users 24x7 and the users don't like interrupted service, but I think that these occasional outages are just growing pains as we move towards a new way to deploy applications that costs less money, requires fewer staff resources, and likely is more energy efficient.

I think that I have only had one customer in 3 years who did not at least partially deploy on Amazon's AWS. This is the future and we need to learn how to work around problems and take advantage of resource savings when we can.

Sunday, March 20, 2011

Node.js

I read this morning about a new beta book from O'Reilly Up and Running With Node. Before skimming through the beta book, I took a half hour to review the standard Node.js Manual & Documentation. The beta book is very nice (recommended!) and I especially enjoyed the discusion about using the Node REPL. I was lucky enough to have received a Heroku Node beta invitation last year but so far all I have done with Node is to build new versions every few months and play with the examples in the documentation. I think that this is worth the time, even though I have a very full consulting schedule, because Javascript is probably going to become popular for server side development as it already is for browser development. This will happen because of the efficiency of V8, the ability to share code between server and client side, and the inherent scalability of event, rather than multiple thread systems.

Wednesday, March 16, 2011

David Rumelhart passed away. RIP to a good guy.

Before David won a MacArthur Grant he was a professor at UCSD and co-wrote a few great books on artificial neural networks that really helped me a lot. My company also hired him as a consultant and he gave me advice when I implemented the 12 currently popular neural network learning and recall algorithms in the 1980s for our ANSim software product. It was a great experience sitting in his living room talking about NNs.

He was a nice guy and I am sure that he helped many people with his work.

MongoDB 1.8 released - and there is joy throughout the land

I have been running 1.7.5 on my laptop and just upgraded to 1.8 stable. While the normal way to run MongoDB (at least in my work) is to use read-only slaves for analytics, etc., I am still glad to see the single server robustness changes, including optional journaling. I also noticed that in the admin shell, showing databases provides database size estimates.

Another useful change is replica set authentication using identical key files that are placed on each server. You then let one server know about the others (as before). You can read about other improvements here.

Sunday, March 13, 2011

Nourish and manage your career, not your job

I have been working close to full time since the beginning of this year for two customers. This is unusual for me since I have usually capped my work week at 32 hours maximum over the last 25 years. I have been enjoying the work and extra earnings but I believe that working too many hours carries a real cost and some risks:

It is far more important to manage our own careers than any particular job. You don't own your job but you do own your career. Just as you maintain your home and your car, careers require fairly much constant maintenance, including:
  • Life long learning of new technical skills.
  • Developing skills that enable people you deal with to also be successful: strive for win-win outcomes.
  • Networking that supports finding work, getting second opinions on important decisions, and leads on new interesting and useful technologies.
  • Time for self analysis: what has worked for you in your career (and life!), possible improvements, and understanding situations and attitudes to avoid in the future.

Individual jobs, including consulting gigs, are just tools for improving a career. While we owe employers our best effort, honesty, and transparency (e.g., share bad news earlier rather than later), we also owe it to ourselves to nourish and care for our own careers.