Tuesday, March 20, 2007

When 1500 Words Isn't Enough

I swear I'm spending more time writing the 1500 word paper I'm putting together now than I did the 5600+ word paper I submitted last week. It seems like I had just started writing the damn thing and i hit the word limit. Now I need to try and pull stuff out even though I want to write more. Maybe I should use caveman-speak.

We make thing. Thing good. Thing make other thing better.

It'd still be clearer than some journal articles I've read :)

Wednesday, March 14, 2007

Shadow of the Colossus

Well, I finally finished this terrific game. And for a game with almost no story, it sure draws you in. I was amazed at how, even though there are less than half a dozen cutscene/story sequences over the entire game, I was completely enthralled during the ending. The crux of the game is that you need to beat these 16 colossi (basically massively huge monsters) in order to have a wish granted. In between the colossi there are no battles, no gold to find, no items to buy, and no interactions with other characters in the world. Hell, unless you're fighting one of the colossi there isn't even any music. Just the sound of you spurring on your horse. It becomes a very desolate game, and you begin to feel extremely isolated. Yet you keep fighting these battles because they are so damn engrossing. Imagine standing on the back of a winged bird that's got the wingspan of a football field while it's flying around a thousand feet in the air. You try and walk around on its back when it suddenly flips over and starts flying upside down while you hang on to the edge of it's wing hoping the thing will flip back over before you lose your grip and plummet to your death, or standing next to a creature who's toes are taller than you and having to find a way to defeat him, or running away from one of these things while riding your horse, all the while trying to shoot arrows behind you and the thing. The fights are so damn intense that whenever I finished one I would notice that I was on the edge of my chair, and I'd have to slump back and take a deep breath.

The nice thing about the story being so disconnected is that you can go without playing for weeks, even months, and still know exactly what your next goal is. Hell, I bought this game a year and a half ago and am just now finishing it. Now I get to go back and do the "time attack" mode, which lets you fight any of the colossi over again trying to beat a certain time. Which is cool, because I don't remember all of the colossi and am intrigued to go back and see if I remember how to beat them. It's so rare that a game lives up to the hype, and a 9.7 rating from IGN is major hype, but this game was as much art as it was entertainment.

Check out the first colossus:

Windsor Mentioned on the Colbert Report!

Finally, Windsor is getting the credit it deserves.

Tuesday, March 06, 2007

A bit of relief

A few months ago I had a bit of panic set in when I sat down with my supervisor and compared the amount of work I had left to do with the amount of time I had left to do it. We paced out how long each task would take, and it had me finishing in mid-late June, not leaving much time for thesis writing and the inevitable spillover.

Since then I've been a bit more focused on my work, and it's definitely paid off. I presented what I've done so far to my fellow lab-mates and my supervisor, and at the end he said that he saw no issue with me finishing on time (by August). There had been some concern that I would end up spilling over into an extra term.

So as of right now I could probably have the rest of my thesis work done in about a month of work, not including the writing I have to do. Now that may not seem like much considering I still have about 6 months to go. However, I've got 3 publications to work on (2 of which I'm the lead on) that are due between now and April 15th, a presentation for one of those publications in May, two weeks in Halifax in June (including some demo prep work I have to do before hand and a poster to create), along with actually writing my thesis, doing GA work, and finishing my thesis work, I don't think I'll have any problems filling my time between now and the end of August.

But the good news is that I finally see light at the end of the tunnel, and am now energized about getting things done again.

Tuesday, February 20, 2007

Some thoughts on programming

In the last several months I've had the "pleasure" of working with several different programming languages for the software I'm developing for my thesis. In a given day I may spend time working with Java, Visual Basic (and VBA), SQL, and XSLT (for XML manipulation).

Sometimes I need to call a Java program from a Visual Basic program, or use Visual Basic to perform XSLT functions. In the near future I'm also going to be working with CLIPS, which rounds out the 5 programming "languages" I've used in my thesis. In past projects I've also worked with SWI-Prolog, LISP, Python, and of course C. The different languages all have their utility, some moreso than others.

