We need a Hackystat developer config script

I recently setup my machine to run Ubuntu Gutsy, so that means that I have to install all of the apps and redo my Hackystat configuration. I decided to put off reconfiguring Hackystat until I really needed to since it's takes awhile. Tonight I wanted to run the latest Sensorbase so I needed to setup my environmental variables. Here are the libraries I had to manually download and setup to create Sensorbase binary. *deep breath*

  1. Junit 4.4
  2. Pmd 4.1
  3. Restlet
  4. Derby
  5. Findbugs 1.3.2
  6. Javamail
Followed by creating the following environmental variables:
  1. JUNIT_HOME=/home/austen/sideProjects/external_libs/junit-4.4
  2. PMD_HOME=/home/austen/sideProjects/external_libs/pmd-4.1
  3. RESTLET_HOME=/home/austen/sideProjects/external_libs/restlet-1.0.
  4. DERBY_HOME=/home/austen/sideProjects/external_libs/db-derby-10.3.2.1-bin
  5. FINDBUGS_HOME=/home/austen/sideProjects/external_libs/findbugs-1.3.2
  6. JAVAMAIL_HOME=/home/austen/sideProjects/external_libs/javamail-1.4.1

Then I found out that I need to build the Hackystat Utilities module before I could create the Sensorbase binary. More downloading...
  1. Apache Jcs 1.3
  2. Apache Common Logging 1.1
And more configuration...
  1. APACHE_JCS_HOME=/home/austen/sideProjects/external_libs/jcs-1.3
  2. APACHE_COMMONS_LOGGING_HOME=/home/austen/sideProjects/external_libs/commons-logging-1.1
  3. HACKYSTAT_UTILITIES_HOME=/home/austen/sideProjects/hackystat/hackystat-utilities

Phew. That was quite a bit of setup just to build one jar file.

Another thing that bugs me was I downloaded the wrong version of Apache Commons Logging. I downloaded the latest release, which happened to be v1.1.1 instead of v1.1. Since I have done the setup before I automatically knew what was wrong, but new developers might not get it right away. I'm thinking that the error messages should specify what jar file the build wants.

What we need is to have a little shell script that goes out and grabs the current files, extracts them to the specified location, and sets your environmental variables up. So all those steps turns into two.
  1. Write the appropriate install folder location.
  2. Invoke the script from the shell of your choice.
Any takers?

Back to Ubuntu

Ubuntu. Dual Monitor Display. Happiness.

I'm sitting here writing this blog anxiously waiting for my laptop to finish defragging so I can shrink my windows partition with gParted. I tried to partition it early without defragging, but I got an error so I'm sitting here doing nothing while its takes >2 hours to complete.

I used to run an earlier Ubuntu distro on my desktop (Breezy I believe) and it was an awesome. Hacking on linux is absolutely one step towards being productive and getting things done. Linux sometimes pisses me off since some of my hardware doesn't work, but every new release of Ubuntu fixes something that wasn't compatible. I remember the days when the only solution to get my wireless adapter to work was to write my own drivers. Hacking + Linux is great. Here is why I think you should switch.

  • Fast file system. ext3 > NTFS. This is an absolute must-have when compiling. I remember way back in Hackystat 6 and 7 where compiling on linux would be up to 5 minutes faster than windows.

  • Multiple desktop support. Let's face it. Windows has crappy multiple desktop support. I tried Microsoft Power Tools, a free app that let's you have multiple desktops. Crap. Slow. Not configurable. Aaron informs me that he has had multiple desktop support with his other computer. Sadly it was tied to his ATI video card. No dice.

    As a hacker you need lots of screen real-estate. So much that you would need gigantic monitors to fit everything you want. Multiple desktops let you have Eclipse open, multiple consoles, a text editor, browsers, instant messengers, twitter, your mail client, downloads, all open at the same time. You set up your environment so you know exactly what desktop screen the app you lives on. You move fast. You have to or else the IM blinking won't stop.

  • A useful shell. To make you hacking life easier, you need to be able to grep the output of your app, pipe some information to a file, or just be able to copy and paste without using the stupid "mark" option in the Windows shell.

Linux is awesome. When it works. Some people complain about their hardware not working or just not having the same amount of software choices. I feel their pain. Linux is not for the weak. It grinds you until you want to just give up. Then you find this post about someone who wrote a script that fixes some obscure file that was causing your install script to fail. Hooray. Some people don't want to deal with that. I had enormous amounts of trouble setting up dual monitors in previous releases. That and my special Kensington Expert Mouse doesn't work. I too sometimes that Linux would just work.

If you know how much of a pain setting up dual monitors was, you'll be happy to know that setting it up with Gutsy is supposedly easier. No more xorg.conf hacking. So I have heard. 54% completed. Compacting files. 46% more until I can leave you windows.

So long and thanks for all the fish.