More to Come Soon
Hi all. I haven't been writing recently but the logs show that in my absence some of the better articles have received a fairly large number of hits. I hope people have found them useful. In light of the traffic I've decided to keep the site going indefinitely. So please feel free to link to what you want. However I'm not sure when there will be new articles.
From OSX to Linux
My iBook went kaputBook this week which prompted me to take a new look at Linux after using OSX for two years. After all I had some old PC hardware around, but didn't have any extra macs.
I've had mixed feelings on OSX while I was using it. I didn't give it much thought until I was reading Linus Torvald's autobiography a few weeks ago. BTW: great book! There was a whole chapter on Jobs, Apple and OSX. Believe it or not, Linus was offered a job at Apple by Jobs himself. (Cut the head of the snake?) Linux spoke about 'paying for a downgrade' with Apple's half closed and half open OS.
Drupal CMS
Welcome to the new site. I ditched Wordpress for the more powerful Drupal content management software. While I'm sure Wordpress is fine for 99% of bloggers it has a nasty way of mangling technical documents. While being more of a pain to install Drupal has a great system for uploading content they call filters. In addition it has more flexible permalinks and catagories and has built in site statistics. So for programmers I strongly recommend Drupal over Wordpress. There are Drupal web hosts that can save you the trouble of installing it.
Mixed Groovy Java Compilation With Ant
Update: Mixed compilation is already enabled in the development branch of groovy!
Special note: The method described here works right now (September 2007). But the situtation will be changing soon. Groovy 1.1 should have a compiler that can automatically resolves all problems with mixed compilation. And it may have new ant tasks.
Plugable Groovy Maps and Lists
Idiomatic code for many languages with native lists and maps is full of them-- and the code is clearer for it. In most languages there are many uses for them but there is only one general purpose implementation. Performance and flexibility are both fixed. Groovy is different! You can use that great list and map syntax and API with any implementation.
Swing Actions With Groovy Closures
Groovy doesn't have anonymous or inner classes. The feeling is that if your really understood the features Groovy does have you wouldn't want to write them anyway-- so they are left out. Fair enough. But how do you write toward a Java API that assumes you do have inner classes? Wouldn't it be great if Swing would accept closures instead of those ugly anonymous classes? Well (surprise) we can substitute closures for inner class in a very straight forward and easy manner.