Spring 2005: a retrospective.

Spring 2005: a retrospective.

Ethan Glasser-Camp

Table of Contents


I just completed my sixth semester at RPI and I realized I had a lot to share. I was kind of inspired by reading the Katamari Damancy post-mortem to write this sort-of post-mortem of the semester. However I don't like the term "post-mortem" -- I think it's a little morbid -- so I'm writing this retrospective instead.

News and history.

15 Oct 2005: Misc typoes, uploaded all the files, which were linked to by the HCI, Docbook, and Thesis sections.


As I am still nominally a student, the classes I took were a major part of my semester.

Human-Computer Interface.

This class was a class I was kind of interested in taking, because this is my field of study. I was mostly disappointed. Grade: B, though the professor said he'd change it to an A.

Theories of Personality.

I really liked Professor VerWys as a lecturer when I took Social Psychology a year or two ago. I thought this course would be likewise. Grade: A.

Chinese 2.

As I had taken Chinese 1 last semester and enjoyed it, I decided to take the next course in the series. I enjoyed it about as much as the first one. Grade: A.

Cultural Anthropology.

Since I was looking for another course to take, I let myself get talked into taking Cultural Anthropology with Adam. Too bad he dropped it. Grade: A.

Undergraduate Thesis.

To finish my psychology degree, I need to complete a thesis in Psychology. I figured this term was as good as any to sit down and get it out of the way. Grade: Incomplete, finally revised to an A.


I read a lot of things, but very few bound books.

Why Haskell Matters.

Don't miss this extremely elegant and intuitive introduction to the elegant and intuitive language known as Haskell. Approx. 1 hour of reading, grade: B-.

Why's (Poignant) Guide to Ruby.

Literary value, in a programming manual? Are you for real? Approx. 8 hours of reading, grade: A-.

Cat and Girl.

A web comic labeled with "experimental metanarrative". Less slow, more fast! Archives are approx 4 hours of reading material. Grade: A.

My New Filing Technique is Unstoppable in: Horse Races.

At one or another of the times we went to Jim Hanley's Universe, I finally felt so guilty about standing around and reading this book that I actually bought it for $6. I was not disappointed. Archive is approx 3 hours to read. Grade: A.

Rooter: a Methodology for Typical Unification of Access Points and Redundancy.

A randomly generated CS paper. Absolutely the best CS paper ever. Approx 30 minutes of reading, grade: A.

An Empirical Comparison of C, C++, Java, Perl, Python, Rexx, and TCL.

Hard numbers on programming language performance. Approx 1/2 an hour to read, grade: B+.


Although I read this over winter break, I never got the chance to properly respond to it. I couldn't wrap my brain around it. It's like reading liberal arts paper, except it claims to be useful. Didn't finish.


With the advent of Webjay, I have become attuned to a larger world of music.


"You won't guess what I just did!/ Don't know who you're messing with!/ Put my comp sci skills to work!/ I just guessed your logon word!" --Barcelona, "I Have the Password to your Shell Account". Releases by March Records and pulCec.


High-pitched voices and lyrics to match. Released by f.u. records.

8bitpeoples netlabel MP3 Archives volume 1.

Varying quality but some great tunes. Released by 8bitpeoples, downloadable from LegalTorrents.

Russian Futurists.

One of the few bands that still has a Geocities home page. Reverb set to 'stun'. Released variously by Upper Class and Phantom.

Sonic Youth.

Is there a musical key this stuff can actually be considered to be in?

Most Popular Criminals.

They get credit for their original sales approach. Unfortunately, their music isn't that great.


As a gamer, my free time is often taken up with electronic amusements.

Blob Wars: Metal Blob Solid (C++, SDL, Linux).

I stumbled on this game in the Debian games section. It destroys every thing I thought I knew about Linux gaming. Grade: A.

Sonic Adventure 1 and 2 (Dreamcast).

Awkward controls, terrible camera angles, the Sonic paradox taken to its logical conclusion. Grade: B- and C+.


Computer science majors need to be proficient with their software tools. Here are some experiences I had with mine.


Hey guys, they finished developing computer science about 20 years ago, you can stop screwing it up now!

Python, PyGTK, Glade.

The programming language Python can be a useful tool for rapid application development. The GUI-development tool Glade can be a pain in the neck.

Crystal Space and Blender.

Crystal Space, the 3d game engine, is the piece of software that has always sung a sweet siren's song of allure to me, enticing me to tinker with it and just use it for something. This term I took one more step.


DocBook is an XML-based markup language for formatting all kinds of documents. It's what I'm using to write this retrospective!

JuK and AmaroK.

Trying to find a music player that suits my style of listening is tricky.

Misc ideas for future software development.

Sometimes I wonder about what kinds of software improvements we could be making. Here are some ideas.


Clearly, something like the Monad shell would be cool. I think it wouldn't be too hard to write something in Python, but you'd need to hack something together for every command. This means it's unlikely to happen for the Unixes. What other kinds of things could we accomplish with a non-bash shell?

Getting rid of scp.

Wouldn't it be cool if you didn't have to use different programs to do cp, scp, rsync, smbclient, ftp, svn co, etc?

Personal version control.

Wouldn't it be cool if I could keep my diary in CVS, without all the hassle CVS causes?

Cached initialized state.

Wouldn't it be cool if a program could make a system call that said "I'm done with my initialization code; if somebody else calls me, start me here"?


I just completed my sixth semester at RPI and I realized I had a lot to share. I was kind of inspired by reading the Katamari Damancy post-mortem to write this sort-of post-mortem of the semester. However I don't like the term "post-mortem" -- I think it's a little morbid -- so I'm writing this retrospective instead.

This is mostly a loose collection of ideas and thoughts about what happened this semester. Organization may not be very good. Some parts drop into very dense field-specific lingo without warning; sorry about that. The computer science parts will probably be most interesting to those studying computer science, but the rest of the writing I've tried to keep as accessible as possible.

News and history

15 Oct 2005: Misc typoes, uploaded all the files, which were linked to by the HCI, Docbook, and Thesis sections.

10 Oct 2005: Finally got an A on my thesis, so now I can really start bashing the Lab in print. See the Thesis section.

11 July 2005: Added the Most Popular Criminals section. Waiting on the Thesis section until I get a grade on it.

6 July 2005: Added the Empirical Comparison section. Note that this is a slam on Java guised as a review of an academic paper.

22 June 2005: Added Reciprocality section, added to Thesis section.

16 June 2005: Added caching idea I had a while ago.

15 June 2005: How could I forget Rooter?

14 June 2005: Fleshed out PyGTK/Glade section, DocBook section.

13 June 2005: Added music player section.

12 June 2005: Spellchecked the whole thing. Did you know emacs is smart enough to spell-check an XML file? I didn't.

12 June 2005: Proofreading, edited the footnote in Anthropology for clarity and fixed a typo of "aggressive".

12 June 2005: Added My New Filing Technique is Unstoppable -- I should really stop adding so much stuff!

12 June 2005: Added some to musical player sections, added Cat and Girl section.

12 June 2005: Added Sonic Youth and Russian Futurist section.

12 June 2005: Transfer bile from thesis to Matlab section. Stub out Misc Software Ideas.

11 June 2005: Stub out Matlab section.

11 June 2005: Poignant Guide section.

11 June 2005: Stubbed out a couple more sections: Py/Gtk/Glade, Crystal Space, Guide to Ruby, DocBook.

10 June 2005: 8bitpeoples, a little restructuring, listening-introductory material added.

09 June 2005: Barcelona and Skyflakes sections added.

08 June 2005: Cultural Anthropology section added.

06 June 2005: Metal Blob Solid section added.

06 June 2005: Added the Sonic Adventure stuff. It's still a little disorganized and Laura doesn't get it at all. Part of this is that it refers to the not-yet-existent Metal Blob Solid section. Well, live and learn.

06 June 2005: Added the history section for those who want to keep track of the whole paper at once.

Blue Sky design by Jonas John.