Free Software

Probably 99% of the software I use on my computer (outside of work) is free or open source. Generally I enjoy the community spirit surrounding these programs and hope to see more free software to fill the gaps in the future.

Graphics Applications

  • GIMP (Graphics Image Manipulation Toolkip) : If you need to do some raster graphics, making icons, photo manipulation etc. this is the tool for the job. It is very powerful, argubly as powerful as PhotoShop, but many people dislike the dialog based user interface. I have never used photoshop, but I can say that I really like the UI for GIMP, its simple and intuitive.
  • Inkscape : If you need to do vector graphics. Take the time to learn how to use this program (it won't take long).
  • Blender : For 3D graphics, Blender is the tool of choice (the free tool atleast). There is a huge community of Blender artists and many many online tutorials. This will help you decypher the futuristic scary looking GUI.

Linux

  • Ubuntu : I installed this on my laptop and got my wireless card, widescreen, soundcard and pretty much everything else working first time. There is a really nice package management system that allows you to search for new software over the Internet and install it with just a few clicks. Its Linux without all the headaches.
  • Slackware : For my desktop I use Slackware because I want something stable and as Unix like as possible. Also, its something Im used to using and has helped me become familiar with Linux. If you are comfortable with installing and using Linux/Unix, I can recommend trying it. You just have to put up with people thinking that you are old fashioned :-)
  • Gentoo : I haven't had the guts (or the time) to try this out yet. You build your entire system from scratch yourself. There is a manual you can follow to do this, and it would certainly be a learning experience.

Software Development

  • wxWidgets : Formerly known as wxWindows, this library is a standard GUI toolkit that allows you to compile your apps to use native components (so its nice and fast) and still be portable over a number of platforms. Obviously you still need to compile your code to the new platform, but with minimal or no modification you can port your Linux application to the Mac or to Windows. There is good documentation, the APIs are so easy to use it feels like Java and (I'm going to say it again) its fast. Some people have complained that its very buggy, but there is a good community surrounding this project and its probably the best thing out there for writing portable apps that use the native system components.
  • Sqlite : This is fully functional SQL compliant database that can be included inside your project as a library. Database creation is very simple and it is very quick under most use cases. Best of all it requires no configuration what so ever.
  • Vim : The best text editor in the world.

Entertainment

  • FreeCiv : A world conquest game similar to Sid Meier's Civilization. The game plays a little bit different and there are different rules, but the general principles are the same. The graphics have really improved since the FreeLand tileset were added.
  • XMoto : A remake of an old DOS game I think. The graphics don't look great in the screenshots, but they are all done with vectors and there is a nice physics system that makes it move very nicely. Handling the bike is actually very difficult and crossing rocky terrain is often a fine balancing act.