Monday, August 31, 2009

The frugal programmer

In the current (2009) economic recession, many blogs about frugality have encountered their major success, aiding people to track and control their spending. A specific frugal approach for programmers and system administrators can help saving bucks, especially if you are exploring the freelancing world or bootstrapping a new business, and every dollar counts.

A side business can be an interesting adventure, and since many new business fail in the first years a little budget is the way to reduce risk to a fixed amount of money and time, playing with what you can afford to lose only. Since this strategy will result in a tight budget, here are some tips on how to manage your freelancer tools along with keeping an eye on how much you are spending.
  • upgrade boxes with crucial hardware. Instead of purchasing a brand new pc, in many cases a pair of new parts (Ram and disk space) can extend the box life of some years; of course a lighter OS will contribute to the revitalization.
  • recycle old machines. Lan servers do not have big requirements and a source control server can be built from nearly anything. I use a old laptop with broken lcd screen and automatic connection to the wireless lan as a http server for staging php applications without weighing down my development box.
  • recycle peripherals from previous machines. Many pieces of equipment have follow the same standard for decades and can be ported from an old machine to empower a new one. Printers and scanners are obviously regained but also keyboard, mouse and monitor can be attached to a new box as they have no performance penalties.
  • use Open Source Software. Ubuntu Linux is a very solid distribution and it contains many application for every kind of usage; I use only Ubuntu on my home pcs: Apache, Php, Mysql, Subversion are examples of what Open Source can do. The expertise that you learn using Open Source tools is also a good know-how that can be useful in your future jobs and projects.
  • buy consumables in bulk. Faster networks and flash cards are killing compact discs and other old media, but when they are still useful you should buy them in large packages (50, 100 pieces) as the total cost can go down to half of the original.
  • do not buy Apple. I think quality is why a Mac cost so much, but an Apple product comes with little upgrading capability, and with a stable but fixed Os where you have to use port of popular applications. I know Macs have nice curves and a good user experience but it does not help when you have to save money: for instance I mainly use command line and vim, where a Mac does not excel more than a old pc with Ubuntu Jaunty installed.
I hope these strategies can help you spend your money better. You should make investments in your tools by spending where you feel a return, such as a comfortable and well designed chair or a lcd monitor for preserving your eyes; only ensure you are not throwing money down the drain.


Trent Hamm said...

Macs don't require upgradeability. I'm using a five year old Mac - one of the first Intel Macs - and it runs the latest OS and every app I use just as good as it always has.

Giorgio said...

Thanks for the feedback. I'm worried by the feature upgradeability instead of the performance one: say you want to insert a different graphic card to manage two monitors or a surround sound card or an usb expansion...

jopema said...

macvim ( is a fantastic port of vim for the mac. I use it constantly and it combines the best of mac with the best of vim.

Giorgio said...

There is no problem on using vim on the mac; but since it can be used on cheap pc machines with Ubuntu, I prefer this solution. :)

Anonymous said...

Seriously - thank you for suggesting not to buy apple products. Their products is such an over-marketed crap.