Moonlight and the Microsoft Media Pack

You may have heard that Moonlight, the free software Silverlight plugin for GNU/Linux distributions, allows users to view certain audio and video encoded with Microsoft codecs. What may be confusing, though, is how you can do this if Moonlight is free software since the Microsoft codecs are patented (see “The codec dilemma” for details). I dug into this a bit and here’s what I found:
Continue reading ‘Moonlight and the Microsoft Media Pack’

Libre x86 C compilers for Unix-like systems

In the quest to ensure my C code is as portable as possible and, in particular, does not depend on any gcc extensions, I did some looking for C compilers that work on Unix-like x86 (32-bit) systems, are libre (“free as in freedom”), and support C89. Here is a list of the compilers I found that meet this definition and some of the caveats and benefits of each:
Continue reading ‘Libre x86 C compilers for Unix-like systems’

Evaluating codec freedom

I was recently asked about how free the Vorbis and Theora codecs are, particularly with respect to gratis versus libre. The answer to this question is more complicated than it looks and requires a deeper look into the difference between a specification and an implementation.
Continue reading ‘Evaluating codec freedom’

TEDTalks Downloader 0.1 released

TEDTalks Downloader, which downloads all videos from TEDTalks, is now available:

To use it, you will need a POSIX shell and wget or curl. If you are using Ubuntu or Mac OS X, you already meet the requirements. If you are using Windows, you will need to get a POSIX shell such as MSYS and wget for Windows.

To run TEDTalks Downloader, make sure the script is executable (chmod u+x should do it) and then run ./, preferably in an empty directory. The script will then download the TEDTalks feed, create a videos directory, and start downloading videos to it.

If TEDTalks Downloader is interrupted while running, you can run it again from the same place and it will automatically start where it left off. Also, if there are more TEDTalks available, running TEDTalks Downloader again will download the new talks without re-downloading all the other talks.

This tool was made in response to a request on my TEDTalks download script and MythTV metadata article. You can find more information about getting TEDTalks data in MythTV from there.

If you have any comments or questions about TEDTalks Downloader, please let me know by posting a comment to this article or contacting me directly.

The codec dilemma

Every day millions of videos are watched on video hosting sites like YouTube. Most viewers don’t think of how the videos are stored or how they get displayed on one’s computer. But these are critical questions in determining who is able to watch online videos and how much money they need to pay to do it, even on free hosting sites. Let me start by explaining what a “codec” is.
Continue reading ‘The codec dilemma’

Why Flash is doomed

In my previous post (“Why I haven’t installed a Flash player“), I tried to convince people why supporting Adobe Flash by installing a player was a bad idea. My hope was that efforts like mine would reduce the number of sites using Flash and eventually eliminate non-standard technologies like Flash from the web. Recent events made me realize why such efforts to get rid of Flash will pale in comparison to the natural phenomena that are already working together to seal Flash’s fate.
Continue reading ‘Why Flash is doomed’

What’s on a CharlieTicket magnetic stripe

I recently received 4 CharlieTickets from a very helpful person on the Stripe Snoop forums and took some time to read them and analyze the data. My interest in the CharlieTicket had been sparked by a presentation from a group from MIT students on security vulnerabilities in the MBTA ticketing and security systems. Here’s what I found:
Continue reading ‘What’s on a CharlieTicket magnetic stripe’

Backing up your DreamHost data

Recent DreamHost problems that at one point suggested data loss got me thinking about backing up my data. Though I was not affected by the outage, some of my friends were and as they listed the data they would have lost for good I realized I would be in much the same boat if DreamHost lost my web site. Here I will outline my backup plan, including scripts, so you can get up and running quickly with your own backup strategy. The information should apply reasonably well to any web host, but will be slanted toward DreamHost because that’s the host I use.
Continue reading ‘Backing up your DreamHost data’

Blip Unembed 0.1 released

Here is the first version of Blip Unembed, a script I created to convert embed URLs into the original URLs and to download FLV files from given the original URL or the embed URL:

The script should work on any system with a POSIX shell (such as Ubuntu, Mac OS X, or Windows with MSYS) and curl (curl is in the Ubuntu repositories and also available for Windows; curl is in Mac OS X by default). To use it, simply run with the original URL (ie. or the embed URL (ie. of the video you want to see. The original URL and FLV URL will be printed and the FLV file will be downloaded. If you have any questions, please leave a comment on this post or contact me directly.

This script is the latest in my attempts to help people depend less on Flash (previous projects include Vimeo Downloader). For more details, see Why I haven’t installed a Flash player. For viewing YouTube or Vimeo videos without Flash, use Free Youtube! by Stephen Paul Weber. I suspect Free Youtube! will support very soon.

Update: Free Youtube! now supports, thanks to this script. Just install Greasemonkey, then Free Youtube! and you will have Flash-free

OLPC Give One, Get One on now

The One Laptop per Child project has recently restarted their Give One, Get One (G1G1) program. The last G1G1 program ran from November to December last year. This one is expected to be ongoing, with no end date specified. So you don’t have to worry about missing an ordering deadline.

When I wrote about the last G1G1, they were only shipping to Canada and the USA. This time around, they have added Europe and Australia to the list of shipping destinations. Interestingly, they have chosen to charge in GBP for all non-US shipping destinations. The cost is £275 plus £50 shipping, which works out to CAD$621.63 using today’s buying rate from Citizens Bank. I paid about CAD$450 when I bought two XO-1s in November 2007 so it’s a bit more expensive this time around, but that’s to be expected with the Canadian dollar being lower than it was then. If you live in Canada but have relatives or friends in the USA, I would recommend shipping it to one of them. At USD$399 (CAD$510), buying through the G1G1 program in the US is much less expensive than buying through the G1G1 program to ship to Canada.

To purchase XOs through the G1G1 program, go to If purchasing within the US, you will be able to get your XO before Christmas if you order today or tomorrow. If purchasing outside the US, the deadline for Christmas shipping has passed, but you can still order an XO for later shipping.

I have enjoyed using my XO since I got it this past January. I would recommend it particularly for those with children, as the interface is really designed for them. If you have any specific questions about the XO for someone who has used it for a few months, please reply in a comment to this post and I’ll get back to you.