A language like Java is great because it makes building off other people's code a snap (assuming it's well documented), and using abstraction and interfaces makes things so much better when trying to manage a complex system (why they don't stress this stuff in CS here at Windsor blows my mind...it was all crammed into the last 2-3 lectures, when it deserves it own course).

A language like XSLT is great at doing XML transformations, but not much else. Having to write all of your code in XML format is really annoying, but it does its job and does it well.

To me, these are the two ways that programming languages should exist. A language should either be general purpose enough to do most things rather well, or specific enough to do a couple of things very well. Bridges between languages are getting better and better, so working in a multiple language framework is becoming less of an issue. This way we can use the broad languages (Java, C, etc.) for most things, then make use of specific technologies like SQL and XSLT when we have a task that suits them.

So what's my point in all of this? Well, it's a roundabout way of me saying this:

Visual Basic 6 sucks, and it sucks hard.

VB is a broad language, designed to be able to do everything. And granted, it does do pretty much anything you ask it to do, but it does it in a way that lends itself to bad code. Everything from the smallest details to big obvious things fail me on a daily basis. And the thing that annoys me is that these things happen by design.

Here are some examples:

You can't comment out multiple lines at once using a block comment (like /* ... */ in C/Java), you can only comment out individual lines at a time...this is insanely annoying while trying to debug your code or do any major documentation

The Visual Studio editor is the worst IDE I've ever used. Notepad is more useful as a programming tool. It does so many little things that bother me. For example, if you're in the middle of typing a line of code, and you try to move the cursor off of that line before the line is done, it gives you a warning message that you have to dismiss before you can continue. It happens all the time where I'll be writing a line, then realize I can just cut and paste a long variable name, or I notice a mistake in another part of the code that I want to go and fix. And invariably the damn thing will bark at me.

Brackets? Who needs brackets? Look through some VB code and the first thing you'll notice (especially if you're used to Java/C style code) is the lack of brackets used in the code. They're used in method signatures, and are sometimes used when you call functions. There is nothing worse in a programming language than having it behave differently in situations that are seemingly the same. When you call a function in VB, you generally don't need to include brackets around the arguments, unless you want to do something like have access to the function's return value. If you want to call a function you can just ignore the return value by not using brackets, even though the function explicitly returns a value.

And of course, Visual Basic does not include any ability to do abstraction or interfaces. Pretty much the most powerful feature of object-oriented programming is left out of visual basic. This is just plain obnoxious.

I think the idea is that VB is designed to be more of an entry-level programming environment, and I tend to get annoyed because I know there are a bunch of way better alternatives out there that I'd prefer to use. But since I'm working with a system that was built on Visual Basic, I'm forced to toil away in it.

Damn, that felt good to moan about :)

Wednesday, February 07, 2007

Music, Music, and more Music!

I just came across another web-based music service that's Pandora-esque, the difference being this one lets you build playlists from songs that you choose. Check it out:


The only restrictions are that there must be at least 45 songs on your playlist, and there can be no more than 3 songs from a given artist.

Check out my first playlist on the right. It's good listening.

Monday, February 05, 2007

Prince + Foo Fighters = Wrong

Did anyone else watch Prince butcher a Foo Fighters song at the Super Bowl halftime show? That was freaking ridiculous. Who does a cover at the freaking Super Bowl halftime show?

It's not that I'm a Prince fan by any means, I'm completely indifferent to him and his music. It's just that when a "guy" has a chance to sing four songs to a gigantic audience (170+ countries), I think he should sing four of his own songs. Instead, he sings two of his own songs (at least I think so, I've never heard that last song he did before) bookended around a Foo Fighters cover and a Tina Turner cover (seriously).

On the other hand, we were provided with these:

Friday, January 26, 2007

Note To Self...

If using Skype to take part in a teleconference with several professors and industry partners, be sure to turn off your e-mail sounds. Otherwise everyone in the conference call will hear

"Hens love roosters, geese love ganders, everyone else loves Ned Flanders."
"Not me"
"Everyone who counts loves Ned Flanders."

when you get an e-mail.

At least it provided some comic relief.

Thursday, January 25, 2007


Technology used for good:

Cool Touchscreen GUI (I know this one's been around a while now, but they seem to have made some cool improvements...including the new giant screen)

Technology used for evil (sort of):

New US Military Heat Ray: this thing heats it's targets skin to an 'uncomfortable' 130F. Ouch.

Tuesday, January 16, 2007


This is from the Wall Street Journal:

"Half of all children are below average in intelligence"

Well, thanks for the tip Captain Obvious. Did you know that 25% of people in Canada make up a quarter of the Country's population? I bet you didn't.

Link (found on Fark)

(BTW, I'm aware that technically average!=median, but still, it doesn't matter how smart the kids are...even if the average IQ among school children was 250, half of the kids would still be below average.)

No wonder Bush wants to ask the question "Is our children learning?"