.comment-link {margin-left:.6em;}

Tuesday, February 28, 2006


Why is QoS only one way?

I was thinking about VoIP, and the state of VoIP technology. I got to thinking about QoS on routers, used to ensure the integrity of the VoIP stream.

As far as I know, QoS on current broadband routers is one-way. They only manage OUTGOING bandwidth. This is true of current "gaming" QoS on routers, I'm uncertain if it also applies to VoIP, but it would follow.

The excuse given for not doing QoS on incoming bandwidth is that the router has no control over incoming bandwidth, since somebody else is sending it. But this is not true! The receiving router has complete control over how fast the remote computer sends data. This is the entire point of the TCP sliding window.

So, why doesn't the router doing QoS simply lower the window size slightly on incoming TCP connections until it has some spare bandwidth to receive the important data (VoIP)? Yes, this method doesn't work for UDP, but as far as I can tell, most consumer bandwidth use is going to be from stuff like HTTP, P2P, and other TCP-based protocols. Games don't produce much incoming bandwidth, and VoIP is the thing we're trying to maximize.

So, am I missing something? Is there a reason why routers don't alter the window sizes to control the speed of incoming data to make room for stuff like VoIP?

Thursday, February 23, 2006


Andreas Katsulas passes away

This one caught me by surprise. He died of lung cancer 10 days ago at the age of 59.

Science fiction fans will probably remember him best as G'Kar from Babylon 5. This does not bode well for the future of the Babylon license, as JMS is still occasionally putting out Babylon related movies and pilots. The most recent one was "Babylon 5: The Legend of the Rangers" in 2002. Althogh funding fell apart for another B5 movie "The Memory of Shadows", JMS was still hoping to make it sometime in 2006-2008.

Katsulas isn't the first B5 main cast member to pass away either. Richard Biggs, who played Dr. Franklin, passed away in 2004 in his fourties.

Wednesday, February 22, 2006


iPodDrop v1.3 released!

Changelog is the same as listed in my previous post.

This release includes the sourcecode. I've licensed it under a Creative Commons license. Hopefully I didn't make any big licensing mistakes that give up rights to my firstborn child or something.

Get it here:


I'm going to apply one additional condition. If you look at the source and say to yourself "This is stupid" about something, send me an email telling me what I did that was stupid. You don't have to propose a solution or anything, so this isn't going to take a lot of effort, just tell me what I did that was stupid, keeping in mind that I was lazy while writing this program.



Well, my copy of Mario Kart for SNES (which I purchased on eBay) has just arrived.

My primary purpose for this purchase was to take the SNES to the upcomming LAN ETS (which I'll be helping out with this year). We're setting up a room for people to plug in their consoles, and I thought, what better console to bring than my old SNES? This got me thinking about the state of my SNES hardware. I also have fond memories of Mario Kart, so I thought it'd be a good game to pick up, with or without the LAN. I never owned a copy of the game, but borrowed it often enough.

I got my SNES some time between 1991 and 1993. I don't really remember exactly when. When I went downstairs to check out the status of my SNES, to my dismay, I found that one of the two controllers were missing. In fact, I've bled off a lot of games that I lent and were never returned. Only 3 of my original games are left. Of the others, I had Super Mario Allstars, Donkey Kong Country, a Super Gameboy, and the Super Game Genie. I think that is all. Of those, the Super Gameboy and the Super Game Genie were lent and never returned, I think the same is true of Super Mario Allstars, and I've got no idea what happened to Donkey Kong Country (I thought I still had it). On top of that, the missing controller which I think is just lost.

I've been considering using eBay and used game shops to try to rebuild my collection, for nostalgia sake as much as playing them. Mario Kart was my first purchase with that aim in mind. As I mentioned, I never owned it, but borrowed it often.

Unfortunately, my RCA cables for the SNES were damaged in a vacuuming accident many years ago, so I'm currently limited to the old RF converter. The cable is only damaged in one spot, however, so I think it is repairable if I slice it open.

I was hoping to have some two-player Mario Kart action going this weekend, but I'll have to pick up a second controller. A local hobby shop has them for $10, so I think I'll pick one up. Maybe they'll have some of my other missing accessories too.


iPodDrop v1.3

Well, it has been quite a while since I posted about iPodDrop. I toyed around a bit with getting Explorer context menus working, but I've got a lot of other projects going, so I haven't really been in the mood to hack on it.

What I'm thinking of doing is just rolling the current build of v1.3 into a release. It's been so long since the last release that I might as well just release what I have now. The changelog is short, but the impact on the user interface is enormous. Here's the changelog:

- Hide ffmpeg output while encoding
- While encoding, show text-based progress bar, percentage, realtime multiplier, and estimated time until completion
- Tweaked aspect ratio detection to produce better guesses (This is purely cosmetic anyhow)

Short, yes. But the second change there is huge from a usability standpoint. ffmpeg doesn't show any sort of estimate, or even a percentage. The only progress indicator it provides is the number of seconds of content encoded. But since iPodDrop knows how long the video file is, it can compare the known length and the amount encoded to generate a percentage. And iPodDrop can also use that percentage to figure out roughly how long it will take to finish encoding. This is the coolest thing about it, I think, seeing the estimate.

So, yes, this is just a cosmetic change, and it isn't really super special. But it makes such a huge difference.

Here's a screenshot of v1.3 in action:

Hosted by SuprFile.com
Image being hosted by my new website, suprfile.com ;)

