Sunday, July 29, 2007

"Getting Stuff Done" GMail FireFox plugin

The GTDInbox FireFox plugin is very cool!

I use GMail, Google Calendar, and Google Documents in my work flow, but one thing that I was missing was a good way to schedule fine grain work tasks as active actions, as something to look at in the future, completed actions, etc. Basically, a light weight Getting Things Done(tm) system.

I have just started to use GTDInbox to set up work tasks and track them. Tracked tasks show up as short text only GMails sent to yourself and as you would expect you can search on them, list in order, etc. I like GTDInbox because it basically stays out of my way until I need it, and if I have GMail open I can review tasks quickly. I like organizational tools that don't themselves take up a lot of my time.

This is a good writeup on using Emacs to organize work flow - good advice and information but I now only use Emacs for a few ours a day (just Common Lisp development, with some Ruby). In the late 1980s and 1990s I "lived" in Emacs all day long. Now, there are other specialized tools like IntelliJ, TextMate, and TexShop that work better for for me.

Wednesday, July 25, 2007

Adoption of GPL v3: looking good

I was glad to see that the SugarCRM is adopting the GPL v3. Probable non-adoption of GPL v3 by the Linux kernel is an unfortunate side effect of the large number of contributors to the kernel. However, since so many of the software projects that make Linux useful will adopt GPL v3, I believe that GPL v3 will eventually be the most widely adopted OS license. Apache, MIT, and BSD licenses also have their place, but I (personally) believe that the future of software is a commons, where everyone (but proprietary software vendors) wins big by building on a GPLed infrastructure.

Friday, July 13, 2007

The shoe-maker's family has no shoes?

One trouble with being a consultant is getting time and energy for your own projects.

My wife and I spent a busy week or so a couple of years ago building a healthy cooking web portal. Since then, with just a few changes, the site has been running on auto-pilot. I wrote the original implementation in Java+JSPs, and now my wife and I are talking about investing more time into what is for us a fun hobby (we are both extremely good cooks).

I need to decide how to proceed: I have worked through several Seaside tutorials in the last few years (good stuff), and I have done several Ruby on Rails web applications for consulting customers in the last 18 months, so I had seriously considered moving off of the Java platform. In the end, assuming that I have time for a version 2 of our recipes web portal, I will probably stick with Java. I would like to upgrade to using Struts 2 and Hibernate with Lucene search. I have, just for fun, been improving my Javascript skills, so version 2 will be AJAX enabled.

Anyway, Carol and I have been talking enough about the recipes web portal that I think that we will start work on it again. We only have a few hundred registered users, but we get a fair number of visitors who do not create a free login, and an average of about 5 page views per site visit, so people hang around. I originally used the USDA nutrition database to estimate nutrition data for recipes - I took that off because the data seemed inaccurate (USDA often sites multiple studies that vary a lot!) However, enough people have asked for nutritional information that I will probably add it back in with a warning to accept nutrient data per recipe as estimated information. One thing that I implemented in the original site that people seldom use is a free custom database of "food ingredients on hand" - with a nice option to only show search results for recipes that you have the ingredients for. A good lesson here: sometimes users will ignore features that developers think are great! I might remove that entire module of code and web UI stuff - if users don't use something, toss it out.

Thursday, July 12, 2007

Squeak Smalltalk 'goodness'

I sometimes tell my tech-friends that if I did not have to earn a living, then I might spend all my time in Squeak. I would use Smalltalk more, but requests for consulting work always come for Java, Lisp, and Ruby. Torsten talks about some great new UI tools that will be donated back to the open source Squeak community. Squeak is a very fine platform, and projects like Seaside and Open Croquet will not be the last high visibility projects we see built on Squeak.

Saturday, July 07, 2007

REST rules

I am a software architect who also writes a lot of code. I very much like using different programming languages for different system modules based on language features and available libraries. In other words, I have moved past trying to write everything in C++ or Java.

For my current project, I need to do a lot of development in both Ruby (small utilities, database, text utilities, Rails) and back end Common Lisp AI processes. After decades of building custom socket interfaces, CORBA, SOAP, JMS, etc. the simplicity of REST is just right for most of what I need to do that consists of stateless service requests. REST services can return plain text, JSON, XML, etc., depending on what makes sense for any given service.

Implementing Ruby REST clients is simple (what isn't in Ruby :-), and writing generic REST services in Lisp is simple enough using any of the common Lisp web servers (I use Portable AllegroServe, but any that you like will do).

Fiat currencies like the US dollar

I agree with this article almost 100%

I say I agree "almost 100%" because when a crash of the fiat dollar does occur, I don't believe that it will be as bad as this article suggests: too much is riding on making any crash "gentle" and drawn out. If the dollar lost 60% of its value in one year, that would be a catastrophe, but if the dollar loses 75% of its value slowly and steadily over 10 to 15 years, then I think that society will slowly adapt: lots of cutting back on expenses, sharing homes, eating a less expensive vegetarian diet, and generally cutting living expenses as much as possible. People are resilient and adaptable, and for things that really matter, most people will still lead a good life.

I believe that this article is correct: our government and big business are doing everything that they can to postpone the fiat dollar collapse (invaded Iraq and currently threatening Iran, Venezuela, and even Russia with our threat of a missile shield around their borders). My personal opinion is that our elite class should let the crash start to happen in a slow, steady, controlled way -- and perhaps that is what is exactly happening right now with diminishing purchasing power of the dollar for food, housing, education and transportation (thankfully offset somewhat by cheaper imported goods).