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 site.
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.

Web design and backend Java programming by Henrik Martin