23 May 2003 schoen   » (Master)


We haven't posted an official release announcement, but we did release LNX-BBC 2.1 (get a torrent, or do lame old direct download). They're going to be sold through the EFF store and the FSF membership program, and of course you can sell your own if you like. Business-card CD-R blanks have prices comparable to those of regular CD-R blanks a couple of years ago.


I've had this silly momentary obsession with hacking our releases so that their MD5 checksums start with "bbcbbc", or perhaps so that both their MD5 and SHA1 checksums start with "bbc". I've been experimenting with some Python code which appends bytes to a given document in order to cause it to have a hash with chosen properties. Fortunately, you can't choose more than a few bytes of the hash, as a practical matter, but my success in this makes me want to encourage people to actually read the whole PGP key fingerprint when you're signing a key. Some people sort of doze off in the middle of verifying a fingerprint.

To make a checksum start with "bbc", you only have to examine about 4096 possibilities, and to make it start with "bbcbbc" (or "bbc210") it would be about 16777216 possibilities. Soon after that, we start to run into trouble.

Zack suggested the right approach: you don't hash the whole file every time, you hash the original file, save the current state of the digest, and then see what the output of the digest would be if you updated it with any of some thousands or millions or more of alternatives. In my code this is done with a loop containing a digest.copy(), digest.update(), and digest.hexdigest(), which work properly with Python's md5 and sha modules. It takes only a few seconds to run for a short string.


Bram is famous; Jack Valenti sent personal letters to each of the five Commissioners of the FCC, mentioning BitTorrent downloads of TV shows as an argument for expanding technology regulation. The letters are signed "Warmly, Jack" -- by hand.

I know of two useful BitTorrent patches floating around; I wrote one (to make --responsefile and --url basically optional) and Aaron Swartz wrote another (a command-line downloader with a single status line, like wget).


I'm pretty busy with EFF stuff and still keeping my diary over here.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!