May 27, 2009

Thanks, Calendar

I'm not sure if I should be confused or flattered that Google thinks I speak all the above languages, despite the fairly clear linguistic limitations set up in my user settings. (Update: the problem was quite temporary; not 30 seconds later, everything appears in order.)
In other news: I've been spending an unhealthy amount of time in the Real-Time lab hacking away at an ARM context switch. As a result, our kernel now has a successful kernel exit along with a valid kernel entry point in the jump table. Unfortunately, all hell (well, 16 registers of hell, at least, plus or minus a few mode-specific versions of said registers) breaks loose upon re-entry; we're hoping to resolve this by today so that we can cap off this part of the kernel spec and get on with real life.

May 22, 2009

Real-Time Psychotics

I'm now gearing up to tackle the implementation of this specification for an embedded microkernel in the infamous Real-Time Programming course at the University of Waterloo. To share the masochism, our team has started the PsychOS blog. We'll be posting about our exploits - favourable, frustrating, pants-less, or otherwise - there, so keep posted! I'll try to mirror particularly poignant posts here at Quizzical Quincunx as well.

In other news, I've solved We Are The Swarm from Facebook's Engineering Puzzles site. This one is pleasantly devious; out of respect for the puzzle-solving spirit, I'll refrain from posting any hints. Enjoy!

May 16, 2009

Two Weeks And Still Alive

Okay. It's been a while since I last posted here. Some of you may know that I've applied more than a little masochism to my course selection this term - I'm taking Real-Time and Graphics, both of which are notorious for heavy project workloads. I've made it through the first Real-Time assignment shaken but still intact, and should be on track to get Graphics (Tetris + OpenGL == fun!) finished for Thursday. Point being: if you don't hear from me, I'm not dead; I'm just in the Real-Time lab cursing at model trains.

Aside from that:
  • I did make it out to see Star Trek, which was nothing special.
  • I'm almost finished reading through Zen and the Art of Motorcycle Maintenance, which presents a bizarre mix of quasi-autobiographical rambling, philosophical criticism of romantic-classic duality, and wanderlust. I'll reserve full judgment until I've reached the end.
  • The "official" Campus Rec parkour group (as if anything about parkour could truly be official!) has started up for the term. First meet was, er, wet.
  • I've signed up for the Bike and Hike - I think I'll opt for the 25 km bike.

May 7, 2009

AdSense + LaTeX = Fail

Point being: semantic analysis is hard. Simple keyword matching just doesn't cut it.

Death From Above

(Or this DFA - whichever you prefer.)

I'm writing this in the middle of an especially sluggish induction proof in CS 360. I've decided to make a few minor but hopefully positive changes in the way I approach class:
  • I'll try to make it to as many of them as possible - even those pesky 8:30 am ones that have marred my attendance track record in previous terms. (Not that anyone keeps track, but still...)
  • I'm keeping semi-rigorous notes for any lectures that don't have nice preformatted course slides available online.
  • I'm keeping those LaTeX.
The idea with the latter step is that having legible notes will encourage me to revisit them, a process that lies in stark contrast with my longstanding practice of keeping sporadic write-only notes. We'll see how that one goes. In either case, I'll endeavour to make the notes publicly available, thus driving a further spike in various efforts initiated by the University of Waterloo administration to lock up our course materials.

Final note: if you are concerned about the privatization of knowledge, I strongly urge you to do the same. Keep notes, make PDFs, and distribute like crazy. Help us bridge our ingenuity gap.

May 6, 2009

Waterloo Sunset

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.

May 5, 2009

Retrospectively Yours

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...

May 4, 2009

Panic! At the 401

After an epic journey down the 401 involving 5-6 coffee cups worth of caffeine, 2 hospitals, 12 hours (7 or so of which were spent either in said hospitals or in an ambulance headed thereto), and 3 carpopedal spasms (these resulting from panic attacks, which in turn were most likely induced by the aforementioned dose of caffeine), I finally made it back up to Waterloo in one piece. I'm most definitely avoiding caffeinated beverages from now on...

On a more positive note, I'll be living here for the next four months. (That said, my decision to take the infamous Real-Time and Graphics project courses concurrently may very well minimize the time I get to spend in my new digs!) I've got a decent room setup which will only get better with a few key investments in hardware - pics to follow.

I'll post some kind of winter term retrospective in the near future; for now, however, I'm off to tackle some nagging errands.