Category Archives: Technology

I Still Hate Phone Companies

I’ve never been a big fan of phone companies. I’ve dealt with a small independent local company, lived in SBC territory in several states, and now live in Sprint Local area. I’ve never had good service, ever. The only thing worse than my phone company service has been cable company service.

Here’s my latest saga.

Sprint finally decided to offer DSL in our area. Great, I thought. We had been using fixed wireless for a couple of years since it was the only thing better than dialup available out in the country. But it has a huge problem: it require line-of-sight to the remote antenna. We have some very big trees here. Despite the company saying that the most powerful antenna should penetrate them, and mounting it on top of our roof — giving it a good 40 feet off the ground — we couldn’t clear the trees. So in summer, our connection would be very unreliable, and slow when it did work.

So we signed up for DSL the very day it became available here. Sprint scheduled someone to come out to install a DSL splitter the next week.

Our DSL modem arrived by UPS the day before the installer showed up. But the first problem: I ordered a static IP but there was nothing telling me what my IP is. Sprint DSL tech support (the one bright light in all of this — almost all of those people have a clue, and are helpful and can actually fix problems!) gave me the info I needed.

The next day, Sprint’s installer showed up at about 3:30, and said she had to leave very soon to get the brakes on her truck worked on. Great.
Continue reading I Still Hate Phone Companies

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

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.

Characteristics of Great Hackers

Paul Graham has written a tremendously insightful article analyzing great hackers. It is well worth a read whether you’re a hacker or not. Here are a few quotes:

  • I’ve found that people who are great at something are not so much convinced of their own greatness as mystified at why everyone else seems so incompetent. The people I’ve met who do great work rarely think that they’re doing great work. They generally feel that they’re stupid and lazy, that their brain only works properly one day out of ten, and that it’s only a matter of time until they’re found out.
  • When I think about the great hackers I know, one thing they have in common is the extreme difficulty of making them work on anything they don’t want to.
  • Is there some quality that’s unique to hackers? I asked some friends, and the number one thing they mentioned was curiosity. I’d always supposed that all smart people were curious; that curiosity was simply the first derivative of knowledge. But apparently hackers are particularly curious, especially about how things work. That makes sense, because programs are in effect giant descriptions of how things work.

Note for the English-impaired: hacker does not mean someone that is attempting to breach security in this context.

Beaten Hardware

There’s a funny discussion over at Slashdot where people relate tales of hardware that has survived a beating. My favorite quote:

The original VT-100 was top-rack dishwasher safe. No, really – that was the standard DEC repair instructions in case someone spilled something into a keyboard. Place the keyboard key-side down on the top rack of a dishwasher, normal wash cycle, air dry.

We\’ve gone HDTV

I’ve been talking a lot about MythTV lately, and here’s a tangential topic: we bought our first HDTV unit last weekend. It’s a widescreen 30″ CRT Philips 30PW8402 unit. We don’t yet have hi-def video sources (save for DVD), but I’ve still gotta say: wow. The picture is so much better than our Sony TV (and not just because that Sony’s picture tube was dying, either!). There’s some stuff in 16:9 even in standard def, and that can be zoomed in upon. Very slick.

And DVDs are stunning on this thing. We’re very happy with it all and are glad we opted for a HDTV instead of a standard def one.

One of my concerns was about traditional stuff — would it all be “squashed” by the wide screen? Turns out no — the remote has a picture size button, that alternates between 4:3, zoomed 14:9, zoomed 16:9, widescreen, and superwidescreen modes. The zoomed modes are used when the black letterboxing at the top and bottom of a standard screen are part of the signal (such as widescreen movies broadcast in standard definition). The widescreen modes are used with true widescreen signals, such as from a DVD player.

Our DVD player already had component video out, so a few cables, and a quick check of the setup menu to tell it we had a 16:9 unit, and wow — stunning results. We’re really enjoying it.

My next project is to get a DVI to HDMI cable so I can hook it up to the MythTV unit digitally. This will get us the best possible quality, and I can use a Linux-based DVD player to send a pure digital signal to the TV.

MythTV Hardware Review

Last week, I posted a list of hardware that I’m buying for my MythTV. Most if it has arrived and I can make some comments about it now.

First, the Chenbro case is really bad. One of the hard drive bays is inaccessible due to being placed over the motherboard (!) and the other one requires the drive to be mounted upside-down. The 5.25″ bays are also poor, not letting one drive in all four screws (one of them only permits two, and right above each other at that, anchoring only 1 of 4 possible anchor points.)

The Biostar board is nice, but here’s the rub: while it features TV out and S/PDIF out pins on the motherboard, the board doesn’t ship with the connectors necessary to make it work! They charge $12 and $15, respecitvely, for the requires connectors, so this thing is not yet working with a TV.

The Samsung hard drive is great and it is indeed quiet as claimed. I’d heartily reccommend it.

And the Athlon XP 2200+ CPU is, of course, also a very nice one.

The Hauppauge card hasn’t arrive yet; I’m using a very old WinTV card until it does. More on that when it gets here.