Monthly Archives: August 2004

Battle of the VMs

There are a lot of virtual machine interpreters out there. Java was the first well-known one, but VMs are also used for .NET, OCaml, Python, and the new Parrotcode VM will likely be used for Perl 6.

I started a discussion on the OCaml mailing list about some other bytecodes OCaml could target, with very interesting results. OCaml interpreters or compilers already exist for both Java and .NET.

There’s more to this than meets the eye, though. There are many different languages supported by .NET even though the .NET CLR does not lend itself to many of them very well. There are also a number of languages supported by the Java JVM, and Parrot is looking to support a good number, too. So it appears that no VM is going to promise the mythical language convergence .NET was talking about. Rather, we’re going to have too many choices. I wish we could standardize on a single VM and go with that.

Foundations of Python Network Programming

Update 9/23/2004: There is now a page for this book on my homepage, Complete.Org.

My latest book, Foundations of Python Network Programming, is now available for purchase (Amazon, bn, AllDirect, buy.com). This book is designed to show you everything from fundamentals of networking and low-level protocol design to work with higher-level protocols such as IMAP, HTTP, and FTP. For more information, please see the letter to the reader from the book’s back cover.

This is not a basic reference like Python comes with. Rather, it’s a hands-on guide. There are over 6600 lines of example code and the text strives to show you the big picture. For instance, there are several different ways of getting directory information from an FTP server, and some are not documented for use this way. The chapter on FTP explains them and provides example code to illustrate. There’s also an Apress page with details.

Below is the book’s Table of Contents along with a partial list of the examples you’ll find in each chapter:
Continue reading Foundations of Python Network Programming

The Olympics: Be Searched for Unauthorized Flags

There are two interesting stories about the Olympics over at Slashdot. First is a chilling story about the restrictions placed on athletes. They are not allowed to blog about the Olympics while it’s going on. They’re permanently prohibited from ever publishing photos taken at the games, even if those photos are of themselves or their teammates.

Then there’s the story about “advertising terrorism”. Apparently, if you have a soda, flag, unbrella, purse, shirt, whatever from a competitor to official Olympics sponsors, you can have that item confiscated. The comments in that story are interesting too. One poster wrote about the political control exerted there as well. Taiwanese flags were confiscated.

It seems that the Olympics is now less about the athletes than the advertising show. Serios reform is needed at the IOC for sure.

All Mail Readers Still Suck

I’ve long been of the opinion that all mail readers suck. Some of them really suck. That’s why I wrote OfflineIMAP, after all.

Today I embarked on my periodic survey of mail readers to see what had changed. Things are encouraging but still not quite good enough. I have IMAP mail on two servers and I read it from four clients. I want to see the same mail on each client, and be able to work offline if I need to, and sync my changes back up later. I also maintain “Saved” folders for messages I want to archive indefinately. I want to see which folders have new messages and which ones have old messages. Finally, I want to be able to navigate entirely with a keyboard for all common functions.

Let’s take a look at how they all stack up.

First, there’s mutt with OfflineIMAP. Mutt by itself is not even worth mentioning; its IMAP support is so slow and buggy that it doesn’t even begin to make the cut. With OfflineIMAP, it’s actually pretty nice. I can easily create a macro to move messages to my Saved folder. I can also create macros to manage the two different e-mail account identities, using the correct one for replies automatically. So far so good. What mutt stinks at is the folder list. It just doesn’t have a good one at all. Also, since OfflineIMAP must be used, the integration is just not as clean as it could be.

Next, there’s the new KMail 3.3. This program has improved vastly recently. What was once a graphical client with more bugs than an entomologist’s lab is now a mostly reliable mail program. It integrates into the KDE or Gnome applet well for new mail notifications. It does everything I want with IMAP (with only one bug relating to non-selectable folders, which I can work around.) However, despite the khotkeys system, it is not possible to reliably script it to move a message to a saved folder or redirect it to my special storage address. Argh.

Then, there’s Mozilla Thunderbird. Another good contender, supports offline reading and all of that. Has nice junk mail features built in too. But its IMAP support is SLOW. When you delete a message, it goes out to the server (unlike KMail, which can cache this action). how do you like deleting 20 messages, having to wait 2 seconds after each press of Delete? Also, it suffers from the same scripting problem as KMail.

So it looks like I’m sticking with mutt+OfflineIMAP for now, but definately keeping a close watch over kmail.

MythTV update

I’ve received two e-mails from people asking for an update on the MythTV project. So here goes.

First, concerning the issue with the Biostar motherboard: the Biostar motherboard was bad. The TV out on it was physicially inoperative. It did not include the TV out in the box, so I had to buy that and the SPDIF out from Biostar. The SPDIF out was coax only, no optical, and the TV out was broken. I returned the motherboard and purchased an Albatron KM18g Pro 2.0 motherboard instead. The Albatron is nice. The TV out adapter is included and works. The SPDIF adapter is still extra, but instead of one port, has three ports: coax in, coax out, and optical out. My only complaint is that the GPU has a cooling fan that sounds like its about to die.

On the digital video (DVI output) side, I purchased an ATI Radeon 9200 card for $64.50. Together with the Gefen cable, I get crystal-clear output to my TV. While the picture is sharper than anything else, the colors are just not quite right somehow. After doing some checking, I am led to believe that this is because the TV does not auto-correct digital sources the way it does analog. I’m still looking into it. The ATI card is nice, and has a TV out too, so I could always fall back to that if need be. I am using the Free Software DRI drivers for the ATI card.

I’ve had a few problems with the MythTV unit overheating. We put it in a new entertainment center, and occasionally it will do a thermal shutdown to prevent damage. I ordered a nice SilenX power supply to try to move more air through there, and at a quieter volume. I also ordered one of their fans to mount on the entertainment center itself for ventilation.

The high-definition TV has been nice overall, but has exhibited discoloration in one corner. A repairman should be out this week to check it out.