Score and Four To Go
posted at 17:30 on 2009.07.04


That's right - 24 days left. Current status:

Raytracer's almost finished. I just have to put a flag in to render bounding boxes, speed things up a little, and render a custom scene (unlike the one at top, which was provided by the TAs as a test.) I'll also put a bit more effort into stamping out numerical instability - especially for ray-polygon intersection - and I'll perform random supersampling to smooth things out a bit. Once I get that done, I can finally get back to my end-of-term project!

We've hit a snag in Real-Time land. System call parameters occasionally get corrupted, and it's somehow related to timer interrupts. (For full details, see here.) So far, the bug has proven itself to be highly resistant to our debugging efforts. Not all is lost, however; I'm planning to branch the repo, pare down the system to only those parts necessary to reproduce it, and tweak around until this thing is fixed. While it might cost us some short-term assignment marks, we still have time to rewrite the thing from scratch - and I'm fully prepared to do so in the absence of effective alternatives. (It's worth noting that at least one other group has followed this precipitous path!)

On a more personal note, this is the most demanding sustained workload I've ever faced. Until this month is over, weekends and holidays mean nothing to me. I'm holding up so far; the Real-Time bug brought me close to the breaking point, but I've since regained my self-confidence. The bottom line is this: I enjoy what I do. I like the challenge of it, the reward of writing something abstract to get a very concrete result. If I didn't, I would have ditched CS long ago for less silicon-encrusted pastures. If I have to remind myself of that when I'm chugging away another 10-hour stint in the Trains Lab, so be it. I'll make it through these 24 days one way or another - Evan will prevail!

That said, I'm always open to receiving words of encouragement, advice, or anything else positive.
Waterloo Sunset
posted at 08:24 on 2009.05.06

Work Term Reports - why?
The utter pointlessness is
Rather annoying.

(Decided I'd, er, borrow a motif from vasavage.) Spring is here in Waterloo - the sound of construction in the air, the cranes in full bloom! At least the ensuing fracas has contributed the above sign, redolent of the kind of neon-coloured cartoon-character Engrish prevalent in Japan, to our collective student consciousness. I've snapped a couple of pics of my room, as well as a few around campus; they're up in my nascent Waterloo album. As for me, I'm scrambling to get this work term report done so I can get on with life - for high-course-workload values of life, that is.
Retrospectively Yours
posted at 20:51 on 2009.05.05
One more co-op term down, one to go. What have I learned? Since I don't have any similar record for previous co-op terms, I'll flesh that out as well:
  • Spring 2006: Rational Robot sucks, as does most "business intelligence" software. There's no way I'm doing testing again. Working with other co-op students is fun. Working in Waterloo during the summer is not.
  • Winter/Fall 2007: Startup culture is refreshingly dynamic and fast-paced. That said, the almost complete lack of process produces crap quickly. Pair programming works. Food is adequate compensation for late-night project stints. The Salad King chilli scale is a game you can't win. Concurrency is always harder than you think. It's important to contribute in meetings - if you can't, you're not preparing enough.
  • Spring 2008: Big-company culture is a living contradiction. Perks are awesome. Silicon Valley is a bubble world in all the best possible senses of the term. Testing is a crucial skill in software development. Reviews are a Good Thing, no matter how irate they make you at first. Sleep is optional. Do more better. Warm climates permit vibrant cities. Never rent a place before you meet the landlord.
  • Winter 2009: Optimizing without a profiler is like driving with a nightshade on. Optimizing with a profiler will surprise you. Testing is a crucial skill in software development. Do less better. Like everything, parkour requires dedication. Like everything, building a computer is surprisingly easy once you actually do it. Presentations are less nerve-wracking than most imagine. People respect your efforts to speak their language.
Naturally, these observations are somewhat abridged, and I've more than likely forgotten 90% of the salient (and/or salacious) tidbits. If you really want to know, you'll have to ask me in person...
Meta-Work
posted at 08:49 on 2009.04.30
The birds are singing, the sun is bright, the days are getting ever-longer - and I have to write another work term report. Ugh. Fortunately, a quick Google search brought up this. It's not the cleanest bit of LaTeX code, but it gets the job done! (Yes, I know I could use Word. I'll consider it next time I want to spend 90% of my time format-tweaking to obtain a layout that I can't easily reuse and share.)\

Also: the same search unearthed this (unfortunately nascent) effort to create a public repository of work report templates! Hooray for open source.
Post-Emptive Strike
posted at 11:13 on 2009.03.16
Yes, I blocked Wikipedia at work by overriding HOSTS. (Yes, NRC uses Windows for internal purposes, with the inevitable result that everyone installs Cygwin to avoid incurring undue mental trauma when working with our UNIX clusters.) I look forward to reaching unprecedented heights of productivity - starting, naturally, with spending 5 minutes blogging about it.

Update: In the same vein, I've decided to install the Email Addict feature from Gmail Labs. Any other thoughts on reducing distractions?