Undergraduate Capstone Open Source Projects

My Tools of the Trade

Posted by jerboaa on 2009/10/22

Here’s a list of tools I cast essential for carrying out my day-to-day business or I find otherwise useful.

Hardware (in no particular order)

  • My primary workstation is a HP Pavillion Slimline, a pretty much standard, off-the-shelf PC on which I installed Ubuntu Linux. The hardware works reasonable well under Linux, but at some point I wish hardware vendors would just offer some models which work seamlessly with any major OS. Anyhow, the desktop has 3 GB of RAM and 500 GB hard disk. Nothing really special, it does it’s job and is about a year old, now. It is complemented by a 21” Dell LCD monitor and the other usual peripherals. By the way, once you’ve used laptops for your daily work for so long that you don’t even realize how small your screen actually is, you will appreciate the decently sized monitor of your new desktop.
  • Other than my desktop computer, I use an Asus eeePC netbook when traveling or at my office at work or at university and sometimes my old Toshiba laptop I run Debian on. The netbook has very decent Linux compatible hardware. Mainly because it came with some Linux preinstalled – I guess is was some weird Xandros. That wasn’t quite it for my netbook – I found it very limiting – so I installed Ubuntu on it using the array.org custom kernel and the netbook remix software package. This works reasonable well for me.

Software (in no particular order)

  • Linux (and the various standard *NIX tools): I like open-source and I like to have the opportunity to debug my OS, so I’m using Linux (Debian and Ubuntu) for the most part. I found it frustrating at times when I was a Windows user and something stopped working from one day to the next. Although it was mostly me why things broke, I still had no reasonable way of undoing/fixing things. Well, at least not nearly as nicely as I can fix and analyze things on my Linux boxes. My mind wanders…
  • Gnome Terminal: Bash to be precise. I’m using Bash on a daily basis and I don’t want to live without it anymore. It just helps getting your work done.
  • Screen: A quite handy tool for multiplying your screen when working remotely on a machine via SSH.
  • Mozilla Firefox: The first thing I’m starting once logged on to my computer is a Web browser. No matter if I’m debugging some CSS or asynchronous HTTP request or if I’m just reading my favorite paper, Firefox is the tool of choice.
  • Firebug: Number 1 Web developer tool. I haven’t seen a better tool, yet.
  • Ad-block Plus: The online world is just not bearable without it.
  • It’s all text!: This one is also a quite handy add-on if you were to write text/code in HTML textareas a lot. By using It’s all text! you can load the content of any textarea into your favorite text editor (GVIM in my case), edit it and save it back into the appropriate textarea of the Web page.
  • Vmplayer and qemu: These tools are just nice for the occasional boot into a clean Linux sandbox or testing some IE stuff on Windows. I use qemu to create the bare vmdk disks and use vmplayer to play them. VirtualBox is also a nice alternative.
  • Eclipse (with RadRails, and other plugins): When doing some programming in Java, Python, Rails or C I use Eclipse for the most part augmented with quite a few VIM here and there.
  • VIM: For writing Latex, BASH scripts, code  or for any other use of plain text processing, VIM is my tool of choice.
  • XChat: My preferred X IRC client
  • Evolution: A quite reasonable choice for doing all my email work. I chose Evolution, since it has a calendar integrated, but I’m not sure if Mozilla Thunderbird with Google Calendar wouldn’t work quite as well.
  • Latex: Either for writing articles, assignments, theses. It’s simply a nice layout.
  • Inkscape: Sometimes when there some vector drawings to create (such as the MarkUs logo :-))
  • GIMP: For my very basic image manipulation needs.
  • OpenOffice.org: For the occasional word processing or spreadsheeting.

I think these are (most of) my all-time-favorite tools. What are you using? What do you find helpful?

Here are some links what other people wrote about this topic: Mike Gunderloy and 1, 2, 3, 4, 5, 6, 7, 8, 9, and counting…

