Tuesday, January 29, 2008

Fire up the transmogrifier

Rejoice, one and all! Calvin and Hobbes, the best comic strip EVER is available online, with a "new" one every day! Of course, they're not new, since Bill Watterson isn't doing it anymore, but there's a different one every day. There are lots of different comics at that site, actually, including another of my favourites, Foxtrot, and if you want, you can also get really lame ones like B.C.

Sadly, no The Far Side.

Monday, January 28, 2008

Dock problems

Shortly after I got my iPod last August, I bought a docking station from DLO, on recommendation from a guy at work who has one, and loves it. The dock connects to my receiver and TV, and allows me to play music from the iPod through the receiver, and watch video from the iPod on the TV. Since all my music is on the iPod and the physical CDs have been put away, I use this to listen to music at home. It looks nice, has a remote, a nice on-screen menu, and the audio and video quality is very good (I'm using standard RCA connectors for audio and S-Video for video). I also found it very convenient to download some TV shows, convert them to iPod format, then watch them on TV rather than on the iPod screen. That is, I did, until it stopped working.

A new iPod software version was released by Apple and I updated the iPod, and suddenly the dock stopped allowing me to choose TV shows. (At least, I think that's when it stopped working.) It lists the different shows in one menu, and when you select a show, it lists which episodes of that show you have. Except now, no matter which show I choose (Battlestar Galactica, ST:TNG, Family Guy, or whatever else), it always shows me the episodes for Battlestar Galactica. I can't watch anything else. I found that a new version of the firmware was available, so I downloaded the new firmware, connected the dock to the laptop via USB, then ran an installation program on the laptop which was supposed to upgrade the dock. Except that it didn't. I kept getting a checksum error when trying to do the install. I emailed DLO support, and after 10 days of waiting (and one "I haven't heard from you. Is there any progress on this issue?" email from me), I received the following message. Other than the huge footer of the email (complete with the tech support person's name in a fancy font, the company's address, phone numbers, logo, hours of operation and a couple of links), this is the complete text of the email:

Please check our support website periodically for the drivers to update your HomeDock. It may correct your concern.

I responded saying that this was unacceptable. Since my first email to them was within the warranty period, I sent the dock back to them (at my own expense) and asked them to send me a new one with the latest firmware installed. Surprisingly, a new dock was mailed to me just four days later, and I received it four days after that. I expected it to take numerous weeks, so that was good. The new dock did not have the latest firmware installed, but I found that an even newer version of the firmware was now available on the website (the dock came with version 2.0.1, I was unable to upgrade to 2.0.2, but now 2.1.2 was available). I downloaded that and was successfully able to upgrade the dock to that version. However, the TV show problem is still there.

I emailed them again, and after another four day delay, they asked what type of iPod I had and what the software version was. I responded right away, and at 6:30 this evening (three days after my last email) got another response, simply asking what generation my iPod is. I'm willing to give them whatever information they need to solve the problem, but if it takes them four days to ask each question, this is going to take forever.

So far, I can't say I'm all that impressed with the tech support offered by DLO. Whenever I send an email, it takes them 3 or 4 days to respond. The first thing they told me was "wait for a new upgrade, and maybe it will fix the problem", which didn't exactly fill me with confidence. It sounded like they simply had no idea what the problem was and didn't want to be bothered looking into it. They were fairly quick in getting a new dock out to me when I returned mine, though they just grabbed one from the shelf and fired it off, they did not send me an upgraded one like I asked them to. I first reported the problem to them on December 7; it's now January 28 and I'm no closer to having the problem solved. Well, I guess that's not true; since I'm using a different dock, I can safely assume that it's not a hardware problem, it's probably a firmware problem. Maybe an incompatibility with the iPod firmware, but it's the latest firmware — shouldn't they have tested that?

I will update this entry as progress occurs, but at some point I'm just going to have to send the thing back, ask for a refund, and move on. That's too bad, since this is the nicest dock I've seen, and when it worked, I was really happy with it.

Blogger vs. Wordpress

When I changed my blog over to the new URL, I started thinking about hosting the blog myself, rather than going through blogger. My first thought was "How am I going to move the existing articles over?" I have since decided not to do this, at least for now, but while thinking about it, I realized that I had no backup of my blog entries anywhere. I thought this might be a good idea, so I looked for an export function in blogger, but there isn't one. After a bit of searching, I found a couple of complicated methods of exporting all of your blog entries. One of these involved replacing your template with a different one, which would change the actual blog itself so that you could basically cut and paste the entire thing and then replace the template afterwards. This seemed like overkill, but then I found a comment that said something like "I just created a wordpress account and imported everything".

I looked at wordpress and found that not only did it have an import feature that would automatically import all blog entries and comments from an existing blogger blog, but it also had an export feature which would to export your entire blog (including comments) to a single XML file. This seemed like exactly what I wanted, so I created a wordpress blog, imported everything from my blogger blog, then exported it to an XML file. The whole process took maybe 5 minutes, and I now have a 1.4 MB file containing every entry and comment on my blog from the beginning of time (also known as April 9, 2005) until January 26, 2008. I then changed my blogger setup so that it will automatically email every entry I post to my gmail account, and I'll set up a filter there so that entries automatically get tagged as blog entries and archived so I'll have a record of those as well.

Truth be told, I actually prefer the look of the wordpress blog to that of my blogger one. The export feature is a very nice thing that blogger doesn't have, and I was considering switching over to use wordpress permanently, until I saw this at the bottom of wordpress's features page:

To support the service we may occasionally show Google text ads on your blog, however we do this very rarely. In the future you'll be able to purchase an upgrade to either turn the ads off or show your own ads and make money from your blog.

I seem to have this implicit dislike of online advertising (though I use (and love) gmail which does have ads, and I appreciate that this is how these services can be offered for free), so no thanks. If I had hundreds or thousands of readers, I could maybe see putting some ads on there for a little extra income (though having said what I said about online advertising, I might feel like I sold out to The Man). However, the way my readership numbers look now, I'd likely make nothing — the odds that either of my readers would click on anything are pretty low. Isn't it ironic that one of the reasons that I don't want to switch is because Wordpress might show Google ads, while blogger (which is owned by Google) does not?

Another problem is that if I wanted to use www.cutthechatter.com (rather than cutthechatter.wordpress.com), I'd have to pay $10 / year, whereas it's free with blogger. (Well, I have to pay for the domain itself, but I'd have to pay for that either way.) So I think that for the foreseeable future, I'll be sticking with blogger.

I do think I will have to play around with my blogger template to make it prettier, possibly using the Wordpress one as a guide.

Saturday, January 26, 2008

Gail's television debut

The drama with the school issue I wrote about before continues. There was a meeting at the high school last night, where over 100 parents and members of various school councils (including Gail) met to brainstorm on ideas of how to best solve the problems at the high school and Greenleaf without busing our kids away. Each participant with an idea wrote it down on a piece of paper, and Gail now has a huge stack of paper here with lots of different ideas. One of the "rules" for this meeting is that any idea was to be submitted, even if you thought it was silly or impossible, so some of the ideas are pretty "out there", but it was great to see a lot of people come out and not only show their support but voice their opinions. Gail, some other Greenleaf council people, and members of other school councils will be meeting with our school board trustees next week.

Someone called the local TV channel and they sent a team up to the meeting. A few people, including Gail, were interviewed and appeared on last night's 11:00 news. Since this was Gail television debut, I'm trying to find a link to the video online, but no dice yet. We did tape it (with actual video tape, no PVR yet...), so I suppose I could record it from there onto the video camera, and then transfer from that onto the computer, but I'm sleepy. Maybe tomorrow. She was also interviewed the other day for the local paper, and that story came out today.

Friday, January 25, 2008

Toy review: Universal Remote

With my winnings in the football pool, I decided to buy a new universal remote control. We've had one for a few years, and it's been great, but the back cover recently broke, and so we wrapped an elastic band around it to keep the cover on and the batteries in. It looked ugly, the batteries wouldn't sit properly because the cover wasn't as secure, and so it was getting flaky, so I got a new one. The Logitech Harmony H659 was on sale at Future Shop, $139 rather than about $200.

This thing is very cool. The big difference between it and most remotes is the concept of "activities". With my old remote, and most that I have seen, you have buttons that switch among different devices, and then the rest of the buttons may or may not change depending on which device you've selected. So to watch TV, here's what we had to do:

  • Press TV, press Power, make sure TV is set to standard input, channel 3
  • Press Receiver, press Power, make sure receiver is set to TV input
  • Press Cable, press Power

Turning everything off was at least six button pushes, up to ten if the VCR and DVD were on. That was a hell of a lot more convenient, however, than picking up the TV remote and turning the TV off, then picking up the receiver remote and turning it off, then picking up the cable remote and turning it off, then...

Now, when we want to watch TV, we press the "Watch TV" button. It turns everything on that's not already on, and sets everything up properly. When you're done, you press "Off" and everything goes off. There were ways to use fancy macros to do all this with the old universal remote, but it was enough of a pain to set up that I never bothered. Also, the remote was not smart enough to know, for example, that it had already turned the TV on, so if you hit the "watch DVD" macro, it would attempt to turn the TV on, and thereby turn it off. With this, the hardest part of setting all this up was trying to read the model number on the back of our (36" tube) TV. The rest was easy.

The remote assumes that everything is off when you start, and then keeps track of the on/off state of the devices. If you manually turn something on or off, that will mess it up a little, but there is an easy method of recovery. If something goes wrong, you press "Help", and it will go through everything one step at a time, asking you each time whether the problem is solved. This is helpful if, for example, you turn the DVD player on manually to insert a disk, and then press "Watch a Movie". The remote thinks that everything is off, so it turns everything on except the DVD player, which it turns off. If you press the help button, the first question is asks you is "Did that solve the problem?" This is kind of a dumb question — no, simply pressing Help did not solve the problem. After you say "No" to that, it goes through the affected devices one by one and asks if they are on and tuned appropriately. If you say "No" at any time, it re-sends that particular command and asks you if it's OK now. If so, it asks if the problem is solved and if not, continues through the rest of the devices. It's straightforward enough that Ryan (who's 8) has had no problems using it so far. Nicky has been fine with it as well, though he hasn't run into any problems yet. Since he can't read as well as Ryan, he may have some trouble, but Nicky has no problems yelling for someone to help him if he can't do something (or even if he can but just doesn't want to). The "tutorial" for teaching the family how to use the thing was quick and easy — choose one of the activities (watch TV, watch a video, watch a DVD, play the Wii, listen to music), and everything on the remote just works the way you'd expect. If you have a problem, just press Help and follow the instructions. That's it.

There are six "soft" buttons at the top, and you can program them for any function in each mode. For example, in "Watch TV" mode, I have two of them set to "Page Up" and "Page Down", so I can quickly scroll through the channels in the guide listing. In "Watch a Movie" mode, I have them set to DVD-related buttons, like Menu, Next Chapter and Prev Chapter.

The software you use to program the device is good but has one drawback — it's a web app, so you must be connected to the internet in order to program the remote. Not sure why they couldn't have a standalone app that can connect to the internet to download new supported devices and fixes and stuff. I have a laptop with wireless internet access, so it doesn't really matter for me, though if my internet connection was down I wouldn't be able to program the remote, which seems like a silly limitation. Also, if I were to buy one for my dad, he'd have to do everything over a dial-up connection which would be painful. The software itself is pretty good, though it's all "wizard-based", so it asks you what you want to do and gives you screens and options based on that. I'd like to see an "advanced" mode, where you have more detailed control so if I want to change one button, I don't have to navigate through twelve different screens to get to the right one. The interface to the remote itself is high-speed USB, so once you've got the programs the way you want them, you plug the remote in, click "Update remote", and wait a minute while it downloads everything and reboots it.

I've only had the thing two weeks, but I love it. The only thing it doesn't do that the old one did is control the ceiling fan/light. The fan is an old Sears model (came with the house), and the new remote refuses to "learn" the IR commands from the fan remote. The old universal remote did learn the commands, though it was flaky, so Gail always had to ask me to turn the light on beacause you had to hold the remote an inch from the remote sensor on the light. Yes, this does rather defeat the purpose of having a remote control. We don't use that light all that often anyway, so as long as we keep the real fan remote around, we're good.

Tuesday, January 22, 2008

Ferguson gone, Fletcher back

I've been calling for the firing of John Ferguson as GM of the Leafs for almost a year now. Now that it's happened, I'm not sure it's the right move. Well, sort of. It's a move that definitely needed to be done, but I'm not convinced it's the only move that needs to be done.

On Ferguson's watch, the Leafs have gone from a just-making-the-playoffs mediocre team to a laughing stock, bordering on the worst team in the league. Based on the moves that he has made, I believed that Ferguson was simply incompetent, and did a lousy job of running the team. In recent days, however, I've heard a lot about what's gone on behind the scenes — Ferguson tried to make a number of deals that were nixed by Richard Peddie, the CEO of MLSE, and not a hockey guy. Given that, it's quite possible that it was not entirely Ferguson's fault. If his hands were as tied as I have been led to believe, there wasn't much he could have done.

Having said that, as I've mentioned before, MLSE has treated Ferguson very badly over the last few months. His contract was going to end after this season, and MLSE didn't bother to renew it, implying that he was going to be done after this season, and Peddie did say that hiring Ferguson was a mistake. Ferguson says it did not affect how he did his job, but I think it must have, and it more than likely affected the other GMs in the league and how they dealt with him. Over the past couple of weeks, the Leafs have all but announced that Ferguson was going to be fired, and that they were talking to Cliff Fletcher about the position, so he knew his days were numbered. Openly talking about who the next GM is when the current one is still there is just not very nice. So it was kind of unfair to Ferguson not to put him out of his misery and just fire him.

Cliff Fletcher has been hired as interim GM, and will search in the off-season for a new full-time GM for next season. MLSE has announced that "As all of our general managers have had, he will have the autonomy and responsibility for all hockey decisions..." If that's true and Ferguson did have complete autonomy, then he's at fault and deserved to be fired. If that's not true, and some of his attempted moves were blocked, then Peddie should also be fired. Since the Leafs have been making money hand over fist on Peddie's watch, I doubt that the rest of the board of directors of MLSE would even consider firing him.

There's also been talk of firing coach Paul Maurice, which I don't agree with. As the old saying goes, you can't turn chicken turds into chicken salad by adding mayonnaise. Given what he had to work with, I don't think we can look at the Leafs' record from this year and last and conclude that it's Maurice's fault. Even if Maurice was the best hockey coach in the world, I'm not sure he could turn this team into a winner. I say wait until Fletcher (and whoever the next GM is) makes some moves and gives him a half-decent team, and then see what he can do.

Ironically, Cliff Fletcher was GM of the Leafs in the early 90's, and made the trade that brought Mats Sundin to Toronto. Now his first act at GM might just be to trade Sundin away.

Sunday, January 20, 2008

Save Greenleaf!

I don't write too much political stuff here. This is mainly because I don't follow politics all that closely, and I don't have strong opinions on a lot of political issues. However, there's a local issue that's recently come up that I really have to write about, since it directly affects my family, specifically my kids.

My kids go to Allan A. Greenleaf Elementary School, and Gail is the chair of the school council there (and has been for four years). They love the school, and Gail and I have grown to know the school and its staff pretty well. Over the years that Gail has been on the council, there have been lots of events intended to bring parents into the school and foster a real feeling of community: in particular the annual spaghetti dinner and silent auction which raises a ton of money for the school, and free family movie night.

Greenleaf is right next to Waterdown District High School (WDHS), the only high school in town. They share a parking lot, and there are a bunch of portables between them. WDHS has over 1200 1400 students, and is severely overcrowded; they have an astounding 29 18 portables scattered around the school grounds. They have to expand the school, there's no question about that. The school grounds, which includes the high school, Greenleaf, and also the local YMCA, is bordered on the south by a fairly major street, and on the other three sides by farmland, all of which is owned by a developer. The school board has been in negotiations with this developer for years to buy some of the land next to the school so that they can expand. This deal recently fell through. I'm not going to comment on that, since I know none of the details of the bargaining, but the end result is that the school will have to expand on its existing land.

Here is a Google satellite map of the area. You can see the high school at the top right, Greenleaf at the top left, and the YMCA at the bottom left. The picture must have been taken a little while ago — I can only see 11 portables at the high school, and only two at Greenleaf, which now has eight or nine.

The board has come up with two plans to solve this problem: (1) build extensions onto WDHS, or (2) take over Greenleaf and make it part of the high school. If they go for option (2), they then have to decide what to do with the 700 kids that currently go to Greenleaf. The two options there are (2a) bus the kids to two currently empty schools in Dundas (~10-15 km away) while they build new schools in Waterdown for them to return to, or (2b) scatter the kids between the other three elementary schools in Waterdown. Either way, the school spirit and environment that they've built over the years will vanish, as Greenleaf will cease to exist. In option 2a, at least most of the kids and staff will be moved en masse so the environment would be similar, but they'd still be split in half and they wouldn't be going to school in Waterdown. They'd be moving to older schools that have been abandoned and stripped (everything from the air conditioners to the fire bells have been removed). Also, there is no timetable for when they might return to Waterdown — the board doesn't currently even own any land on which they can build a new school.

The board did mention another "unofficial" option: expropriate the land from the developer. They apparently have the power to force him to sell it to them at fair market value, though I believe there are some legal stumbling blocks that make this option difficult. Someone sent an email to the local city councillor as well as our MPP asking them about that possibility. The councillor replied (rather rudely) and said that the city could not help and it was up to the board, but our local MPP said that he spoke to the mayor about it and would look into this possibility. The MPP was helpful and polite, the councillor was unhelpful and rude. One of those two has announced that they will not be running for re-election next time around — three guesses which one, and the first two don't count.

Option 1 (building additions to the high school) is not without its problems either. The renovations will take two years, during which time the high school students and the Greenleaf students will be going to school in a construction zone. There is only one entrance/exit into the school/YMCA area, so the school parents and staff and YMCA visitors and staff will be using the same entrance as the construction vehicles, and part of the plans include building a second storey above an existing one. While that's happening, students will not be able to use the first floor of those areas.

The board has not stated which of the options they are leaning towards. They held a public information meeting at WDHS last Wednesday where they outlined the options. Lots of Greenleaf staff members and parents were there. Gail tore a muscle in her calf on Tuesday night and spent three hours in the hospital on Wednesday, but even the inability to walk didn't keep her away from this meeting. She hobbled in on crutches to make sure she knew exactly what the options were so that she could present them to council at the regular council meeting the next night. The result of that (second) meeting was that the parents and staff are pretty much united that we don't want to lose our school. We understand that the high school needs to expand, but the option of taking over Greenleaf and busing 700 kids to Dundas or scattering them among the three already-crowded Waterdown schools is simply not acceptable.

At the meeting, a third option was proposed, which will be presented to the school board. The original option (2) was to move the kids to an abandoned school, expand the high school, and then build a new school for the Greenleaf kids to come back to. We submit option 3: the construction should simply be ordered differently. Build a new school, move the Greenleaf students there, and then let the high school take over Greenleaf. The high school is apparently big enough to handle the current student load for another couple of years, so they'll be OK during the construction of a new school, the Greenleaf students and staff don't get scattered to the four winds, and after the new school is built, the high school can take over Greenleaf and grow as necessary. Everyone wins.

Greenleaf was built because a group of Waterdown parents wanted a new elementary school and formed a group to look into the possibility. The parents group contacted developers and did most of the legwork and then presented their findings to the board, and Greenleaf was built within two years. Given that, here's no reason a new school couldn't be built within the same two year time frame.

Disclaimer: My wife Gail Perrow is the chair of the Allan A. Greenleaf school council. The opinions expressed here are my own. I am not speaking on behalf of her or the council.

Update: Fixed some of the numbers which were inaccurate.

Saturday, January 19, 2008

What it's all about

During Nicky's skating lessons this morning, they played the "Hokey Pokey", and it brought back a memory of me getting confused with the lyrics when I was a kid. I was as pedantic then about the English language as I am now.

According to the lyrics, here's how the dance goes:

  1. You put your <body part> in
  2. You put your <body part> out
  3. You put your <body part> in
  4. You shake it all about
  5. You do the hokey pokey
  6. You turn yourself about
  7. Revel in the fact that you now know what it's all about

But look at #5. "Do the hokey pokey". I thought the whole thing was the hokey pokey. How can you do the hokey pokey as part of doing the hokey pokey? Is this a recursive dance? Can't be — there's no way to end the recursion. Us computer scientists would be dancing forever until we dropped dead of starvation or exhaustion, and not only would none of us would ever get to the "turning yourself about" part, but we'd never know what it was all about.

Monday, January 14, 2008

A couple of sports quickies

There have been a number of US Congressional hearings with respect to illegal steroid use in Major League Baseball. A number of current and former baseball players have been asked to testify at these hearings to determine the extent of the steroid use in baseball. Quite honestly, I'm glad this is happening, since MLB has been turning a blind eye to steroid use for years, and if it weren't for the Congressional involvement, the Mitchell Report never would have been commissioned, people would still think steroid use in baseball was minimal, and José Canseco would still be thought of as an attention-seeking nutcase. (He might still be, but it looks as if he was right when he wrote his book about the rampant use of steroids.)

But all that aside, why is Congress involved? How is steroid use in baseball important enough to the American people that their congressmen (congresspeople?) need to get involved? Aren't there any more important problems for them to solve?

Toronto Rock head coach Glenn Clark is in a mess o' trouble. There were a number of fights and game misconducts at the Toronto - Minnesota game that I was at last Friday. After the game (which Toronto lost in overtime), Clark encountered one of the Minnesota players (Sean Pollock, who had been ejected early in the game) in the hallway near the Toronto dressing room. Pollock apparently made some comments about the game which Clark disagreed with, and Clark ended up punching him in the face a couple of times. Clark has now been charged with assault by Toronto Police. The NLL is also investigating and will announce the results of their investigation (likely a lengthy suspension for Clark) later this week. So not only is Clark not likely to be behind the bench again anytime soon, but he may get fired by the Rock entirely, and what's worse, his day job may be at risk as well. When not coaching the Rock, Clark is a teacher, but if he's convicted and ends up with a criminal record, his teaching career is over as well. Hopefully it doesn't come to that.

Clark played for the Rock for a number of years — he was a great defenseman and I was a big fan of his (I even created his Wikipedia page). Then he got injured one year and missed over half the season, and when he came back the next season, he just wasn't the same. He played another year or two in Toronto, but was never as effective as before the injury. He signed as a free agent with Philadelphia and played a year there before retiring to take the head coach job with the Rock. He was never afraid to drop the gloves, and always played with passion, but he rarely did blatantly stupid things. However, during one game last year, he (as a coach) had to be physically restrained by one of his players because he was irate at one of the refs. There are other coaches in the league who get all riled up and yell and swear and throw things and stuff, but I've never heard of Darris Kilgour or Troy Cordingley hitting a player. If Clark is less composed than Darris Kilgour, well, that's bad.

I think he should be suspended for at least half the season, if not the remainder of the season, and should be fired by the Rock. (Some have suggested a lifetime ban, but I think that's a bit harsh.) There's no place in lacrosse, or any sport, for stuff like that. It's one thing for players to lose control like that, but Clark is the Head Coach. Even if some of the players on his team are older than he is (he's 38 — several months younger than me), he still has to be held to a higher standard. Maybe he can take the time away from lacrosse to take an anger management course.

Having said that, I don't think there was any need for police involvement. As bad as this incident was in the world of lacrosse (or sport in general), it was right after a high-intensity game that saw numerous lead changes, went to overtime, and saw a number of players penalized and ejected. This took place during a professional sporting event, not a floor hockey game during gym class. Clark is very passionate about lacrosse, and obviously needs to learn to control that passion. I'm not defending him — he did a stupid thing and deserves to be punished for it — but I don't think there's any need to jeopardize his teaching career because of it. I don't think there's any danger of some 11th grader talking back to Clark in class and getting socked.

OK, that second one wasn't as much of a quickie as I originally intended...

Sunday, January 13, 2008

I want to be terrible too

Here is a great article by a self-confessed "terrible programmer" who points out his own "failings" as a programmer and how he covers them up, so that nobody will find out the truth. Of course, he is not a terrible programmer; quite the contrary. He is obviously an experienced programmer who is very good at what he does. (Note that I have no idea who this guy is.) The methods he uses to cover up his incompetence are time-honoured ways of ensuring that the code you release is as correct and robust as possible: do code reviews, use assertions liberally, test the snot out of your code, and use the right tool for the job.

As for me, I do use assertions all over the place, and I'm usually pretty good at writing tests for the modules I write. I am part of the core engine team for SQL Anywhere, a relational database management system from Sybase iAnywhere. When I add features to the database engine, I make sure I test boundary conditions, confirm the syntax of any SQL statements I add, and try to make sure that whatever changes I've made work in multiple types of databases, and on multiple platforms. However, I work on a lot of security-related features (encryption, authentication, database permissions, auditing), so I have to do more than just write tests — I have to think about how hackers could break into our systems, or otherwise gain access to data that they should not have access to. If someone was watching packets go by, could they use that information to break into the database? Could someone write a man-in-the-middle program that makes itself look like a server so that clients will connect to it instead of a real server? Can we eliminate the possibility of brute-force attacks, or at least slow the process down enough to negate the effectiveness of the attack? Can we give the DBA the ability to detect when intrusion attempts are happening, and determine where they are coming from?

Anyway, I occasionally make the same mistakes the author does — bugs in code, not initializing variables (ran across one of those this past Friday, actually), making assumptions that aren't true (and not backing up those assumptions with assertions), stuff like that. I use some of the same methods of covering up my own incompetence as he does, so perhaps I'm as terrible a programmer as he is. I can aspire, anyway.

Just remembered that my boss sometimes reads my blog, so maybe admitting my own incompetence here is a bad idea...

Friday, January 11, 2008

Catch-22 for Ferguson

John Ferguson Jr. is in a tough spot. As the GM of the Leafs, it's his job to build the Leafs into a successful team. In my opinion, he's done a lousy job of this, and the fact that the Leafs are playing really badly, losing yesterday to the worst team in the league, is evidence of this. The right thing to do now, as I've believed for a couple of years, is to blow the team up and start over with young kids and draft picks. One problem with this idea is that lots of the Leafs have long expensive contracts with no-trade clauses. These will be hard to get rid of, since nobody wants to take on that big a contract unless it's for an exceptional player, of which the Leafs have none.

And then there's Mats Sundin. He's been the face of the Leafs for over ten years, is a fan favourite, and is still an impact player. He has stated numerous times that he wants to remain in Toronto, but he's by far the most tradeable player on the team, in that he'd get the most interest and the Leafs would get more for him than the rest of the team combined. The buzz around Toronto is whether or not the Leafs will trade Sundin, who's an unrestricted free agent after this season. If they do, it's basically an admission that they're not going to make the playoffs this year, and that they're trying to rebuild. As much as I love Sundin, this is the right thing to do.

I heard some hockey analysts (far more knowledgable about hockey than myself) on the radio yesterday talking about this, and they said that Philly got a couple of current players (one great, one good) and two draft picks for an injured Peter Forsberg, and that Sundin would fetch even more than that. One suggestion was that Sundin would fit in nicely on the Ottawa Senators with his good friend and fellow Swede Daniel Alfredsson. How painful would it be for Torontonians, many of whom (though not me) hate the Senators with a passion, to watch Mats Sundin hoist the Stanley Cup wearing a Sens jersey? Ouch.

But here's Ferguson's real problem. The Leafs' ownership, MLSE, have not renewed his contract for next year, and Richard Peddie has gone so far as to say that hiring Ferguson was a "mistake". The Leafs have missed the playoffs for two straight years, and are looking at a third, and it would seem that Ferguson's only chance to not get fired would be to make the playoffs this year. So what should Ferguson do? If he trades away Sundin for prospects and draft picks, which is sacrificing this season for the future, he's putting the Leafs in a better position going forward but all but guaranteeing that the Leafs will miss the playoffs and so he'll probably lose his job. If he keeps Sundin, the Leafs might squeak into the playoffs but will get devastated by Ottawa (likely to finish first in the East) in the first round. He may keep his job for another year because they made the playoffs (seemingly, this milestone indicates to MLSE that the season was a complete success), but the situation next year and in future years won't be any better. So in a nutshell, if he tries to make the team better, he gets fired. But if he keeps things the same or does nothing to prevent them from getting worse, he might just keep his job.

Or possibly MLSE will realize that trading Sundin is good for the Leafs' future, and as long as he doesn't get raked over the coals in the deal, maybe give Ferguson another year with these new kids — even if they do miss the playoffs this year. Sundin is also an unrestricted free agent this summer, so even if they do trade him, it's possible that they could resign him then, and have the best of both worlds. Then again, even if they trade Sundin for Sidney Crosby and a draft pick (an arguably good deal for the Leafs, and one likely to get the Pittsburgh GM fired or, more likely, shot), they've still got Kubina, McCabe, Raycroft, Stajan, and bunch of other half-decent-at-best or overpaid (or both!) players. Even Crosby couldn't carry these guys by himself.

Look at me, hoping that MLSE makes some smart decisions when it comes to the Leafs. Talk about blind optimism. Here's what will happen: the Leafs will hold onto Sundin until he retires, and will not get noticably better in that timeframe. Then with Sundin gone, they'll get worse.

Football pool winner! Who'da thunk?

I've blogged a couple of times now (here and here) about this football pool I'm in, and how I don't know anything about football but was doing well anyway. I am stunned beyond belief to announce that I won the whole damn thing. I finished 6 points ahead of second place, and 68th overall in all of ESPN.

Financially, I came in second in week 2 ($10), then I won week 16 ($30), and then I won $260 for first place overall, for a total of $300. I'm still deciding what to do with that money. Do I just put it toward the credit cards, or do I treat the family to something, or do I say "screw 'em all" and buy myself a new Rock jersey?

Thursday, January 10, 2008

National Delurking Week

Happy National Delurking Week! For anyone who doesn't know what that means, "lurking" is what you do when you read a blog but never post any comments. This week, you are encouraged to post a comment, just to let me know that you're out there.

For anyone who reads this blog (or its equivalent on facebook), feel free to post something profound, something not very profound, or just "hi"! And remember...

Wednesday, January 09, 2008

I continue to rock

I got Guitar Hero III for the Wii for Christmas, and as I found with Guitar Hero II, I rock. I played a bunch of different songs on easy mode and I must say, I kicked serious ass. During Alice Cooper's "School's Out", I blew the very first note, than hit the next 170 in a row, then messed up two more in the solo, than nailed the rest of the song. I missed three notes out of about 275. I was over 90% on every song, and over 95% on most. I might just be the world's greatest Guitar Hero III player.

On easy mode, anyway.

After getting all cocky, I played one song on the medium difficulty level, and my inflated ego started to deflate back down to it's normal size. I think I was still over 90% on that song (but only just), but it was significantly more difficult than easy mode, and I had to work a lot harder. I'll have to play a few more songs on that mode, but someone at work did confirm that the jump from easy mode to medium mode is pretty big. I haven't tried hard or expert modes yet, but I should probably at least try those before I crown myself king.

The game is seriously cool. Not only is there a whammy bar (which I use far more often than the on on my real guitar), but you can do hammer-ons and pull-offs, and even play chords. No sliding though. The graphics are cool — if you have time to look at anything other than the streams of notes coming at you, you can see the guitar player playing the song (i.e. strumming at the right time and such — haven't checked to see if the fingering is correct), and the singer's mouth is even sync'ed to the lyrics.

I read an article once where the author wondered if the next generation of guitar players might be starting out now with Guitar Hero, and I don't think it's all that far off. Obviously you will not learn how to play the actual guitar or read music or anything like that by playing this game, but it's pretty good for teaching rhythm and it's good as a finger exercise as well.

We also got Mario Galaxy and Lego Star Wars for the Wii, and I haven't quite finished Super Paper Mario yet, but I'm not sure how much playing of anything other than GHIII I'll be doing in the next while...

Tuesday, January 08, 2008

Great Wolf Lodge

We spent last weekend at Great Wolf Lodge in Niagara Falls with our friends the Scanlons and the Wadsworths. It's only been open a year or two, and none of us had ever been there before, so we weren't completely sure what to expect. Bottom line: it's not the cheapest place around, but we had a lot of fun. It's expensive for a reason though — there's a ton to do, and they've spent a fair amount of time thinking about the convenience of their guests, which it seems not a lot of places have done. I don't think there was a single time over the weekend when I wondered "why did they do it this way?" Of course, part of that is the fact that it's brand new — they haven't had "backwards compatibility" issues yet. By this I mean that they haven't yet had to upgrade things or add new things overtop of existing things. I'm sure the people at Canada's Wonderland or other parks would love to rearrange ride locations and stuff, but you can't shut down four or five rides for several months to move them around just to make things more convenient.

OK, there's one thing I did wonder about — the Lodge is built in a fairly run-down area of Niagara Falls. To get there, you take the 420 from the QEW but instead of turning right to go towards the falls and the touristy section of town, you turn left and drive for a few kilometers. A minute or two after you think "this can't be right, I must have missed it", there it is. Literally across the street from the lodge, there are some pretty old beat-up houses. I remember thinking that some of the people who got the expensive rooms with balconies paid upwards of $400 a night, and their view from the balcony includes houses that cost less than that per month in rent. However, given the size of the lodge and the amount of land they needed to build it, it makes sense. The cost of that much land closer to the middle of town would be unreal, so it was probably much cheaper to build out where they did. It's only about a ten minute drive to Clifton Hill anyway, so it's not like you're all that far away, really.

Great Wolf Lodge, in case you've never heard of it, is an indoor waterpark and hotel. It does look inside and out like a lodge rather than a standard hotel, as if it were entirely made of logs. The rooms were pretty nice — we had the "Kid Cabin" style of room, which was basically a suite. The kids had their own little room with single bunk beds and a third single bed, a TV, and a wall mural covering the entire room that made it look like a little log cabin, complete with windows and friendly-looking animals peeking in. The rest of the room was a fairly standard hotel room with a fridge, microwave, coffee maker, fireplace, hair dryer, and safe. The waterpark area is huge, with a number of water slides (some using inner tubes, some not), a family slide (where up to four people could fit into one raft), a "roller coaster slide", the "vortex" (which is like a water slide into a big toilet bowl), wave pool, hot tubs, and a big play structure with lots of water-spraying devices. The "roller coaster slide" was cool — three people sit one behind the other in a raft, and after each drop there is a conveyer belt that brings you back up again (fast!) to drop again. I only rode that one twice because (a) there was always a long line-up for it, and (b) Nicky was too small to go on it, so I had to find someone to look after him while Ryan and I went on it. This was because Gail was away for almost all of Saturday, but more on that later.

The thing that impressed me the most were the wristbands. Maybe they have these at other hotels or parks or whatever, but I've never seen them, and I thought they were the coolest thing ever. Each guest gets a wristband which you wear from the moment you check in. The wristband contains a little RFID (I'm guessing) tag that acts as a room key (hold your wrist up to the lock and it opens), locker key, and even credit card — you can use it at the snack bar or restaurants to charge stuff to your room (though you still have to give your name and sign a receipt). You can also get tokens at the arcade with your wristband, and if you forget which locker you locked, you can scan it at a little booth and it will tell you. We could also set up the kids' wristbands so that they could unlock the doors and be used with lockers but they couldn't be used to charge stuff to the room (I'm sure they call this feature "teenager protection"). The wristbands are (obviously) waterproof, so when you go to the waterpark area, you don't need to bring anything. You automatically have your room key with you, and if you want lunch or snacks or drinks or anything, you don't need to run back to the room to get cash, or worry about hiding your wallet under your towels while you swim. If they could only build a 10 MP digital camera in the wristband, we'd be all set.

The rest of the weekend in a nutshell:

  • "Cub Club" was a club for kids where they could make crafts, play, and watch TV, and they also had "story time" every evening, where a story teller came out and read a couple of books (the night we went, it was "Green Eggs and Ham" and Robert Munsch's "Mortimer"). The kids really enjoyed that.
  • The food was good and not overpriced for the most part. The food at the snack bar was pretty good, and the dinner buffet was excellent. The breakfast buffet was also very good but expensive, so I wouldn't do that again, especially considering that there were more reasonably priced alternatives. There were a couple of little cafés in the hotel that had muffins and doughnuts and even bowls of cereal.
  • There was an arcade as well, with both standard video games as well as games where you win tickets which can be cashed in for prizes. The tokens were not as expensive as at other arcades I've been to. Of course, we paid $60 in tokens all told, and ended up with maybe $15 worth of prizes, but that's to be expected.
  • One night, Ryan wandered into the arcade accidentally (we asked him to go find one of our friends in front of the arcade, but he misunderstood). He saw a light flashing on a game, hit a button, and won 150 tickets. Another time, he put a token in a "Wheel of Fortune" type game, hit the button at exactly the right time, and won 250 tickets. Those two wins constituted about one third of the whole family's total winnings all weekend.
  • We had dinner at the Rainforest Cafe right at the base of Clifton Hill on Saturday night. Afterwards, we went for a ride on the Niagara Skywheel further up the hill, where we had a great view of the falls and the rest of the city, though I spent half the time fumbling with the new camera, trying to take a picture that actually looked good. Because it was at night, the camera wanted to use the flash and it ended up bouncing off the glass. Turning the flash off didn't help either, because it then kept the shutter open longer, and so everything was blurry. I'm quite sure the real problem was user error, but I'll figure it out, eventually.
  • After the giant wheel, we drove out to see the Winter Festival of Lights, which was very cool, as always. We try to get out there every year.
  • In the waterpark, chlorine smell was surprisingly minimal, considering the amount of water and the fact that it was indoors. By Sunday afternoon, however, it was starting to get to me. By the time we left, I was coughing almost uncontrollably, but the coughing stopped minutes after we left the water park area.

Gail had to miss Saturday entirely because of a funeral. Her great uncle James passed away on New Years Day, and the funeral was on Saturday in Ingersoll, so she had to drive two hours each way. This was the second vacation in the last year that was interrupted by a death in the family — our trip north last July was cut short after Gail's aunt passed away unexpectedly. You hate to say this about any death, but Uncle James's passing wasn't quite as tragic as Aunt Barbie's — she was only 57 and her death was unexpected, while Uncle James was 85 and hadn't been in great health for a while. Over Christmas, we had discussed the idea of having a little "reunion" some time soon, as James and his sister Helen (Gail's grandfather's brother and sister) and their spouses (Gail's dad jokingly refers to the four of them as the Matthews "elders") were getting up there in age. Unfortunately the idea came too late.

I've put some pictures from the weekend up at my family web site.

Thursday, January 03, 2008

Next we're getting rid of the rotary dial phone

We joined the 21st century today, as I took advantage of the Boxing day sale at Future Shop and bought a digital SLR camera. Up until Christmas, we had no digital cameras at all — not a little cheap point-and-shoot, not even one in our cell phones. (This is actually not true, but I'll describe the exception below.) When Ryan was very young, we bought a Canon Rebel SLR camera, and a year later we got a big zoom lens. The pictures we get out of the camera are fantastic, and the zoom lens is awesome. However, it's not digital. I've been thinking about going digital for a couple of years, but Gail never wanted to, because she was not convinced that the pictures that you'd get from a digital camera (other than the seriously expensive professional quality ones) were as good as the ones we were getting from our SLR, and she might have been right. However, in the last year or so, prices have come down while camera quality has gone up, and we're now to the point where you can get 5 MP cameras for under $100, and the good SLRs are over 10 MP (and the really good ones are over 20). There is no way, short of blowing a picture up to wall mural size, that a picture from a 10 MP digital camera is distinguishable from a picture from a standard SLR camera. When we decided to go to France this coming summer, we realized that we might take 15-20 rolls of pictures while there. We'd come home to several hundred dollars of processing costs, and only then would we find out if the pictures we took even turned out. People's eyes may be closed, or the lighting was such that the picture was unusable, or whatever. This pushed Gail over the edge, and we started shopping for digital cameras.

For Christmas, we bought the boys (each) a little 5 MP digital camera, which they've been going crazy with (Nicholas has gone through three sets of batteries and has taken over 250 pictures in a little over a week). When we went north for Christmas, we managed to bring our camera without extra film (duh), so when we wanted to take pictures of anything, Gail borrowed one of the boys' cameras, and I think that helped. She found (like the majority of people who have had digital cameras for years) that the way you take pictures is different with digital — you don't always have to wait for just the right moment. You can take 20 pictures and if only one turns out, that's fine. You don't feel like you're wasting film taking more than one of the same thing.

Because we have this great zoom lens and didn't want to give it up, we were excited when we found out that as long as we bought a Canon digital SLR, we could still use the same lens. We started looking at Canon SLRs and narrowed it down quickly. The 30D was about $1200 for the body only, and we didn't want to spend that much. The Rebel XT (8MP) and XTi (10.1MP) are cheaper ($480 and $620 respectively), but still very nice cameras. I believe the XTi is the newer version of the XT, so I went with the XTi. It has nine-point autofocus (our old camera had three), can take up to three pictures per second, and can take a picture within 0.2 seconds of powering the thing on. I'll post a more detailed "review" once I've had a chance to play with it a little more. I put "review" in quotes there because I'm not camera-savvy enough to post an actual review (the Dioptric Adjustment Correction is -3.0 to +1.0 diopters — I don't have any idea what that means, but the word "dioptric" is pretty cool), so like everything else in this blog, it'll just be my uninformed opinions — things I like about it, things that I don't like, things that could be improved, etc.

The exception I mentioned above was about six or seven years ago, when I bought a small digital camera at an online auction site for $40. I knew it was a pretty low quality camera, but I figured it would be fine for taking pictures for our web site or stuff like that, and for $40, it wasn't a bad deal. When I received it, I found that calling it "low quality" was a compliment, and that I would have been ripped off if I'd only paid $4. It was no bigger than a credit card and about an inch thick, but the images it took were tiny. I took a couple of pictures of our office, then uploaded them to the computer. The pictures came out slightly bigger than icons on the Windows background, and were completely unrecognizable. I don't remember the specs (which I obviously never looked at before buying it), but I think it must have been measured in kilopixels — and not many of 'em. Caveat emptor in a big bad way.

Meme: What Privileges Did You Have?

Copied from cahwyguy. Bold means the statement is true, italics means I don't know or it's complicated:

  • Father went to college
  • Father finished college
  • Mother went to college — my mom took some university level courses when I was in high school, but they were just for interest, not towards a degree
  • Mother finished college
  • Have any relative who is an attorney, physician, or professor
  • Were the same or higher class than your high school teachers — To me, upper class is the extremely wealthy, lower class is the extremely poor, and middle class is the other 95% of us. Rather a meaningless comparison.
  • Had more than 50 books in your childhood home
  • Had more than 500 books in your childhood home
  • Were read children's books by a parent
  • Had lessons of any kind before you turned 18 — piano
  • Had more than two kinds of lessons before you turned 18
  • The people in the media who dress and talk like me are portrayed positivelyBob and Doug McKenzie notwithstanding
  • Had a credit card with your name on it before you turned 18
  • Your parents (or a trust) paid for the majority of your college costs — My parents paid for residence (and tuition as well, I think) in first year, and I paid for the rest. However, I lived at home for 5 of my 6 work terms and paid no rent during those terms, thus allowing me to save up for the next term's tuition, rent, and beer
  • Your parents (or a trust) paid for all of your college costs
  • Went to a private high school
  • Went to summer camp
  • Had a private tutor before you turned 18
  • Family vacations involved staying at hotels — sometimes, usually camping though
  • Your clothing was all bought new before you turned 18
  • Your parents bought you a car that was not a hand-me-down from them
  • Had a phone in your room before you turned 18 — not my own phone number though
  • You and your family lived in a single family house for a few years
  • Your parent(s) owned their own house or apartment before you left home
  • You had your own room as a child
  • Participated in an SAT/ACT prep course — not applicable, as we don't have SATs in Canada
  • Had your own TV in your room in High School
  • Owned a mutual fund or IRA in High School or College
  • Flew anywhere on a commercial airline before you turned 16 — Scotland when I was four and again when I was 15, Florida when I was 10
  • Went on a cruise with your family
  • Went on more than one cruise with your family
  • Your parents took you to museums and art galleries as you grew up
  • You were unaware of how much heating bills were for your family

From What Privileges Do You Have?, based on an exercise about class and privilege developed by Will Barratt, Meagan Cahill, Angie Carlen, Minnette Huck, Drew Lurker, Stacy Ploskonka at Illinois State University. If you participate in this blog game, they ask that you PLEASE acknowledge their copyright.