Saturday, October 31, 2009

Happy Halloween

Halloween is one North American tradition that never grabbed me when I moved to Canada as a teen. I guess you could say that I was just never able to get into the spirit of the thing.

These days when I want to see something really scary, I just check my financial statements.

Friday, October 30, 2009

Honour Roll

Another Canadian soldier died in Afghanistan today, the second in as many days. The complete list puts faces on all the Canadian soldiers that have been lost. We must never forget.

Thursday, October 29, 2009

One Less Competitor

Our beloved CRTC is in the news yet again, this time for blocking one of the new wireless competitors, Globalive, from entering the Canadian market, because of the foreign ownership rules for telecommunications companies. Considering that Industry Canada accepted Globalive's bid during the spectrum auction, the ownership question must have been settled before that.

Naturally, the incumbents complained and the CRTC agreed with them, which looks like a classic example of government department's not following the same playbook. Industry Canada wants more competition while the CRTC is following the letter of the law.

The incumbents have had a strangle hold on the Canadian telecommunications market for far too long. The only way to shake things up is to change the rules. If means that means allowing more foreign ownership so be it. I'm sure that later there will consequences for loosening the rules, but we need the competition so badly in this country.

I wonder if Globalalive can get a refund for the spectrum they bought but now cannot use? No doubt their lawyers are already salivating at the fees they will earn from this debacle.

Wednesday, October 28, 2009

WRC Great Britain

Loeb scores his sixth driver's title and in the process demonstrates why he has six to his name and his nearest rival is still just a contender.

Hirvonen's rally started well but by the end of day one, Loeb had already taken a 4 second lead. Hirvonen's day two was very troubling. He was way off the pace which left him 30 seconds behind Loeb. Hirvonen was back in form on day three, but he was pushing too hard and damaged the bonnet on a jump. Forced to slow down, and then eventually to stop and remove the bonnet, Hirvonen lost 1 minute which destroyed any chance of the win and the title. But Loeb also had problems on day three. A failing turbo caused him to slow dramatically but Hirvonen was no longer close enough to capitalized on it.

At the beginning of the season I predicted that Loeb would run away with championship. And he would have done so if he, and the Citroen team, hadn't made a few mistakes which presented Hirvonen and Ford an opportunity. However, before that opportunity arose, Hirvonen was not driving well at all. Hirvonen only started driving like the championship contender that he is, after Loeb showed that he is also fallible.

Unfortunately, the Hirvonen from the beginning of the season returned on day two of the rally. And it was day two that actually cost Hirvonen the win and the title. The team changed everything on car that they could, looking for a problem and found... nothing. Which means the lack of speed was only in Hirvonen's head. There is no doubt that he is has the skills to be champion, but mentally he is not quite ready yet. He is very, very close though, so maybe next year.

Tuesday, October 27, 2009

Interview With CRTC Chairman

After listening to the Search Engine interview with CRTC Chairman Konrad von Finckenstein, it is clear why the CRTC needs to be dissolved. If the Chairman is so completely out of touch with reality, the Commission in its current form will never be able to serve the interests of the Canadian public. If you are Canadian please take a minute to sign the petition at disolvethecrtc.ca.

And you can count me as one of Finckenstein's "Internet Hogs." I use my 3Mb/s to its maximum potential!

Monday, October 26, 2009

MPlayer Bleeding Edge

I've been using mplayer from the git repository because it provided the best solution to the problem of Matroska order chapters (linked segments, linked chapters, whatever) in fansubbed anime. But development moved off the master branch and my earlier attempts to compile the tmp_build branch didn't work because mplayer's configure script could not find FFmpeg.

The requirement that FFmpeg be embedded in the mplayer source tree, has been removed, so you either have to build and install FFmpeg from source, or install whatever binary packages are available for your distribution. I choose the latter because I am using Debian/unstable and the packages in the multimedia repository are usually recent repository checkouts anyway.

The following packages from Debian multimedia satisfy all mplayer's FFmpeg requirements: libavcodec-dev libavformat-dev libpostproc-dev libswscale-dev.

Other packages I found useful for codecs: libx264-dev, libxvidcore4-dev; and for audio and video: libasound2-dev, libxv-dev; and for ASS substitles: libfreetype6-dev, libfontconfig1-dev, libass-dev. This list is incomplete since I haven't tracked every library I have installed. Just install what you need, when you need it.

To build the tmp_build branch:
$ git clone git://repo.or.cz/mplayer
$ cd mplayer
$ git checkout -b tmp_build origin/tmp_build
$ ./configure
$ make
$ make install
For bleeding edge software, it works great! The little glitches in the Matroska ordered chapter support are all gone which is a great improvement.

Which leads to the question: why are these improvements not being merged into the master branch? Master hasn't been updated in about four months. Even an unofficial project needs to make it clear what people should be using, otherwise someone like me will just tell the world how to use the bleeding edge development branch. That might not be what you wanted.

Sunday, October 25, 2009

What Is Luck?

I've been in a philosophical mood lately (not a good sign, really) and started thinking about the nature of luck. How do you measure luck? If you can't, then how can someone be luckier than another? If you make your own luck, is that really luck or just your hard work paying off? If you buy a lottery ticket are you making luck or just wasting a few dollars?

As with most philosophical musings, I got more questions than answers.

Saturday, October 24, 2009

Android Scripting Environment

When Google first announced Android, I was initially very excited, but that soon turned to disappointment when I realized that Java was the only supported language. It got even worse when I discovered that Android does not even use the standard JVM, which prevents projects like Jython (and JRuby) from being used. This article discusses the issue and mentions Scala as the only non-Java language that works on Android.

However, today I stumbled upon the Android Scripting Environment which offers some hope for those us who are not enamoured of Java. Damn, I'd already written off Android as a platform of interest so I stopped paying much attention to it. I will definitely be reevaluating that decision.

Friday, October 23, 2009

Google Wave And NoScript

One nuisance that I've encountered with Google Wave preview, is that some extensions and NoScript Firefox addon don't get along too well. The extensions are not hosted on Google's servers which triggers NoScript's cross site scripting blocker, unless you add that server to NoScript's whitelist.

Wave's developers will need to address this. While it is only a nuisance now, as more extensions become available, it will become a security problem. Having to whitelist every third party extension site is an opportunity just begging to be exploited.

Thursday, October 22, 2009

Playing With Google Wave

Thanks to Myles Braithwaite I got an invite to Google Wave. I'm really interested in Wave but as with all new things, I'll be playing more than doing anything productive. One annoyance is I don't know any else on Wave at the moment...

Wednesday, October 21, 2009

CRTC Calls This A Decision

Today the CRTC released their "decision" on net neutrality and usage based billing. And it was utter drivel! All they have decided is that they can't decide yet. Meanwhile the deep packet inspection continues, the throttling continues, and economic methods (UBB and caps) should be the preferred method of controlling congestion. The latter is accepted as fact even though has been disproved.

And what do we get in return for having to put up with this crap? Usage based billing will be delayed but has not been ruled out (see above). Consumers and wholesale ISPs can now complain to the CRTC about throttling. Wow, really? If we had gotten any more, we would have difficulty sitting down for a while.

If you are Canadian please head over to dissolvethecrtc.ca and sign the petition to ditch current CRTC. Here are a few others talking about this travesty disguised as a decision.

Tuesday, October 20, 2009

RESTful APIs

The topic at this month's PyGTA meeting was a roundtable discussion on RESTful APIs. Since I am not a web services developer, I wasn't able to contribute much to this discussion, but it was informative. It was a useful reminder that HTTP has many more commands than just GET and POST, and the World Wide Web as we know it does not fully utilize HTTP the way its designers intended.

Monday, October 19, 2009