5 Responses to “My Tools of the Trade”

  1. Nikita Pchelin said

    Written requirement! Now that was not on the syllabus, no fair! =( Kidding, actually very interesting to get to know what other people are using:


    4GB/3.0Hz/120Gb Desktop + 22″ Acer and 2GB/2.3Hz./120Gb laptop + 19″ Sharp external screen, both running Ubuntu 9.04. Desktop was bought in 2005, laptop in 2007, kinda old but still satisfy my needs, since I have XBOX for gaming. I love them both profoundly and they have names: sunblaze and squirrel. Now I understand why Greg recommended including “interest” section on the resume, I don’t want you to think I am a robot, I just like my machines a lot😛 I also have an old laptop machine, that used to run Debian, and now runs Ubuntu server edition (for printer sharing, repositories, apache, and experimenting). As you can see I❤ Linux a lot, so much that even my parents Desktop runs Linux, but they don't really know that.

    I use most of the things jerboaa mentioned, but here are differences/additions:

    * synergy/quicksynergy I use it as a software KVM switch so that I can control both laptop and desktop with one set of mouse/keyboard. It was a discovery of last year when I was forced to use two computers to test file transferring for a networking course – managing two keyboard was really frustrating. In general I like to have two monitors in front of me – one for research / info look up, the other one as a main workspace.

    * virtualbox rather than vmplayer, because it seems to run faster, and be less buggy (at least for me), also I never had HDD integrity problems with virtualbox, like I had with vmware

    * wine, actual suits most of the little needs when I don’t feel like running virtualbox, for example, you can get IE6 running on wine for web compatibility testing.

    * vim, or recently gedit (with a terminal pane, and a class-explorer pane) for coding. I did my CSC369 (Operating Systems) assignments in my second years in vim entirely because eclipse was so slow, buggy, and screwed up my svn repositories so many times, that I could not stand it anymore. If I need heavy IDE, I’d rather use NetBeans.

    * konversation (yes, I like some of the KDE applications!) and not xchat, again a matter of personal preference, but it has never died on me like xchat did🙂

    * thunderbird for email processing, I have several mailboxes (maybe too many!), since I like to keep important letters (all marked CSC494 :P) from livejournal newsletters, and it seemed to do it better than evolution

    * pidgin for instant messaging – love it, first client in my life that supports cyrillic encoding properly in ICQ, both ways (damn you, Miranda!).

    * openoffice – love it for it’s simplicity, hate it for not being compatible with MS Office. Also seriously hate people who send me .doc when they can do .pdf
    Also, one of my professors for a communication course has the most interesting requirements for document formating for the essays. It is indeed impossible to complete all of those in openoffice, have to use MS offise in the labs.

    * amarok – can you do any quality work without good music? Amarok is a little heavy (sometimes I use vlc instead), but it has shoutcast playlists integrated in it, so you have access to categorized playlists of internet radiostations all over the world. Something like Russian radiostation working from Germany, and playing English music. Canadian spirit, eh?

    * krusader – file manager (or mc when over ssh), one thing I miss from Windows is Total Commander – it was an amazing file manager, krusader partly compensates for that, and it knows how to connect to ssh, ftps, and things like that, pretty awesome

    * gtkpod – lovely substitution for that ugly beast called iTunes, unless you have iPod touch

    * firebug – yes, yes, yes! Also, two useful things I discovered over the years are TamperData plugin and curl for posting data to pages, helps in debugging🙂


  2. Kelvin Harry said

    MY Hardware

    •The computer I normally use is my notebook computer. This is my Acer Aspire 6920G. It has 3GB DDR2, and a 320GB HDD. It also comes with a unique 16” HD monitor, Blu-Ray, Bluetooth and 5.1 Virtual Surround sound speakers. Yes, it is definitely a multimedia PC. I sometimes use Linux, but I am so accustomed to using Windows, and have Vista Installed.

    My Software

    •Again, the Operating system I mostly use is the Windows Platform. I find it acceptable to do what I need to do. Some of the main drawbacks of using this is that you don’t have the option to attempt to fix problems that arise yourself, and of course the almost common, “X program has encountered a problem and needs to close”.
    •Internet Explorer!: Yes I like to use this to surf the internet, even though Firefox usually works much better and more respected.
    •Filezilla: Very useful for uploading and making directory changes to your website
    •Ad-Aware: Stop those Adware and Spyware files. I’ll also take a look at Ad-Block Plus that Servin uses
    •Programmers Notepad2: Really handy for editing codes from various languages
    •Eclipse: This package is very useful and customizable, whether you need to program in Python, PhP , or other languages, there is none better
    •Latex: Either for writing articles, assignments, theses. It’s simply a nice layout.
    • Xampp- This package is really nice because it comes preloaded with services such as apache, mysql, filezilla,mecury, and tomcat
    • SVN(Eclipse Add-in)-For repository updating.

    •Microsoft Office: For the wideness of its acceptability is the first reason I use it. I don’t know about the rest of ya’ll but as a student with many writing assignments, you can’t beat it with compatibility. Unless you forget to make your document compatible with another versoin of Office, then it sucks. : )

  3. John Peters said

    (And here I was thinking all the posts and comments this blog gets were spontaneous…)


    I use an off-the-shelf HP Pavilion. Seems to have Core 2 Duo processors at 2 GHz, with 2 GB of RAM. It’s got two 320 GB hard drives, but I doubt I use a quarter of that space (when I first set up dual booting, I didn’t feel like going through the mess of partitioning, so I just adding an extra hard drive). It came with a monitor which is… um… big enough?

    As you can tell, I really don’t care about my desktop’s specs. Computers to me are just big and rather ugly calculators. I’m no speed demon either – desktops passed the ‘fast enough’ point a while back. I suppose I’d care more if I spent more time on my Windows partition gaming – but then, my idea of good computer games are Alpha Centauri and Avernum, not exactly high-end games.

    The machine dual-boots Vista and Ubuntu. I started with Gutsy Gibbon and wasn’t too thrilled (poor wireless support, among other things), but I’m much happier with Jaunty Jackalope.


    I’m not very passionate about most of the tools I use, but here are a bunch anyway:
    – bash: Have never used anything else, aside from a little ksh.
    – emacs: My first TA used emacs, and I followed suit. I’ve never used vi (horrors!). But since I have a loose grasp on Lisp, as well as emacs’s bastardized dialect, I’d probably use emacs had I an informed choice.
    – OpenOffice: My preference remains with Microsoft Office 2000, actually. I find OpenOffice lacking in a few areas, and I’m lost with newer versions of Microsoft Office. But as I spend nearly all my time on my Ubuntu partition these days, OpenOffice it is.
    – Pidgin: Use this to manage my IRC account, along with an AIM account. Meh, does what it’s supposed to do.
    – Netbeans: It’s the IDE I use at work for Java development. I’m more comfortable with it than Eclipse, though I’m sure Eclipse offers the same features and extendability Netbeans does. Its Python support is still lacking in some areas, though it still gives me enough to use it over emacs.

    The only piece of Unix software I’d heartily recommend (aside from Firefox add-ons, which I’ll get to in a bit) is sshfs. Most of my schoolwork is done remoting into my school’s network, and even the slightest lag with ssh/PuTTY irks me. Mounting a remote filesystem onto your own only gives you much less lag. I could just do my work on my own box and just scp it to school, but then I get into a host of version control problems. More importantly, I’ll never get the backup support on my own machine I get from my school’s network.

    My browser of choice is Firefox, for the add-ons alone. I’ve never used Opera, Chrome, or Safari. Some add-ons I find essential:
    Right Click Link: Oddly enough, this is the first one to go in on a clean install. Links without anchor tags are that annoying.
    Ad Block Plus: We’re probably all in agreement here.
    IE Tab: My project at work needs to be validated in Internet Explorer. For final testing, I still run IE, but I while I’m working on it I sometimes prefer to keep everything in Firefox.
    Firefox Click Once: Again, at work I sometimes need to run ClickOnce applications, and this helps keep you sane.http://tortoisesvn.tigris.org/
    FireGestures: Thanks to this add-on, I’m now addicted to mouse gestures. It’s invaluable when you use workstations with old mice (no scrollwheel or middle button, no forward/backward buttons). Be forewarned, you’ll soon find yourself making these mouse gestures in every application.
    Canadian English Dictionary: Your mileage may vary.

    In my other life I develop software for a medical company. Windows is used there, so here are a few much needed Windows tools (the first two are Unix ports):
    PuTTY: A ssh port, with PGP support. Not much more needs to be said.
    UnixUtils: Because you can’t get by without stuff like grep or diff.
    Tortoise SVN: If you use Windows and SVN, this is a must. It’s a shell extension that decorates your icons in Windows Explorer, showing you what’s under version control, what’s modified, etc. All your common SVN tasks are a right-click away, and it makes viewing diffs and resolving conflicts oh so much easier. There’s an equivalent project for CVS.
    Programmer’s Notepad 2: The comment above mentioned this on, but it bears repeating. It’s a nice light editor for Windows. Its big strength is how easy it is to add syntax highlighting support for other languages. If only the developer documented this more… Still, easy enough to figure out.

  4. Eric Burnett said

    Ok, I’ll bite.

    * My main computer is a custom built beast. Currently running a hyperthreaded quad core (intel i7), 6gb DDR3 ram, 1+TB disk space, with 2 Samsung 24″ monitors and 5.1 speakers to round it off. Even with giant monitors, screen space is at a premium. With an IDE, text editor, internet browser, and collection of command windows, space goes fast. The computer has been continually upgraded since 2003, although none of the components are original anymore.
    * My laptop is an Alienware m5500, with a core 2 duo and 2 gb ram. It’s a good laptop for taking somewhere and leaving on a desk, but not so much for transporting all the time since its pretty heavy.
    * My chair is a Staples high back task chair. Recent purchase, and worth every penny. Considering how much time I spend on my computer, a good chair is a must. I can’t recommend getting a dedicated programmer chair enough.
    * I also have an ULTRA somethingorother UPS. A UPS for your computer is another purchase I’d recommend – mine saved me from a mini power outage just yesterday.

    * Windows 7 – I always like to use the best tool for the job, and while *nix comes with a lot of great tools, I find the discoverability, ease of use, look and feel, and software available on Windows make for a more productive environment.
    * Cygwin / UnixUtils – That said, there are a lot of tools I miss on Windows, with bash near the top of the list.
    * Visual Studio – VS is hands down the best IDE for just about any language it supports. For the rest of the languages, I generally fall back to Eclipse, or when I get fed up with it (which is to say, the majority of the time), Notepad++.
    * PyScripter – For working in Python. At least until VS supports it….
    * Notepad++ – For when you really need a text editor. It has a dedicated 1/4 of my screen space most of the time, which should give you a hint how much I use it. Plenty of features (including syntax highlighting), and for the few you just can’t find, it supports plugins and macros as well.
    * ClipX – A clipboard history tool. Ctrl-C/Ctrl-V works as normal, but if you need to go back in time, Ctrl-Shift-V pulls up the copy history, with full text search available. Another necessity – I haven’t yet found anything on any OS that comes close.
    * Firefox – ’nuff said.
    * Songbird – A replacement for iTunes, built on top of Firefox. iTunes has been going the direction of bloatware in recent versions, but I must admit, it has some features that I still miss (like deleting music from the hard drive!), and it never corrupted its media library.
    * Steam – Not quite a developer tool, but it makes purchasing and playing games dead simple and enjoyable. I have to hand it to Valve, they make amazing software.

  5. botlhale said

    Here’s a list of tools I cast essential for carrying out my day-to-day business or I find otherwise useful.


    • I am using my Laptop for all the work which is a 14” HP Pavilion dv2000 Entertainment PC, and I have Windows Vista Ultimate installed in it. I also have Ubuntu 9.0 installed in it, but I do not use it most of the time. The laptop has 2.1 GHz frequency, 2 GB of RAM and 160 GB hard disk. It works pretty much smoothly all the time except for times when it overheats which reminds me of how much my previous dell machine was great. It is about a year and a half old and it is pretty much light weight which makes it easy to carry around. It is complemented by a 23” S309W Full HD 1080 Dell LCD monitor when I am working at home, which makes being in front of a computer screen to be a blessing.
    • Due to the small laptop hard drive, I also have a 500 GB Seagate FreeAgent Go external hard drive which I use to offload lots of stuff from the laptop hard drive to keep the laptop hard drive less loaded. I find the external hard drive amazingly fast considering its capacity.
    • I carry with me a Sierra Wireless USB which comes in handy every time I loose a connection to the freely available wireless networks at school or some coffee shops or at airports which do not have free wireless internet


    • UltraMon: This is a pretty cool program which allows me to play around with my screens(laptop and External Monitor) allowing me to have different background pictures in each screen, which I find pretty cool. There is a free trial version for it online
    • Windows Vista Ultimate: I have enjoyed every minute of using it so far, with great graphics and it is really fast. My laptop came with Windows Vista Home Premium edition in it which was pretty slow. I have discussed with lots of people who criticize Vista but I have to say I haven’t found anything bad with it so far
    • VirtuaWin: This is a virtual desktop manager tool. Have you found yourself with so many windows open in one screen, I find this mostly distracting, hence, with VirtuaWin you have different Virtual screens in which you can distribute the different windows in. The way I normally do it, is such that I have a screen dedicated to each major task I’m doing, I might have a screen dedicated to my WikiDev Open Source project development, Checking Emails and News, Assignments and Other Tasks for another course, and this really keeps me focused on what I’m doing. It can be downloaded freely online too
    • Notepad++: It is definitely a great tool/editor for writing code in just about any programming language with great highlighting.
    • Netbeans IDE: It has made my programming experience in java which I use most of the time to be really enjoyable and fast with the aid that it has of what exceptions to throw. When using objects, it shows you all the different methods possible for that object, making life much easier by not having to go to the object physically to look at the methods. It is also great in drawing different UML diagrams and has several plugins that can be installed, one of my favourite being the code coverage plugin which can be installed and be used to determine how much (%) unit testing have fully tested the developed code.
    • Eclipse IDE: Similar functionality to Netbeans. I have dedicated eclipse to the WikiDev Open Source project only
    • MPPlayerPortable: An open source software that can be used to play videos. Most of the time comes to my rescue when Windows Media Player cannot play some videos and it requires some codecs to be installed first
    • Internet Explorer, Google Chrome, Firefox and Opera: I use all of these browsers but I spend most of the time using Google Chrome, I give it a higher Usability Testing mark I guess. Other than that, firefox has some pretty cool plugins too which can make life much easier, one I remember off my head is the one that allowed me to record the actions that I do repeatedly then I can just enter how many times I want to do them and click play.
    • Microsoft Office 2003: Well I think the old horse still got it, I use Office 2007 in school computers and really I haven’t seen a lot I’m missing by not having it
    • Google docs and Google groups: Google groups definitely make collaboration to be much easier with team members for different projects. On the other hand Google docs are great, they rescue me everytime I have saved and emailed myself an Office 2007 word document to open later at home where I use Office 2003 in my laptop. We all know the compatibility issues with Microsoft Office, (2003 cannot open office 2007 word documents OOB unless if I’m not aware there is an additional feature that can be added to do that). All you have to do is upload your office 2007 word doc into google docs, then copy and paste the text into office 2003 word and you got business going

    —— Botlhale Ntsimane —–

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: