Sunday, November 13, 2005



I dedicate this post to Ben Anderson - my great Kiwi friend, former roomy, and fellow programmer... My reason? Well, Ben is probably the only person who will read this that will fully appreciate it and understand it ;)

Let me set the scene. This past Wednesday morning I went to my Assembly Programming class as usual. The lecturer (Curtis Nelson) informed all of us that he had finally nailed down our class project, told us what it was, recommended working in a group, and gave us the due date: Dec 9. Because the project was so unusual and likely to be very large, he jokingly mentioned that he would give double credit if it was done by the next day. Someone in class had a sense of humour and asked by what time tomorrow. Nelson was a bit startled by that question and quickly explained that he didn't intend or want anyone to finish by the next day - it would be unhealthy - and so... 6am.

Michael Roth and I were smiling and after class, decided we would give it a try. We didn't know each other very well, but we were both competent at least. Immediately after my last class of the day (2pm), we met in my room and began. We spent several hours planning, identifying potential tough problems, and developed are general architecture. From then on, it was a lot of careful thinking and a LOT of typing. After a marathon 12 solid hours (minus a half hour for dinner), we completed the 1700 line program - and even made it classy and stylish. We were both rather exhausted, but it was an exhilarating experience! We submitted the finished program over e-mail at 2am and submitted a hard copy (28 pages long) later that morning.

Nelson's brief 4 word reply e-mail:
"You animals! Good job." - ahhhh the satisfaction...

The whole thing reminded me so much of working on assignments with Ben - laughing at absurd ways to accomplish something, catching each other with a "wait, that won't work because of blah ... but what if we approached it like this...?", adding amusing comments for our own enjoyment... Yeah it was very familiar and I had the odd feeling that I was back working on some project with Ben.

For the one or two people who actually wonder what the assignment was, here's a semi-technical description: The goal was basically to make a de-compiler. The assembly program finds the copy of itself stored in program memory, reads each address, decodes the machine language and prints the corresponding assembly instruction to the SPIM console. The end result (more or less) is that you print out a copy of what you wrote...

And yes, I know I'm crazy.

2 comments:

Anonymous said...

Head spinning---pain!!! But good jorb!! Congrates on getting all the extra credit you over achiever you!!

Well here is a big big hug to you!!

Brandon said...

A hug eh? Then it was all worth it :D Can't wait to see you!!