F1 Brazil

The Brazilian Grand Prix lived up to its reputation for deciding championships once again as Button and Brawn GP clinched their respective titles. Button turned an awful grid position into a truly world championship drive with some of the best passing manoeuvres of this season. Brawn GP topped off a fairy tale season as the constructor's champions.

An incessant downpour made a mess of qualifying but Barrichello somehow managed to get poll position at his home race. He was in a perfect position to continue the championship fight with Button only in fourteenth. However in the race, Barrichello chances were dashed by bad luck, by poor strategy, and ultimately by Button's better performance. Button gained nine place over the course of the race while Barrichello lost seven. That says it all really.

Webber showed us his talent once again by qualifying second place on the grid under the atrocious conditions, and then by driving a perfect race for his second career win. Here's hoping we hear more of the Australian anthem in 2010.

I'm talking like the season is over when of course there is still one more race. After such an exciting season, it feels strange now that everything has been decided. Hopefully, Abu Dhabi won't be too anticlimactic.

Sunday, October 18, 2009

Tokyo Magnitude 8.0

As you can guess from the title, Tokyo Magnitude 8.0 is an anime series about the aftermath of massive earthquake. The Japanese earthquake scale only goes up to 7.0, so an 8.0 seismic event is unprecedented. The earthquake and aftershock scenes are genuinely frightening, even though it is only an animation. There was only one sequence that didn't feel right because it seemed that escape would be impossible, but I'll allow the producers some dramatic license.

The story begins when Onosawa Mirai, a somewhat bratty preteen, reluctantly agrees to take her younger brother, Yuuki, to see a robotics exhibition on Odaiba Island in Central Tokyo. The earthquake hits just as they are leaving the exhibition and, after a harrowing escape by boat from the cut off island, they slowly make their way back home on foot. They have help from Kusakabe Mari, a young woman who is heading in same direction.

Mirai's behaviour in the early part of the story is very irritating, but the journey home is also a story about her coming of age. It was wonderful to watch Mirai mature as she slowly realizes what is truly important. With no way to communication with their families, it is a very stressful time for everyone, even Mari who has a young daughter. Yuuki actually is the strongest character of all, despite his young age.

However, the story has a tragic end. The last three episodes are the saddest anime I've ever seen: you are going to need some tissues to get through this. There are clues about what is to come, but I kept hoping it was a red herring. But there is no fairy tale ending in this anime. It is excellent story telling to the very end.

Saturday, October 17, 2009

Worldforge

The Worldforge Project has been around since at least 1998 (when it was known as Altima) and has an ambitious goal: to develop free tools and multimedia that will enable anybody to create a massively multiplayer online game. Every few years I discover they have are still around and are actually making progress. The project is amazingly resilient.

I was going to try the Worldforge Ember 3D client on my Debian sid system, but the package is currently uninstallable due to an unmet dependency. I'm filing the bug report right after this. I might try compiling Ember if an updated package doesn't appear soon.

Friday, October 16, 2009

Linux Desktop Saga

If I see another pointless, stupid article about why the Linux desktop is not taking off, I'm going to scream. Wait, this is an article about why the Linux desktop isn't taking off... NOOOOOOoooooooo......!!

Thursday, October 15, 2009

Dependency Based Booting

I have had the sysv-rc package on hold on my Debian sid desktop system for several weeks now. If I upgrade sysv-rc, it will install the insserv package which will setup a dependency based boot sequence. So far I haven't had the nerve to take that step yet. At the moment, there are no critical bugs reported against either package so the upgrade should just work.

And yet I am still hesitant. Just call it intuition.

Wednesday, October 14, 2009

SABnzbd+

SABnzbd+ is another Usenet .nzb download tool, very similar to hellanzb which I've been using for a while now. Both are written in Python, both can run as daemons, and both are suitable for use on a server. However, it is the differences that are more interesting.

First, SABnzbd+ has a built in web user interface whereas hellanazb requires you to install additional software to get more than a command line interface. When started from a terminal, by default SABnzbd+ starts lynx, a text web browser, as the user interface. For some reason this didn't work consistently for me, but I'm not sure why. Accessing the web interface from Firefox has worked perfectly, so I've been using that instead. I haven't checked but maybe the web interface needs JavaScript.

The second difference is that SABnzbd+ is a threaded design while hellanzb depends on Twisted to handle multiple connections. Neither threads nor Twisted provides any advantage, so that is not the issue here! But, the threaded design allows (or forces?) SABnzbd+ to use the Python socket library which, of course, is fully IPv6 capable. Tada! Unlike hellanzb, SABnzbd+ can directly access all the free IPv6 Usenet servers (assuming you have access to the IPv6 internet, of course).

And, finally, SABnzbd+ is still under active development while hellanzb is not. In the long run this is likely the most important difference. Consequently, I've switch to SABnzbd+ completely, since I can't see any reason to continue with hellanzb any more.

Tuesday, October 13, 2009

GTALUG Short Talks

The October meeting is also the GTALUG's AGM which usually makes a full presentation impossible. This time we had series of short talks that were quite interesting. A late room change caused two speakers to go astray so the remaining speakers perhaps got a little more time that they were expecting.

Myles Braithwaite answered the question "So you want a personal web site?" with a quick tour of the well known tools but he showed his Python leanings and included PyBlosxom, which is hardly mainstream. Christopher Browne introduced the screen utility. I use screen everyday and it is one of the most useful utilities I ever found. Seneca Cunningham covered exiftool which she uses as part of her work in image processing. The number of distinct tags that exiftool understands is truly mind bending.

Monday, October 12, 2009

IPv6 Router Complete

My IPv6 router is complete. I ignored radvd for now and just used a static setup since my network is so simple. I should probably learn to configure radvd later since it is useful for more complex network arrangements. For now, I'm just playing.

Once I decided on a static configuration, I needed a sensible way to subnet the 264 addresses. I quickly discovered that there are as many different ways to subnet the address space as there are addresses. Once I realized there was no magic formula, I just made up my own system.

Since I already have IPv4 subnets configured, I decided to map those into the /64 address space, so 10.x.y.z/16 became 2001:470:1c:137:xx::yyzz/80, with x, y, and z simply converted to hexadecimal. It is a bit wasteful of addresses but I can live with that. Although the mapping is logical, I will never be able to remember something that long, so the the next job is IPv6 DNS entries for the hosts on my network.

The best part is that IPv6 does not require Network Address Translation (NAT) any more. Every address is routable so you have 264 static IPs! NAT just sucked and I will not mourn its passing for a femtosecond.

Sunday, October 11, 2009

Thanksgiving With Family

I'm looking forward to some spending time with my family for Thanksgiving dinner. Why? It means that I'm guaranteed to get at least one good belly laugh today! Considering I spend most of my life under stress, the therapeutic condition of relaxing with my family cannot be underestimated.

Saturday, October 10, 2009

Done For The Day

Finally done with the baking for the day. Things didn't quite go as planned. Last night I discovered that I had underestimated the amount of sugar I had on hand. I decide to get more in the morning. This morning I remembered that the amounts required by the recipe make too much syrup, so the sugar I had might be enough anyway. I wish I had remembered that last night. Since the syrup has to be chilled, preparing it in the morning delays the whole process by a few hours. That's why I'm winding down the operation so late in the evening.

Although the koeksister recipe is simple on paper, it is actually very time consuming. Since I first attempted it in 2001, I've done it maybe about a dozen times, and each time my appreciation increases for how easy my mother made this look. It is not.

Friday, October 9, 2009

Busy Weekend Ahead

