Blog

What Bell doesn’t want you to know: The full extent of their throttling

Copyright Bell Canada

When Bell instituted their throttling of Internet services back in March, it was almost universally-reviled. It wasn’t so much the throttling that was disliked but rather the secrecy with which it was done. Bell did not notify any of their customers of this change of service, nor did they change their advertisements to reflect this new “level” of service. Thankfully, the CRTC has ordered Bell to publicly disclose the full details of whether Internet traffic levels warranted throttling. Unfortunately, this doesn’t seem to include the full explanation of their throttling policies.

Continued

Bill C-61 gets a reading: Are DMCA-style laws coming to Canada?

This Thursday, Minister Prentice tabled Bill C-61, otherwise known as “Canadian DMCA”. This move was widely expected as well as the contents of the bill. Though there have been provisions added for some “fair use”, the details reveal DMCA-style rules that may leave consumers in legal limbo when it comes to making personal copies. In fact, these rules are even more stringent than the US DMCA, and for a bill that’s been paraded as “Made in Canada”, there’s been a frighteningly small amount of feedback that the Federal Government has taken from its citizens. Add to this the rumours that Prentice met with “U.S. trade representatives and entertainment industry lobbyists to discuss the legislation,” and you have to wonder just who wrote this bill.

Continued

Bully: Scholarship Edition for Wii is a great game

Bully: Scholarship Edition for Wii

I was at EBGames last week and they were having a sale. Many of the titles with the red-discount mark (of shame?) were laughable and typical of the “shovelware” companies throw out just to capitalize on a popular gaming system like the Nintendo Wii. However, one caught my eye: Bully: Scholarship Edition for Wii was only $24.99 CAD. It’s easy to justify an impulse buy like that, especially when I had heard great things about the original, which was released for PS2-only back in 2006. (The “Scholarship Edition” is a re-released version for the Xbox 360 and Wii and contains additional content; it debuted on March 4th, 2008)

Turns out this “bargain-bin” game has been one of my better purchases for Wii. If you like the GTA-style of games, you’ll probably like Bully, as I learned.

Continued

Fixing the small title bar text in GNOME with Compiz enabled

If you’re running GNOME and have enabled Compiz effects, you may have noticed that title bar text – the descriptions at the top of windows – have inexplicably got smaller. This problem is especially relevant and noticeable in Linux Mint and other Ubuntu-based distributions, as I learned when setting up a machine for my Mom to use. You can see an example of the small/broken title bar text size below. (This was with the default settings)

Small (broken) title bar text

A quick fix would be just to increase the title bar font size in the appearance settings, but this would result in larger-than-normal title bar text if you were to disable the Compiz effects. This smaller text is actually a slight bug, and can be fixed by entering the command compiz --version in the terminal. After doing this, you’ll see the title bar text increase back to the normal size – invoking compiz seems to cause the manager to reset the size back. However, the changes do not persist after a reboot or after logging back in and it’s impractical to have to do this every time.

As with all tedious tasks, the best way to accomplish them is with a script. Here’s a nice workaround.

Continued

Wii Fit cometh

Picture 061

After much anticipation and waiting, Wii Fit has finally arrived! I pre-ordered my copy from EBGames, which was good since it’s apparently sold out in many places. Wii Fit has been hyped up ever since the release day for North America was pushed back in order to increase the strength of the balance board to support more than the 300 lbs of the Japanese version. (The NA version supports 330 lbs) I picked it up on the release day, May 21st and have been using it on-and-off for the past few days.
Here are my initial impressions.

330 lbs!

Continued

The importance of Draconian validation for method parameters

I recently ran into a problem where the callers of one of my methods was using it improperly by suppling a parameter that did not conform to the required values. However, the problems did not surface until I changed the implementation; previously, things worked by chance due to an implementation detail.

I had been using input validation, but my validation procedure was not stringent enough to detect the improper parameter. This was tied to the fact that before the implementation change, things worked perfectly fine even with the improper inputs. However, the implementation change “broke” this work flow. All of this has led me to believe in the great importance of:

  1. Draconian validation: For inputs, only accept what you say you will accept. Nothing else should pass.
  2. Proper unit testing: Test your method with a variety of inputs, both expected and unexpected or non-conforming. You never know what callers will pass into your methods.

Let me go into some more detail.

Continued

Playing with Google Maps and encoded polylines

I’ve been playing around with the Google Maps API for a bit and it’s turned out to be a great way to get started with “mashups” and the like. One of the best uses of the API is the ability to create paths or routes on the map.

This is done by creating GPolyline object and then adding it as an overlay to the map. Basically, a polyline is just an ordered list of geographical points/coordinates on the map, each of which is a GLatLng object. For serialization/storage of polylines, there is an algorithm you can use to Base64-encode a series of points; the resultant string can later be passed directly into a factory method to regenerate the GPolyline. By using encoded polylines, you also get access to a few more interesting and useful options related to rendering and performance issues.

Continued

CakePHP and error/exception handling

Copyright CakePHP

I’m currently using CakePHP and finding it to be quite useful. The “automagic” handling of tables is useful for basic relationships, though more complicated setups usually require manual work. The MVC implementation has also clearly drawn inspiration from Ruby on Rails, which may be advantageous to some, though this has no bearing on me. Though there are a few things that nag me about CakePHP (such as lack of a good testing suite, though that’s supposedly fixed in 1.2, which really should be marked as version 2.0), overall it’s a great framework that adds badly-needed structure to PHP and has saved me time.

One thing I’d like to see, however, is a proper exception handling model. I realize this would require making it PHP 5-only, but in my opinion, PHP 5 adds some sorely-need features, such as the aforementioned exception handling model and a class/object system more in line with other languages.

Continued

The fallacy of adding probabilities

I’m an avid reader of Maximum PC and have had a subscription since they were known as boot back in the late 90’s. (I’ve remained a subscriber despite the fact that they put most of their content online, a good move nonetheless, but I still like the printed version). They’re fairly accurate in most of their reviews and I respect them for both this and their useful guides and other features.

However, when reading their review of the FragBox II, I came across an interesting quote about failure rates: (Emphasis mine)

So why would Falcon configure RAM in single-channel mode? Falcon gave us three reasons for this decision: Thereโ€™s only a minimal performance advantage to running dual-channel mode with this box; RAM is the second-most-likely component to fail (the GPU is first), so using just one DIMM cuts the chance of failure in half…

The emphasized part of the statement is wrong in the general case. But why?

Continued

Using Logitech’s SetPoint Connect Utility to fix your mouse’s wireless connection

I recently bought a Logitech VX Revolution off eBay from a discount-store selling open-box and refurbished items. I intended to use it for my laptop as a portable mouse with just as many features as a desktop mouse. When I received it, the mouse could not connect to the receiver no matter what I tried. (Perhaps this was why it was an open box item)

Nothing appeared wrong with the mouse and plugging in the receiver did cause Windows to automatically detect it as a mouse. I was about ready to contact the seller and request a refund but some searching turned up a helpful forum thread with users describing the exact same problem as me. Thankfully, the fix is very simple: Use the Logitech SetPoint Connect Utility to re-synchronize/reconnect your mouse with the receiver.

Continued

View all entries by month or by category