The best things in life are truly free.
This site is built on a number of free and open technologies that many
people have spent thousands of hours developing. If I had to write every
piece of it myself, it would have taken me years. I'd like to
acknowledge the various toolkits and technologies that I've used. The
only thing that this site has cost me to build is some sweat and quite a
few hours of my spare time. Not one single component is commercial. And
best of all, this entire site is written in Java and is 100% Microsoft
free. Our household is proudly 100% Microsoft free as well, and all the
code was developed using free and open source tools. Live free or die!
|I'd also like to take the opportunity to thank
Mark McLaren. I had a technical question regarding the RSS toolkit
ROME, and sent it out to the mailing list. He came back with a really
good answer, and he also offered a very slick alternative solution
using XSL stylesheets. Not only did he suggest a solution, he emailed
me the actual stylesheet. With his stylesheet, I was able to implement
the event calendar in about 10 lines of
code! What a guy! What's cool about the calendar is that it's actually
pulling the data from an RSS feed served by The Mercury News events
calendar, and then applying an XSL stylesheet to extract the various
fields of interest. Here's Mark's blog.
||I've been a Unix user since 1984 and a Linux addict since
1996. Why settle for anything less?
||Spring is a great framework for writing powerful Java
applications. The web layer for this site is built with Spring MVC.
||The extremely popular open source IDE. Everything on this site was
coded with Eclipse. There may be something better out there, but I find
Eclipse to be a fantastic development environment and the price tag is just
right – free!
||The Gimp is an incredibly powerful free image manipulation software
package that is fully comparable with commercial alternatives that
cost thousands of dollars. All the graphics that you see on this site
were produced with the Gimp.
||Tomcat is the web server that powers this site. It's a great
server and very robust and well designed. And in combination with
other toolkits like Spring, it's better than most commercial
application/enterprise servers out there.
||ROME is the swiss army knife of the RSS/Atom feed world. It's
very powerful and pretty easy to use. It handles all RSS stuff on this
||Almost every web project needs a database. MySQL is the industry
standard for the open source world. Very reliable, performs great,
very well supported, and there's a wealth of information available
online if you run into problems with anything. Oh, and it's
Swedish too ;-)
||Every web site worth its salt today has to have a blog. There
are lots of free/open source sites out there, but I wanted to control
my own site and I refuse to pay for the "free" blog sites by giving up
my privacy to data miners (can you say MySpace, Google, Yahoo, or Blogger?).
So I found roller and I'm very happy with it. And it's written
entirely in Java, which is right up my alley.
||It's hard to come across any Java project that
doesn't use any of the many Jakarta projects. Basically all of
the Java toolkits and libraries mentioned on this page use it in one
way or another. It's the anonymous stuff running in the
background, but without it, it would be a lot harder to be a productive
Java programmer in today's competitive world!
||Almost every web project needs a database persistence layer. I've
spent countless hours fighting the braindead Hibernate and JDO ORM solutions.
You have to have a PhD in XML configuration, the patience of an angel,
intuition like a mind reader and be able to decipher meaningless error messages
hidden in enormous stacktraces to get either of these to work. Then I tried
iBATIS SQL Maps and what a great relief it was! Although not a full-fledged
ORM solution like Hibernate, it's a very hip project that enables you to
write really clean and transparent code for database persistence of Java objects.
iBatis certainly gets my vote!
||One of the sickest things in today's software industry is
patents. Someone can patent a compression algorithm, or a web site
design, etc. and prevent others from using the same technology. It's a
desease that's spreading. Companies today have to acquire patents to
have a "war chest" in case of law suits. Just do away with it please.
||If you're interested in my thoughts about Micro$oft, please
read my rant.