Author Archives: Dan Siemon

CBC and Internet streaming

George Farris alerted me to a change in the way CBC does radio streaming on the Internet. Previously, CBC supported QuickTime, Real Player and Windows Media player. As of August 30, 2004 they only support Windows Media player. CBC has an announcement about this change which they ironically call “Live CBC Radio streaming improvements”. You can find the link to it on this page.

From the perspective of a desktop Linux user this decision is bad. There is no easy way to listen to Windows Media streams from Linux. Real Player was not open source but at least it worked in Linux. Since the CBC audio streams were the only reason I had Real Player installed I guess I can remove it now. I always felt bad having it installed anyway.

From a free software perspective this decision doesn’t really change much. Both Real and Windows Media are proprietary formats. I wish there was some way to make the general computing audience understand that free does not equal standard. A standard way to stream audio or video over the Internet would allow anyone to do their own implementation. The free downloads offered by Microsoft and Real in the form of Windows Media player and Real Player are just a way to lock the user into their technology. Standards that allow others to innovate drive the world forward not proprietary lock-in.

There is hope for standards based Internet media. Xiph.Org is building a set of truly free audio and video codecs. Also, Fluendo is building a free software streaming media server that will use the free codecs from Xiph.Org.

Queueing

I little while ago I asked a friend to proof read my LQL project page. We ended up in a discussion about the proper spelling of Queueing. Bob blogged about this conversation over here so I won’t bother repeating the outcome. However, I would like to add this one link that provides additional information.

Bell Canada call answer tip.

I can’t believe I didn’t realize this before. If you have Bell Canada‘s call answer service you can speak to the person who is leaving a message by pressing the flash or link button on your phone. This makes using the voice mail more effective for screening calls as well as allowing you to still speak to the caller even if you couldn’t get to the phone quite fast enough.

UPSs and testing

Today, I decided it was time to test my UPSs out to make sure they were still functioning properly. Like any well designed product UPSs just work. They fade into the background which makes it easy to forget that they may need maintenance too.

Computers can be very sensitive to power conditions. The hardware expects the power to be within a certain tolerance. Peaks or dips in the power can cause unexpected behavior. I don’t know how often bad power conditions result in crashes but it can’t help the stability of your computer. There may also be problems with cutting the power to hard drives. During a clean shutdown a hard drive will spin down and park the head. This cannot happen if the power is suddenly cut off. A good UPS not only provides power during a brownout or blackout it will also do some amount of filtering to ensure a clean power source. On the software side of things modern operating systems use RAM to cache file system operations. This means that the file you just told you word processor to save may not actually be written to the disk immediately. If the power were to drop at just the right moment the file system can be left in a inconsistent state resulting in lost data. For these reasons I view having a UPS on a computer as an absolute requirement.

The description of the file system caching above suggests a problem with testing the run time of an UPS. If a complete power drop can result in a corrupted file system then running the UPS to the point when it shuts down has the potential to be a bad thing. The solution to this problem on a Linux system is to mount the file system as read-only before running the test. If the file system is read only the OS cannot be caching any writes (because they are not allowed) so power loss should be OK (there may still be hardware problems). This can be accomplished by switching to a console (CTRL-ALT-F1 if you are in X) and then running the following commands:

init 1
df (to see the mounted file systems)
umount -r FILESYSTEM (for each file system).

It should now be safe to run test your UPSs until they cut the power. I do not know how to accomplish something similar to this on a Windows system but I expect there is a way. If anyone does know how please comment below.

It turns out my suspicions were warranted as my UPSs clearly need battery replacements. The APC Office 280 that powers my gateway computer, DSL modem and Ethernet hub lasted only a couple of seconds after the power plug was pulled. I have my primary monitor (19″) attached to an APC Back-UPS 300 which lasted only 4 minutes 22 seconds. The only good news is that the APC Back-UPS Pro 280 that powers my work station (not the monitor) lasted 12 minutes 24 seconds. Not stellar but at least it would stay online during a short blackout.

Now, the question becomes what should I replace, the batteries or the whole UPSs? It looks like batteries are going to cost about $45 for each unit. I can get a new Back-UPS CS 350 for about $100. I would hope that the power noise filtering in a more modern UPS would be better but I’m not sure that is worth double the cost. It looks like battery replacement is the way to go.

There are a couple of lessons in this adventure. First, if your UPS is more than a couple of years old take the time to test it. It’s quite likely it is not functioning as well as you think it is. Second, battery technology still sucks.

US Broadcast flag

Bad news. It looks like the Canadian government may be considering the broadcast flag that the MPAA successfully pushed in the US. Can we still head this off?

Michael Geist wrote an article about this for the Toronto Star. Michael Geist’s blog is one to watch if you care about Canadian copyright issues.

Parallel Universes

I am finally getting caught up on some magazine reading that I fell behind on during the school year. Today, I was reading a article called Parallel Universes by Max Tegmark in the May 2003 issue of Scientific American. I am not a physicist so some of this article is over my head but most of it was quite understandable. Reading that there are plausible arguments as to why parallel universes might exist was quite a surprise.

I found a couple of choice quotes that I think are worth sharing:

“But an entire ensemble is often much simpler than one of it’s members. This principle can be stated more formally using the notion of algorithmic information content. The algorithmic information content in a number is, roughly speaking, the length of the shortest computer program that will produce that number as output. For example, consider the set of all integers. Which is simpler, the whole set or just one number? Naively, you might think that a single number is simpler, but the entire set can be generated by quite a trivial computer program, whereas a single number can be hugely long. Therefore, the whole set is actually simpler.”

“The lesson is that complexity increases when we restrict out attention to one particular element in an ensemble, thereby losing the symmetry and simplicity that were inherent in the totality of all the elements taken together.”

These quotes jumped out at me because they touch on what I think is perhaps the most basic aspect of Computer Science and programming, finding the hidden simplicity. Often, there is a gorgeous, simple solution to the problem. It just takes time to get the complexity out of the way.

Statistics Canada

Statistics Canada is the Canadian government agency that generates statistics on an amazing amount of things. I had no idea they were keeping statistics on computer stuff.

This article summarizes some of the information.
The Daily – Computer and peripherals price indexes

Here, you can search the database but it looks like it has a minimal cost attached ($3.00).
Computer price indexes, by type of purchaser, monthly

Linux QoS Library (LQL) Released

It has finally happened. I have gotten a release of the Linux QoS Library (LQL) out the door.

Releasing software is actually a bit of nerve racking process. The worst part is not creating the announcement emails or filling out Freshmeat‘s forms, the worst part is worrying about what has been forgotten.

  • Missing files in the distribution? Hopefully, make distcheck covers that.
  • Bad or broken API documentation, ie spelling errors.
  • Not enough testing – What if it doesn’t work on other systems?
  • Design flaws – It is Free Software after all. Everyone can see your mistakes.

A big part of me would have liked to spend an indefinite amount of time to get a ‘perfect’ release, something I was really 100% happy with. However, that is against the release early, release often strategy that Free Software uses to such great effect. Besides, I would probably never be 100% happy with the code base anyway. Perhaps the single most important reason for this release is to let others know that the project exists.

Announcement
The Linux QoS Library (LQL) provides a GPL licensed, GObject based C API to manipulate the network queueing disciplines, classes and classifiers in the Linux kernel. LQL does not use the TC command as a back-end. Instead, LQL communicates with the Linux kernel via Netlink sockets the same way TC does.

0.5.0 — 2004-08-30

  • Initial public release.
  • I wanted to get 100% API doc coverage and a lot more testing done before I made a public release but I decided to go with the release early, release often strategy.
  • 86% API documentation coverage. A lot of the undocumented API is for the U32 classifier implementation which I am not that fond of. I think this API will change quite a bit.
  • What LQL really needs is much more testing in larger applications.
  • I make absolutely no promises that any of the API will be stable. I expect the API to change as larger programs are built with it and new limitations (and bugs) are found.

Please see http://www.coverfire.com/lql/ for more information.

Download:
http://www.coverfire.com/lql/download/lql-0.5.0.tar.gz

Fundamentalist

I while ago I was listening to an interview involving the IMF‘s economic policies in Argentina. One of the people being interviewed (I don’t remember the name unfortunately) offered a definition of fundamentalists that I thought was insightful. The below is only a paraphrase as it has been several weeks since I heard the interview.

Fundamentalist: A person who believes in a set of rules or ideas so strongly that even after powerful evidence that these rules are failing the person thinks that the only problem is that the rules are not being enforced strongly enough.