I have a busy Thanksgiving weekend ahead. On Saturday I'm baking some koeksisters to share with my family on Sunday, so I had to shuffle part of my usual Saturday schedule to Friday evening. Well, it sounded like a good idea at the time... I got it all done but I'm knackered. I still have to prepare the syrup for the koeksisters but that only takes ten minutes so I'm going to relax for a bit first.

Thursday, October 8, 2009

Trying Git Again

The last time I tried git I had a really difficult with time with it, compared to bazaar and mercurial. That was a several years ago so I decided it was time to revisit git. I was surprised that I actually got a lot further with it this time. I'm not sure why. Maybe the documentation has improved or maybe I just understand it little better. At least I got the point where I am comfortable using the common everyday functions. Don't ask me about the more advanced commands; that will take a little longer to understand.

Wednesday, October 7, 2009

WRC Spain

What we learned in Spain is that Hirvonen is no match for Loeb on sealed surfaces. Not even close. In fact Hirvonen was a little concerned for his third position, as a very racy Petter Solberg, driving a 2008 C4, kept up the pressure until the end. Hirvonen's third place reduced his lead in the championship to only one point so he has to score more points than Loeb in Britain to win the title. Ha! Easier said than done!

Sordo drove impressively all weekend and it was such a pity that he had to concede the lead to help with Loeb's championship fight. Sordo looks ready for his first WRC win but with driver's championship so tight that opportunity will likely have to wait until next year.

Petter Solberg was in a really feisty mood and racked up a string of stage wins, almost like he had something to prove. He even gave a defiant "Up yours!" to all who doubted he still has the speed. He had the biggest grin on his face when he said it, so he was having a great time. I think he may have another championship in him if given a competitive car, which sadly he never had at Subaru.

Looking forward to rally GB, it going to be awesome!

Tuesday, October 6, 2009

PCs And Automation

I was helping an automation engineer confirm that the components he had chosen, were suitable for his project. The reason he needed a second opinion was because the controller for the project was a PC, not the usual PLC to which he was accustomed. The components he had chosen were fine so his experience was enough to carry him through, even though he was outside his comfort zone. I wonder if the PC programmer, who doesn't have any experience controlling hardware, will do nearly as well. Depending on whether I get a call to help out or not, I'll have my answer.

This was a reminder of how uncommon my automation experience is. The majority of the automation projects that I've done, used a PC as the controller. Many people might recognise the small form factor SBCs as a PC, but except for the size, it had exactly the same functionality as a regular PC. These projects all had a significant data processing component, which is the main reason to switch to a PC. However, automation people are endeared their PLCs so the manufacturers have come up with many ways to push the data processing onto a PC via a network. Frankly these solutions start to look just as complex and risky as the PC only system.

Monday, October 5, 2009

F1 Japan

It is great that F1 has returned to Suzuka, a track that is a serious test of driver skill. With the Friday practise sessions washed out, Saturday qualifying was an even greater challenge as drivers were still struggling to find the right set up. Webber crashed in Saturday practice and couldn't even take part in qualifying which was a total mess, with two red flags in session two and a double waved yellow in session three. The latter had a knock on effect as the drivers who did not slow down where penalized and given grid place penalties on Sunday.

Vettel completely dominated the weekend with a poll and then by leading the entire race for the win, which suddenly puts him back in contention for the driver's championship. However, it may not be a serious threat. The Redbull isn't been very consistent and Vettel has used up all of his eight engines, which could become a factor in the remaining races. But, like everything else this season, you just never know...

Button managed to score one point which was great considering how poorly he started. Barrichello was not happy with his setup and was actually threatened by Button after the safety car bunched everyone together. I assume Barrichello's troubles started on Friday with the wet practice sessions.

Button and Barrichello have consistently finished together in the points scoring positions in the last few races, which suggests that Brawn GP is giving equal equipment to both their drivers. Unfortunately, that works against Barrichallo since he needs a significant advantage to out score Button by seven points per race. I think DNFs are the only way Button can lose the championship now.

Sunday, October 4, 2009