As a comparison, here is a screenshot of v1.2 (click to zoom):

Hosted by SuprFile.com

Yeah, all that ffmpeg output is interesting, but not very useful to the average user who just wants to know when their damned file is going to be done.

Anyhow, you'll notice that the ascii art used is a bit primitive. This is because .NET 1.1 only provides the most basic console functionality. No colours, no moving the cursor, none of that. However, you can use \r to move back to the beginning of the current line. Which is how I provide the status on the same line.

I'd like to have closed the bottom of that text dialog, and used some colours. Those sorts of features, unfortunately, require .NET 2.0. That's rare enough that I don't think it is a fair requirement for now. As for the reason why I'm using pipes and dashes instead of proper line chars, that has to do with how .NET doesn't use straight ASCII (Like most languages it has moved to 2-byte encoding), and how I didn't really want to research the proper way to output the line characters from the extended ascii set. I think the current method works well enough anyhow.

I'll probably release the source with v1.3 when I put it out. Which will probably be in a few days when I get around to it. I'll likely us the existing Creative Commons license I mentioned a while ago. The code really needs to be cleaned up and commented before I release it, but I'm not going to bother. The fact that people know that I was being lazy while coding it should help spare me from too much embarrassment ;)

Friday, February 17, 2006


I had the strangest dream...

I had the strangest dream last night. I was in Tokyo. For some reason, everybody was convinced that if they could accrue a "critical mass" of meal worms in this temple, everybody would get their wish. Except when they reached the critical mass of meal worms, it formed a zombie elvis meal worm god. Emphasis on the meal worm god part (think blood god from Blade, but with meal worms). It started eating people, screaming "meal worm want eat". It was really wierd.

On that note, I'll probably be applying to NITI for a work term in a week or two :) I've got to work out some details with Concordia co-op before applying, which is why I have to wait. I thought that I was going to have to delay my work term by two semesters due to my missing prerequisites, but the co-op folks said it didn't matter.

The co-op people want to go over my CV with me before I apply to NITI. I'm not sure why NITI would need a CV, since the only real change from the last CV NITI has from me is, umm, working at NITI. Co-Op wants me to, though. They also want to make sure that the job I apply for would satisfy their requirements.

Thursday, February 09, 2006


Computer alarms

I'm in a class on a computer lab on the 9th floor of the Hall building right now. The computer next to mine is putting up a real racket. Sounds like the hard drive, though it could be a fan. It doesn't help that the school has removed not only the frontplate, but the front case door as well.

In an attempt to reduce the annoyance, I rotated the PC away from me by about 30 degrees. Apparently this set off some sort of silent anti-sanity alarm, as within a minute or two, two technicians had come to investigate. They chastized me for moving the PC (which I wouldn't have done if the crappy PC wasn't making so much damned noise), and set it back (Unfortunately restoring the annoying noise that rotating the PC had fixed by redirecting it away from me).

That wasn't all, as a few minutes after the left, two security guards came to investigate the alarm. They made a beeline for the PC I had moved, and fiddled with something in the back, apparently trying to turn off the alarm. They left, but came back a few minutes later. After some talk into a walkie-talkier, they apparently shut it off and left.

Why am I writing about this? Well, it simply seems like a pretty insane security measure for a pretty crappy broken computer. An alarm on a worthless broken PC in a computer lab that is protected by a door with a keycode lock accross the hall from the computer lab help desk on the 9th floor of a university building.

Not that the people who run the labs here are very bright. I mean, the boot process is braindead. You turn on the PC, and after an exceedingly long time at the POST screen, you're presented with the Windows boot loader. WinXP or Linux. Fine. You select Linux, and are presented with a SECOND boot loader, this time grub, that has as options, get ready for this, WinXP or Linux. Now, it seems to me like if you've selected Linux from the first boot menu, it is pretty safe to just go ahead and boot linux, rather than asking again. And, of course, if you select WinXP on the second boot loader, it simply sends you back to the first boot loader, where you must select WinXP again.

Somebody also thought it would be a good idea to set Fedora to do software updates over the internet on boot. Yes, I just love waiting five minutes for a PC to boot while it does a slow unabortable software update over the INTERNET. This couldn't have been done during idle time, of course not.

Speaking of idle time, the machines reboot if you don't do anything for 20 minutes. So if you have some work open and go to help somebody on their machine, you may well come back to find that your PC has decided to reboot itself. You'd better have saved.

