Great tools enable programmers to build great stuff. I think every programmer should invest at least some time into his toolbox. Read on if you’re interesting in what I use. This post is about my linux setup, there will be another post about my windows environment.
Two Monitors, 23" each with a resolution of 2048x1152. Got them for over two years and I am perfectly happy with them.
Corsair Graphite Series 600T Mid-Tower Case (I had to replace the included fans as they’re pretty loud, otherwise nice case, but too expensive).
Be quiet! straight power silent and efficient. If you care about your power usage, make sure to get one with less watts. A 700W power supply performs very poorly in terms of efficiency when only 80W are required.
Intel DQ67SW Mainboard I wanted a board with dual DVI so that I can plug-in my two monitors without having to buy an additional graphics card. As I don’t play computer games (anymore) integrated graphics is more than enough. This was about the only Mainboard I could find that offered dual DVI. And I am quite happy with it so far.
Intel Core i5 2400 - I would probably have gotten an AMD (more bang for the bucks) if I wasn’t constrained to Intel because of the Mainboard. Anyway, the i5 isn’t too bad.
Corsair Something 4x 4GB - You can never have enough RAM for Firefox.
Corsair Force Series 3 - 60GB - The previous version, not the one linked. Just as system disk. My data reside on a btrfs data/metadata raid 1 on two regular 500GB HDDs. Make sure to do regular backups if you try out btrfs, it is still experimental and there is NO working fsck/file system repair tool available yet.
If you haven’t got a SSD yet, go ahead and buy one NOW. There is no other way to improve your system performance as easily as by upgrading to a SSD.
Mousetrapper - Everything that has the word Ergonomic in it’s description seems to be twice as expensive as it should be. I ordered a test device because of an article in a ct’ which made me curios and didn’t send it back because: 1. Liked it pretty much and 2. Was too lazy to do so. But if you have more than 2 monitors I wouldn’t recommend it, as the left/right scrolling isn’t endless. I use a tiling window manager and vi-mode everywhere available so I have my fingers at the keys almost all the time (more on that in the software part). So using a touch pad is actually really comfortable.
So much for the hardware, now let’s move on to the (probably) more interesting part.
Basic System ¶
- Archlinux - been using it for years and never looked back.
- I3wm - a tiling window manager. I had been using wmii for a long time and switched only recently. I3 handles multi monitors in a way that suits me better.
If you haven’t tried a tiling window manager yet, you really should. And do so for at least 2 or 3 days before you give up. Before you try one, make sure to read its documentation (or have another computer that you can still operate, otherwise despair awaits you). If wmii/i3 doesn’t fit your needs, you might like scrotwm or dwm. They behave a bit different.
- Zsh - I abandoned bash a few years ago in favor of the superior completion-features of zsh. As this was some time ago things might have improved with bash. I have been using zsh with the configuration files from grml. But currently I am trying oh-my-zsh.
- Rxvt-unicode - terminal emulator (in client/server mode with urxvtd and urxvtc)
- Mv, cp, ls, sed, grep, etc.
Diagnostic System Tools ¶
- Htop - simple yet efficient task manager / process viewer.
- Iostat / iotop - to display current I/O activity.
- Netstat / iftop - to display network activity
- Dstat is also nice to get a overview of all cpu, i/o and network.
- Ncdu - if you want to know which directories are eating up your precious disk space.
- Mtr - a better traceroute
Everyday Needs (the hot stuff) ¶
- Ranger - a curses based file manager with vi key binding.
- Ipython - my swiss army knife: calculator, shell, programming language
- Ssh sshfs scp screen - openssh is insanely powerful. I can only recommend to investigate into its features.
- Aria2c - to download files and torrents. More powerful than curl or wget as it can open multiple server connections.
Everyday Needs (the obvious and boring stuff) ¶
- Firefox with Pentadactyl - If you like vi, you will love pentadactyl. What I like in particular is that you can hit Ctrl + i in any textarea and get a gvim window in which you can edit the text.
- Claws-mail - Basic email client, though recently I have been using mostly roundcube (webmail).
- Mplayer - Who doesn’t like to watch movies?
- Kaffeine - Or television. (I am trying out me-tv-server/client right now)
- Projectx mplex avidemux handbrake - For when I want to encode recordings from kaffeine.
- Sxiv - image viewer
- Pmount pumount - I mostly use the shell for file management and don’t like those automount daemons. So pmount comes in handy.
- Evince - simple pdf reader.
- Gajim - my jabber client of choice.
- Rdesktop - rdp client.
Running in the background ¶
- Redshift - changes the monitor color temperature, so that it gets reddish in the evening.
- Mpd mpc sonata - good music to keep me in a good mood.
- Lirc irexec - to control mplayer and mpc with my ir-remote control. Unfortunately the kernel module for my TechnoTrend IR dongle is in staging and a bit unstable.
- Workrave - reminds me to take regular breaks.
- Fancontrol - keeps my computer silent. Although I think it is still too noisy.
Every other day needs (the cool stuff) ¶
- Vidir - If you ever wanted to rename a bunch of files.
- Shutter - a powerful screenshot tool
- Kvm / qemu / libvirt - to run my virtual machines.
- Vimdot - to draw simple graphs
- Shotwell - to manage photos.
- Snes9x-gtk - the gamepads for my real snes are broken. Sometimes playing Bomberman or Donkey Kong is exactly the right thing to do.
- Calibre - to manage my ebooks
- Gimp - more than enough for my basic image manipulation requirements.
I guess that’s it. If you know something that I should use and therefore be on this list, go ahead and leave me a note.