Audio Books 2.0

I tried to use audio books as a way to “read” more about a year ago. It went well for a short time and I was able to get a few long-awaited books under my belt including “The God Delusion” by Richard Dawkins. But, alas, listening at home proved too much to continue. Sitting by the computer was too much of a distraction, and, inevitably, I slowly incorporated browsing a few websites in with my book-listening routine. Gradually, the websites I allowed myself browse grew more engaging. And all was lost.

Fast forward to a few weeks ago. For the past few months I’ve had a longer commute to work – ~40 minutes instead of ~40 seconds. At first this was a stressful transition. But I’ve become accustomed to the traffic patterns between “A” and “B” and found the best times to set out from either “point”. As such, I’m now presented with over an hour, during every weekday, of relaxing, practically empty time – with NO computer!

To fill this void, which for a month or two was occupied by NPR (NPR is great, but with giant, world-visible stories like the gulf oil spill, it’s hard to stay engaged day after day after day…), I turned back to audio books. A quick stop at Border’s for some CDs and I was on my way with “Always Looking Up” by Michael J. Fox. I flew through it and started right on “The World is Flat” by Thomas Friedman. I’m cruising through this right now and I’m hopeful for the future.

Just perusing audio books at Borders got me excited to listen to several more, including:
– The Silmarillion
– Atlas Shrugged
– Lincoln biography
– Einstein biography
– 1984

Dansposé 1.1 Installer Update

After a number of failed installations with Visual Studio’s built-in setup engine, I’ve taken a friend‘s advice and tried out the script-based, open-source software InnoSetup. It’s an easy-to-use program that let me quickly select all the options I wanted for the installer and spit out a setup executable that hasn’t had any of the old problems. InnoSetup also made it much simpler (checkbox option) to implement the “run-on-install” feature that I had to code by hand under VS’s setup engine.

You can get the slick new InnoSetup installer for Dansposé 1.1 right here.

Dansposé 1.1 Released

Dansposé version 1.1 is available for download from google code. This release includes a significant performance cleanup as well as a fix for the last major outstanding bug (minimized windows not animating correctly after being selected). Despite the small amount of time that the development took, this release has been in the works for the better part of a week. Since work has been extremely busy lately, I have had a hard time finding the motivation to come home and get this wrapped up.

Now that this release is done (which was important since I have been using Dansposé more and more), it is time to re-focus my attention to Firestorm and the tower-defense game that is in the early stages of development. Before development was halted due to motivation-drain from work, a key component of the engine and the associated interactive editor were completed, namely the file format used for Firestorm objects (which is now a zip-compressed set of files and an XML “manifest” to make sense of them).

Dansposé Rebranding, Google Code, and Other Thoughts

Dansposé Rebranding: After a fairly violent outcry from the Forefront community, the Forefront development team has decided to enact a rebranding initiative to move to the wildly popular application name “Dansposé”. To the community we proclaim “You have been heard!”.

Google Code: In other news, I have, at Alex‘s advice, begun to use “Google Code” to manage some of my software projects. Setup of projects was much more painless than I anticipated, and within minutes I was done with my first two, and had already used the Subversion hosting to checkout and commit from/to the code repositories. For anyone interested, my Google Code profile is at

Other Thoughts: More and more I find that I am migrating away from some of my firmly held beliefs about how I interact with my computers and information. As recently as a year ago, I would have considered my desktop computer tower my most important possession (as it contained the entirety of my meaningful “life’s work”). However, since beginning to use an external harddrive, I find that separating my information from the actual computing hardware is a very effective way to work; now I consider the external harddrive my most important possession and almost no important information resides (solely) within my desktop tower. Even more surprising to me is my eagerness to move my software projects to an entirely external storage such as Google Code. In some ways it troubles me that my very important information is entirely controlled by a third party (for data integrity and availability reasons, not privacy), but in this case the convenience of free hosting and universal access is irresistable. As a developer and poweruser who has always been attached to (and a strenuous advocate of) the traditional desktop computing environment, it is interesting to see how the emergence of various technologies and methodologies has influenced me. Before all is said and done it looks like Josh will have hit the nail right on the head in our arguments on the topic.

Release of Forefront

I’ve finished working on the first release of Forefront, my Windows Vista application switcher. I’ve been actively using Forefront for my frequent application switching and I find it quite powerful and easy to use. I hope to release Forefront as my first Sourceforge-hosted open-source project and will be investigating the steps necessary to do so in the next few days.

