Sunday, December 30, 2007

2008 predictions


  • The use of Java will continue to migrate to the edges of application space: use on cellphones and small devices and large scale server side system. Except for developer tools like Eclipse, NetBeans, and IntelliJ Java on the desktop will grow slowly (with a few exceptions like LimeWire)
  • The trend of using scripting languages like Ruby and Python for small and medium size systems will continue.
  • Most innovative software development will continue to be done as web based applications with browser and small device clients.
  • New web based applications will continue the upwards trend to outsourcing infrastructure to Amazon (EC2, S3, SimpleDB), Google (GData, applications), etc.
  • Pressure to reduce IT costs will drive most organizations even more towards open source.
  • There will be more progress in implementing the Semantic Web as more organizations adopt open standards for sharing structured data and start to see the value of opening up their own data to outside users.
  • The shift towards hi-tech development in Asia rather than in the USA and Europe will continue.
  • Low energy networks and computing devices will become more prevalent and important in the face of large scale energy shortages (long term trend).
  • Security will continue to be a problem as trojans/viruses enable organized crime to effect large scale theft.
  • Social network web applications will continue to evolve into open development platforms.
  • Microsoft will continue to have problems with Vista, Windows 2000 and XP use will continue strongly, and the company will have increasing difficulties reconciling the push for open standards with their "lock in" business models.
  • A "real AI" will not be developed in 2008 :-)

Social and Economic

  • Random web surfing will decrease as savvy users learn to more quickly find relevant information linked from RSS feeds that they trust. I believe that more people will realize how much time they spend, with small value to them, reading general sites like Slashdot, Digg, and Reddit. People will focus more on what helps them in their work and specific interests.
  • In the USA and other developed countries, the middle class will adjust to greatly shrinking disposable income by looking more towards inexpensive and lower energy use activities like social interactions with family and friends, exercise, reading, and watching TV (yuck!) and movies.
  • The growing middle classes in developing countries will spend their increasing disposable income on higher protein diets, consumer goods, cars, and travel.


  • Developed nations will continue the current trend of moving towards corporate controlled governments - this will continue to be made more possible by massive consolidation of news media by just a few very large corporations that can then strongly affect democratic elections and thus control elected officials.
  • In general, people in most countries will be more concerned with safety and their economies than with civil rights and freedom.
  • Long term trend: the USA and the UK will become less important as world powers as economic problems undercut their military ability. Russia will continue the trend of decreasing civil rights and freedom, but the population at large is unlikely to care in the face of improved economy and standard of living. Long term, China will have severe structural problems due to pollution; they will have some problems with energy and other resources, but their current plan of long term energy treaties will give them an advantage over other industrialized nations that need to import huge amounts of energy.
  • There is a long term trend towards meritocracies strongly favoring people with high value skills and/or large amounts of capital.

Friday, December 28, 2007

Very cool: backing up Google Office documents and outsourcing infrastructure

If you use Google Office Applications, check out gdatacopier. One of my only complaints about using Google Documents has been having to manually export and backup my online documents - now, problem solved.

Although there is some sensitive information that I would not store in Google Documents, for most information having it online and available is a deal maker for me - I also like being able to share specific documents for group writing.

There is a question whether storage and software services should be "outsourced". For most of my business and research interests, I would answer that question with a "yes". For me the issue is in reducing labor costs. By using leased managed servers, Amazon EC2/SimpleDB/S3, Google Data, DabbleDB, etc. does precisely this: it allows systems to be run and maintained much more inexpensively by outsourcing infrastructure.

One firm requirement for outsourcing infrastructure is a plan for recovering from the loss of an outsourced service. Such a plan must include periodic data backups under your own control as well as a strategy for duplicating services - not always easy to do.

Friday, December 14, 2007

Consulting and working at home: when does the work day end?

Slashdot has a discussion this morning on this topic, and it is very relevant to my lifestyle. Most of my customers, since they use me in a telecommuting mode, also use knowledge workers in Vietnam, India, Russia, South America, and Eastern Europe. Because of the timezone differences it can be very productive to do some work right before I go to bed and if, for example, I wake up very early in the morning.

I balance this "always on" mode by taking frequent long breaks during the day for hiking with friends, seeing movies with my wife, playing with my pet Meyers Parrot, turning off my computer and reading, cooking, working on, etc.

Besides taking these frequent long breaks, I have three tricks that I use to feel good about my "always on" mode:
  • Feel good about providing service: always equate the loss of personal time with feeling good about helping someone
  • Bill for all time spent, even small increments: if I am interrupted by the need to handle something ASAP then I also bill for time spent getting back into my previous task
  • Limit total work time: unless there is a drop-dead emergency, I limit the number of hours total that I work each day and week. I just started doing this in the last year, and it makes consulting even more fun
It all really comes down to having a good sense for balancing one's own personality and needs with working lifestyles. Some of my friends simply prefer working hard in an office and then having their evenings and weekends free.

Saturday, December 08, 2007

Hiding source code: so bad!

For my own research and development I have almost totally committed to Ruby (yes, I decided to ignore that little "poor run time performance" problem). For many years, one of the attractions of C++, Java (with byte code obfustication), compiled Common Lisp, etc. was that intellectual property could be protected.

If you write and distribute code in a scripting language like Ruby, clearly everyone gets the source code.

I am over this desire to hide source code. First, I think that in most cases (for me) using open source licenses makes the best business sense. Second, in cases where proprietary software does make sense, it seems to me that customers who buy products get shortchanged if they do not also receive source code for what they pay for.

I am updating to Rails 2.0.x

I am home from vacation (just drove in from San Diego, arriving in Sedona today - we have snow :-). After doing some quick tasks for my customers I turned straight away to updating my local development version of to Rails 2.0.x

I had to do a few simple things. First, I had to edit environment.rb, adding a definition for config.action_controller.session. Actually, Rails will warn you about this and tell you exactly how to do this. I also had to run two commands because Rails has been made more modular:
script/plugin install auto_complete
script/plugin install acts_as_list
I have been making my web apps (Rails, Java, and Common Lisp) more "RESTfull" in the last few years and the Rails 2.0.x REST focus was enough for me to decide to update sooner rather than later.

Thursday, December 06, 2007

Back online after my vacation

Carol and I, after a year of health problems, celebrated our return to good health with a 15 day cruise from San Diego to Hawaii and back (pictures).

Vacations are a funny thing for me: usually I love my work, research, and studies but after a vacation it always takes me a week or two to enjoy normal life as usual. Oh well. I enjoy cruising a lot: great relaxation and I think less expensive than other forms of vacations where you constantly rack up separate transportation, lodging, and food costs. Some tricks for maximizing the enjoyment of a cruise: occasionally skip meals to avoid always feeling full, hang out at many different places aboard a ship to both experience different environments and meet more people, and when ashore look for opportunities to use public transportation to great sites to visit and just use packaged tours as needed. We had a great time and look forward to visits in Sedona from some of our new friends who we met on the cruise.