I'd mention the fact that the mouse speed under Windows is set so high that it is virtually impossible to click anything, but I think you get the point. Considering that the school is blowing hundreds of millions of dollars of OUR money on buildings we are not allowed to use, you'd think they could afford to hire somebody who knows what a computer is, or perhaps keep the computers in working condition. I mean, take the price of the two newest buildings (One of them they can't even build yet due to holdups in city regulations), about $300 million, you could replace the PCs in this lab for $2000 EVERY DAY FOR TEN YEARS.


Pathing optimization

Well, that title sounds a lot more interesting than the actual subject, doesn't it?

Over the past two semesters, I've been looking for the optimal path between Le Fauberg, where many of my classes are, and the Hall building, where the rest of them are. I seem to have found the best path to minimize time spent outside on cold days such as today.

The route I take adds a bit of walking time on. Classes in Le Fauberg are either in the sub-basement, the sub-sub-basement (three floors underground), or the third floor. First I make my way to the ground floor. I then take the back corridor to the other end of the mall (Yes, I have classes in a shopping mall. Concordia spent $150 million on a new building for our department, but only let graduate students use the 17 floor building, leaving us to have classes in the sub-sub-basement of a shopping mall). From there, I take the door into the Fauberg Tower, a building adjoining Le Fauberg. Accross the lobby is a street exit that is on the corner of the intersection of, I think, Sherbrooke and Guy. Crossing the intersection diagonally takes me to the entrance of the EV building, which is the width of a city block. I continue through that building until I hit the next street, MacKay, I think. Almost directly accross the street from there is the rear entrance of the LB (Library) building. On the other side of that building is a tunnel that leads under the street to the basement of the Hall building. Voila!

I used to take the escalators up from there. This semester, when I'm going from Le Fauberg to the Hall building, I'm heading up to a class on the 9th floor, 10 floors up from the basement. One day, I was quite tired, and decided not to take the escalators. It isn't exactly rare for half of the escalators to be stalled, and it is a long way up. Now, the alternative is the elevators. The Hall building's elevators are terrible. There are two of them, each about a third the size of the NITI building's elevator, and perhaps 1/2 to 2/3 the speed. They hold five or six people crammed in tight, and since there are mobs of people on each floor, they take forever to get anywhere. That day, I just didn't care.

I headed down the steps and into the Hall basement proper. There was a main hall that stretched the length of the building. I followed it down in hopes of locating the elevator shaft. Instead, as I moved down the hallway, I saw two different elevators on the wrong side of the corridor. One was obviously a service elevator, since it was large and required a key, but the other seemed to be a normal one.

This new elvator is now my preferred method of traveling up and down in the Hall building. For some reason, while there are dozens of people on the ground floor waiting for the normal elevators, there is virtually never ANYBODY using this elevator. It is about the same speed as the regular elevators, but since nobody ever uses it, you can go from the basement to the 9th floor without stopping.

I am not certain why nobody uses this elevator. Perhaps it is because nobody knows about it (it is off on the side of the building rather than the center). Perhaps it is because it makes odd noises as it ascends, and shakes if you move. Perhaps it is because it looks like it was installed in the building decades ago and hasn't been refinished since (It features an all-metal interior adorned with decades of scuff and scratch marks). Either way, for some reason this elevator remains unused, and by far the fastest way to travel.

Tuesday, February 07, 2006



Somebody linked to phonespell.org from some forums I was browsing. I decided to enter my phone numbers and see what happened.

First, my cell phone. The only sensical one was "bier-856". Dictionary.com defines a bier as "the frame on which dead bodies were conveyed to the grave". Well, good to know that if I ever start a funeral home I'm all set. Too bad there wasn't another three in there, then I could have had "biere-56".

My home number, though, was a bit more interesting. For this one it actually managed to replace all the numbers with letters. And what words are equivalent to my home phone number? owl-milk.

Sunday, February 05, 2006


SuprBowl ads

Want to watch the US superbowl ads? Try here: http://video.google.com/superbowl.html

I'm frankly extremely happy about this. In previous years we've had to turn to horribly slow sites that forced us to use horrible players, register accounts, and had low quality. Some even started charging money to view them.

Thanks to Google Video, not only can I watch them in my browser with no account, but the google superbowl page has an option to watch them back-to-back, saving a load of time. Also, the page includes GoDaddy's banned ads.

The quality complaint is still there, though, as Google Video doesn't use overlay (It uses nearest neighbour resizing, which sucks), and Google Video uses an insane amount of CPU power (probably because it doesn't use overlay). Still, a small price to pay.

Saturday, February 04, 2006



It is February, right? And February is the coldest month of the year, right? Then why the hell is it RAINING? It isn't supposed to be 5 above for days in a row during coldest month of the yaer.

This page is powered by Blogger. Isn't yours?