Refactorization 2.0

After a few weeks of long days, CDIS refactorization is nearing completion. That is, the website portion at least; in order to best serve the most used portion of the project I have pushed the PDA code to the side since it is much smaller and will (hopefully) be quick to complete using the new CDIS class library that the new website employs.

Visual Studio has been a great aid as well as a worthy adversary throughout this process. Apparently a source file can only be used for a single operation after it has been ???prepared for refactoring??? before it must again be ???prepared for refactoring???, which has led me to stare at this little dialog box quite a lot:


I am happy with how things are turning out. Refactoring is certainly not a high-profile job; after all how can anyone praise you for working long hours to get back to where you started. But the site has gotten a significant cosmetic makeover, both in terms of the code and the user interface, and future modifications ???should??? be much easier than before. The process has also been a great learning experience, forcing me to learn a lot about web development including HTML, JavaScript, and ASP.NET. Yesterday, I realized that the logo could use a little work since I made the current one using MS Paint and Firestorm for transparency operations, so the pretty new one is now on the CDIS page.

Unfortunately my hard work comes at a price: I already have and will continue to tussle with Miami???s payroll department. Apparently there are a number of rules that I was unaware of and have ruthlessly broken. The first being a maximum of 12 hours in one day, which may seem reasonable except when I am on a coding binge as I have been for the last couple of weeks. The second rule is a maximum of a 40-hour work week; 2 weeks ago I did over 44 (I got an email notifying me of this rule today) and last week I did about 70 . . . nice.

The Devastators Finish 3rd

Nick, Greg, and me, the day after

On Saturday I participated in a DINO (Do INdiana Offroad) Mission Adventure race. The main idea of the competition is to navigate to as many “checkpoints” as possible in 18 hours (6am-midnight). Participants are given only a map of the area and a list of UTM (Universal Transverse Mercator) coordinates, which consist of two 6-digit numbers, corresponding to map locations. There were several divisions for the competition including male solo, female solo, 2 man, 2 co-ed, 3 man, and 3 co-ed. I was in the 3-man division with the two other Devastators: Nick Alexander and Greg Ernest, both friends from Rose-Hulman.

Our (approximate) path around the map

We arrived at the camp site on Friday afternoon giving us time to set up camp and figure out how the competition would work, as well as getting a simple crash course in proper rope safety and techniques for possible climbing segments of the competition. The other participants drizzled in slowly throughout the day and were altogether a very pleasant group of people who were excited to participate and friendly to talk to. To our knowledge we were the only team with no previous Adventure-race experience, a fact which prompted several past participants to mention that an 18-hour race is rather long for the first time (although we talked to one man who had done a 24-hour in 5 degree weather for his first).

The first segment of the race consisted of 7 checkpoints, was primarily concerned with orienteering on foot since bikes were prohibited, and took us 6.5 hours to complete and return to camp. This segment was spent almost exclusively in thickly wooded areas with some very intense vegetation that practically shredded our legs off (a bit of advice we recieved in the first moments of the race was to wear long pants which none of us had packed…). The second segment traced out a loop around the entire map and was the primary contributor to our 38.86 mile biking distance for the day. This segment led directly into another bikeless orienteering segment and eventually led us back to camp, arriving at about 10:30 pm to face the last special challenge which Nick alone quickly finished, ending the competition for The Devastators at 10:55 pm.

The end result of the day was 17 points for the Devastators as well as a 3rd place finish in the 3-man division. We were quite surprised by our finish; the best picture of the day would have been of Nick’s face when our team was announced at the awards ceremony. This is definitely something that I would like to participate in again, and with the knowledge we now have and some very trivial preparation, the Devastators are confident of a significant improvement next time around.

Refactoring Begins

Today I started working on refactoring the CDIS codebase. The aim is to clean the system and separate the core functionality from the user interface (toward MVC architecture). The hope is that the resulting system could be quickly and easily used as the basis for the website, the PDA, and a standalone application.

So far the process is going smoothly. With 3 instances of Visual Studio 2005 open, I am moving code from the website VS instance and the PDA VS instance to the refactored instance, cleaning, and sending it back out to the website and PDA via a single DLL. For a significant portion of the system, this should be effective and relatively simple, but some of the deep website code will probably require more massaging.

Refactoring copy.png
Refactoring setup

(The pointless image above is a result of my new hobby of messing around in Photoshop.)