Diary of a Programming Project

In the vein of Andrew Plotkin's work of the same name, I have decided to write a log of the progress I make on the ISS rack topology report.
This should really have started about three days ago, so I'll try to fill in from then.

Day 0: Origins
    While sleeping in the horrible cot at Origins (a yearly board game convention in Columbus, OH) I was thinking about a problem I'd been having at work and figured out an answer to it. I wanted a way to generate a little diagram of the International Space Station with all the experiment racks in the right place, dynamically. I had a way to do this, by generating a PNG file in a PHP4 program with an esoteric library. I wanted a more portable way.
    Enter PostScript

Day 1: Learn PostScript
    Okay, this was simple enough. Read through a PS tutorial, drew a few random shapes, downloaded Adobe's spec for the language, and started making the primitives I'd need to draw the diagram (original at http://geekfu.org/image.png).
    I knew I'd need a thing to draw a rack (a square with text in it) and modules (rectangles with tapered edges) and adapters (rings with text in them).

Day 2: Make PS Routines
    Day 1 lasted a good sixteen hours, day 2 is ten and counting, but that's okay because I want a new car CD player. I've just gotten finished laying out the modules and making routines for the racks and adapters.
    My general idea for the program is that I'll write some PostScript to lay out all the modules and set up routines, then I'll write some C++ to talk to a database and get the data out, then just have the C++ program print out the PostScript I write with some calls to those routines appended to it. In this way it would be like the rest of the interface, which is PHP4 scripts that output HTML.

Day 3: Module layout, redux
    I decided that the way the modules were laid out in the old chart was really pretty sad, and that that would look infinitely better if they were all lined up correctly. I expected to spend a couple hours doing this right before bed, and ended up spending about eight hours making it perfect. The code also looks significantly better now, and I made an artistic license decision to leave out some of the more useless or ugly things in the original chart. I also spent a couple hours putting labels in the right places for all the modules.
    As far as I can tell, this is now ready for the code to add the racks.

Day 4: To C++
    I watched Spiderman 2 this afternoon. It was pretty good; Doc Ock was awesome, as expected, and the Mary Jane Watson subplot kinda dragged a bit but she's cute so I didn't mind much.
    I just set up the C++ program, did everything but actually print the rack locations to the file. I have a program that generates the code to print the modules (by a really long output statement, copied and pasted from the handwritten PS file) and some code to pull rack names and locations from the database. Next step is to pull out the location names that I know where they are on the chart and then put them somewhere. The general idea is this:
    JPM1O4 is a standard location name. "JPM" means it's in the Japanese experiment module, the 1 means nothing and the O4 means it's the fourth rack from the left in the "Overhead" (or top) row. so my thinking is that I'll have a function for each module that takes a location name and returns the coordinates (through being passed int*s) of where it goes.