IPv6 Setup Delayed

Yesterday was wonderfully productive. Today was the exact opposite. I felt tired all day and only picked half-heartedly at setting up IPv6 routing on the firewall. I did learn about radvd but couldn't motivated myself to actually install and configure it.

I'm totally in awe at how many IPv6 addresses my free tunnelbroker.net account gives me. 264 addresses is just ridiculous! And they are giving it away too. I mean, I know the number of available IPv6 addresses is huge (an understatement, if ever there was one) but it seems like giving /64 prefixes to hobbyists and experimenters like me is just overkill.

I wonder how much a permanent IPv6 /64 assignment costs and where can I get it?

Saturday, October 3, 2009

New Firewall Running

I was up early this morning to finish my long outstanding project to setup a new firewall server. The server has been (mostly) ready for a while now but I've been putting off finishing the job, because I knew the final setup would require a lot messy configuration changes on all the computers on my network.

As I expected it took a few hours to get back to normal Internet access after all the minor details were cleared away. But it all works now and I'm happy with the results. I'm sure it is my imagination but web pages seem to be loading a little faster with the new firewall. The new server is slightly faster but I doubt that it would make a noticeable difference.

There is one remaining issue: IPv6. The first problem was the version of Shorewall in Debian Lenny/stable does not support IPv6, but I found a back port of the newer Shorewall on the package maintainers web site, so that obstacle has been cleared. I've never set up an IPv6 network before, so I'm sure there will be other head scratching moments.

Friday, October 2, 2009

Autumn's Finer Points

Autumn isn't being very subtle this year. Day time high temperatures are already in the mid teens. The wind is chilly and blustery. The rain is a miserable fine mist.

By the way, did I mention that Autumn is my favourite season? Honest, it is. Really.

Thursday, October 1, 2009

Using Debian Sid Safely

Running Debian Sid on your desktop system is somewhat intimidating. After all, it is named after the unstable Toy Story character for good reason. I have three defensive strategies which has save me endless grief. As a result, I haven't been locked out of my desktop since the time the bash package scripts blew up and left the system with any functional shell. (Can't find any bug report about that one, it only gets mentioned in the changelog for package version 2.02.1-1.7 when the preinstall became a C program in August 1999.)

Here's what I do to keep Sid calm.

First, I get my packages from a secondary Debian mirror. This buys a couple of days grace before I see the buggy package. By that time the news has hit the debian-user mailing list, so I get advanced warning of the impending problem. When I eventually see the dangerous package, it a simple matter of putting it on hold and waiting for the fixed version.

Second, I use apt-listbugs. Nobody should be using Sid without this utility installed. From the package description:
apt-listbugs is a tool which retrieves bug reports from the Debian Bug
Tracking System and lists them. Especially, it is intended to be invoked
before each upgrade/installation by apt in order to check whether the
upgrade/installation is safe.
Specifically, apt-listbugs displays any critical bugs for the packages to be upgraded and allows you to abort the upgrade if you see something that makes you nervous. I've lost track of how many times apt-listbugs has saved me.

Third, I keep a few older versions of packages. I do this with apt-cacher which actually maintains a local mirror of all packages I've installed, but it doesn't really matter how how you keep the packages. The important point is to have some way to downgrade the package if the previous lines of defence fail, and I end up installing a broken package.

The above procedures seem to cover most cases. A recent problem with cups (Common Unix Print System) and USB printers was never mentioned on the mailing list, and was not reported as a critical bug, so I installed the broken package. Of course, I only discovered the problem when I had to print something... But downgrading the cups packages temporarily was still an option, so I was able to continue until I found a permanent fix. Another example is an recent X server upgrade started crashing, but I avoided the mess because apt-listbugs showed me the bug report before it was mentioned on the mailing list.

Sid will break; that is guaranteed. But if you plan for it, Sid is safe for everyday use, and you get to play with the very latest software. Not a bad bargain.