This is BrainLog, a blog by Dan Sanderson. Older entries, from October 1999 through September 2010, are preserved for posterity, but are no longer maintained. See the front page and newer entries.

December 2002 Archives

December 31, 2002

Perfessor Bill Edwards' web site comes recommended as an excellent library of ragtime MIDI files and information. A very thorough web site with high quality multimedia files by an award-winning ragtime pianist.

I remember being distinctly unimpressed by MTV's sketch comedy show The State during its first season in 1994. It wasn't until years later that I got to see tapes of the later shows and realize the truly awesome caliber of this group as both writers and performers. I've been longing for more State exposure ever since I glimpsed that bootleg.

Of course it's all on the Internet: statemedia.net has every sketch that aired on MTV, plus some extras.

December 30, 2002

rec.games.go Frequently Asked Questions, another fabulous resource from the world of Usenet. L gave me a Go set for Christmas, and a book explaining the game's simple rules and mind-bogglingly complex gameplay. I can't wait to learn.

I'm surprised to learn that we have yet to develop a strong Go-playing computer program. Many Go-playing programs exist, Go Professional (aka Go4++, commercial, for Windows) and Many Faces of Go (commercial with downloadable demo, for Windows) being two of the strongest. There's also GNU Go, a Go-playing computer program that's part of the GNU Project (Free Software Foundation); they include a list of other programs as well. GNU Go plays on the command line, through Emacs, or using a standard "Go Modem Protocol" with a Go viewer such as CGoban for *nix/X. (CGoban can also edit Go game files and connect to Go servers for Internet play. It's quite nice.)

From FAQ 6.3:

The main reason [computers are not good at Go] is said to be that it is difficult to estimate the value of a given move. This makes it difficult to program a routine which can choose the 'best' move. The true value of a move may not become apparent until 30 plays later in local fights, and sometimes literally 100 plays later, for endgame optimisation moves.

Another reason is that, because of the large playing area and the simple rules, there is always a very large number of legal moves which are even reasonably plausible moves. This results in a very large game tree if 'dumb' search algorithms are used.

See also IntelligentGo.org, and their database of Go computer programs.

The Day the Earth Stood Still will be released on DVD on March 4.

The 2002 additions to the U.S. National Film Registry include Disney's "Beauty and the Beast," "Boyz N the Hood," "Sabrina" (the 1954 version), "This Is Cinerama," and "This Is Spinal Tap."

December 25, 2002

I don't mean to spoil your holiday cheer, but: the Back to the Future DVD box set is mis-cropped. Universal Studios will replace the second and third discs (BTTF 2 and 3) with new DVDs with updated framing starting in February 2003. That DVDFile story has Universal Studio's phone number you can call to request an exchange, and Digital Bits has the email Universal Studios is sending in response to complaints, which includes an address to which you can return those discs (just those two discs) for replacements. If you haven't acquired the boxed set yet, you might want to wait (I presume until February, and/or when DVD news sources give the all-clear).

To see how badly they are mis-cropped, check out these screenshots. When Marty gets out of the water after the hoverboard chase in BTTF 2, his jacket beeps and has a blinking light. Confused, Marty finds the blinking light and presses the button; the jacket suddenly inflates and dries off. On the DVD, the image is cropped so you cannot see the blinking light, seriously hurting the gag. "Auf den DVDs sieht man absolut keinen blinkenden Button an Marty's Jacke!" Sehr ärgerlich.

Happy holidays, everyone!

December 17, 2002

Congratulations to the team at Creative Commons on the launch of their first two projects: machine-readable licenses you can use for creative work to ensure certain rights of both the creator and licensee, and Founders' Copyright, a kind of copyright license that guarantees the release of a work to the public domain after 14 years (the original term set in the 1790 copyright law).

O'Reilly & Associates' involvement with Creative Commons and their pledge to release some of their works using the Founders' Copyright is particularly interesting given the technical nature of their publications. It's great to see a publisher support Founders' Copyright and Creative Commons, and especially great that information about technology, a greatly empowering force, is what is being returned to the people. But will the technology described in O'Reilly texts be useful to the public in 14 years?

The answer, perhaps surprisingly, is yes. O'Reilly has been publishing for over 14 years, and many ubiquitous, standardized and refined technologies have not changed much in that time. Checking C Programs with lint (1st ed.) is 14 years old and still sold in bookstores. Maybe not the best example (I think most compilers now cover most of lint's functionality), but it's easy to see the usefulness of having quality texts of similarly "old" subjects in the public domain. C is over 30 years old (and standardized for 13; ANSI ratified 12/14/1989), and I write it for a living.

TiVo plans consumer-grade PC access, MP3 and JPEG playing features for new TiVos. The TiVo Series 2 is hardware-ready for these features. I hope new compatible DirecTV TiVos will be available when the time comes...

GNU LilyPond is Open Source sheet music typesetting software for Linux and Windows. The typesetting language is straightforward, though it might intimidate novice users. If that's too much for you, there are several other ways to make LilyPond files, the most attractive option being RoseGarden, a full sequencer, audio editor and notation package. You can even try to translate a MIDI file into LilyPond. This mildly interesting mailing list message critiques LilyPad and the general notion of music notation software.

The Mutopia Project is one of several public domain sheet music projects, a sort of Project Gutenberg for sheet music. They offer PDF (Adobe Acrobat) files, PostScript files, and even LilyPond typesetting files.

The Choral Public Domain Library (CPDL) has downloadable sheet music for public domain choral music.

Project Gutenberg has a sheet music section of its own. Adopt a Beethoven Quartet!

December 16, 2002

You've got an Apple AirPort wireless network base station, and a mix of Macs and PCs (Windows or Linux) in the house. When you first turn it on, it works great with all of your computers. You hear about people who drive around and find open wireless Internet connections like yours and think it's neat how we can all share. Then you read that the Department of Homeland Security considers open wireless networks a security threat, and you decide to enable that "WEP" thing in the AirPort Admin Utility. (You find out later that WEP doesn't stop the determined, but at least it keeps your neighbor from using your connection the way you can use his.)

Then you realize that, while your Macs are still gleefully wireless, your PCs can no longer communicate. After weeks of groping the web for other people having the same problem, you stumble across this Seattle Times article all about the problem and its simple solution. And your sanity returns.

By the way, WarChalking.org reports that the King County Library System (Seattle) is installing open wireless Internet access in many of its branches. No encryption or passwords needed.

It's difficult to know how paranoid to be about open, shared Internet connections. All traffic is visible to anyone on the same sub-net, and unencrypted traffic (like regular web browsing and even many email readers) can be seen and possibly exploited right away. Encrypted traffic, like web shopping or banking transactions, though obscured, can still be recorded, and if a flaw is ever found in the encryption scheme, or computers just get fast enough to crack it, or enough time passes to crack it, nefarious spies may be able to open and exploit old encrypted recordings. But this is going to be theoretically true no matter how good the encryption is.

In general, if your data (encrypted or otherwise) is good enough to be transmitted over the Internet, it's probably good enough to fly through the air. Landlines do give you some security, but your credit card number goes through many computers before getting to Ticketmaster-- and you're more likely to get your number stolen by a Ticketmaster employee than a 'net snoop, anyway.

In case I ever need it again: The most recent version of Cygwin XFree86, the free XFree86 server port for the Windows OS, supports rootless windows, the earlier lack of which drew me to buying a used copy of Hummingbird Exceed.

USPS Web Tools. Use XML with the United States Postal Service to compute postage, normalize addresses and even track packages.

December 13, 2002

The Recreational Figure Skating FAQ is yet another fantastic, definitive, complete resource from the world of Usenet.

The Seattle Skating Club gives ice skating lessons at various levels. I wonder what the typical age ranges are in their classes... I'm grateful to a man wearing a sign that read "Instructor" at the Lynnwood Ice Center a couple of weeks ago for giving me some badly needed pointers during a public session.

Via The Screen Savers: RobotStore.com sells a variety of robot kits, including the WAO-G PC-programmable "fuzzy" robot. I might very well enjoy a soldering-required robot kit, but I'm disappointed that the all-to-pieces model is just as expensive as the pre-assembled model.

Seeing this robot made me miss the days where I pined (pining for pining?) for a Heathkit HERO robot kit, a (relatively) popular programmable robot from a couple of decades ago, too expensive to actually be attainable. This site claims to have acquired the remaining kits and the rights to sell them, including the HERO 2000 and various modern add-ons, but there doesn't seem to be any resale information up yet.

Slashdot interviews Joe Clark on technology (especially web) accessibility, and Joe's answers are a good read.

December 12, 2002

The Hasbro FAQ database has great information on all Hasbro products. Found this while looking for information on expansion packs for the party game Taboo. There aren't any. The 10th anniversary edition of Taboo includes 30% new cards, and there's a Junior edition for kids, but that's it.

File input (or "upload") in HTML forms. An excellent summary of this esoteric but useful feature of most web browsers, worth reading if you'll ever have to implement it.

Already old, but still interesting to anyone who'd take interest: Making the Case for PHP at Yahoo!

December 11, 2002

How to Explain the Rules of Cricket. From The Manual.

Secure, Efficient and Easy C programming.

I had the pleasure of driving a Honda Civic Hybrid car the other day. FlexCar, the transit-authority-sponsored car sharing program that's slowly but surely taking over the world, has a few in its fleet, including at least one in downtown Seattle. I'm pleased to say that to the casual city driver, they drive and operate just like a regular car. The engine shuts off while stopped at red lights, which is even more fun than it sounds, and the electric-assist up hills is noticably nice. If I were to ever want a car, I'd want one of these. Now if only it ran on vegetable oil...

December 10, 2002

When I saw the DVD of Tarkovsky's Solaris go out of print, I didn't realize it was because it is now part of the Criterion Collection. New English subtitles, deleted and alternate scenes, audio essays, interviews, and an excerpt of a documentary with Stanislaw Lem (author of the original novel).

Jeremy on sloganism.

DavidM sends a FedEx to Santa and tracks its progress. See how far it got, and who signed for it.

December 6, 2002

'Dot-Kids' Legislation signed into law. This creates a .kids.us domain space for the Internet. Web sites in this space, by law, cannot link to any site outside of .kids.us. Chat and IM are also prohibited, except when a provider can guarantee the services adhere to "kid-friendly standards."

Just saw John Rhys-Davies in an interview about the Lord of the Rings movies. He's lost a lot of weight, and looks fantastic.

That's all.

Commodore Amiga fans might remember a fantastic game called Deluxe Galaga, probably the best vertical space shooter I've ever played. The Deluxe Galaga Website is now the "authorized and official web site" of the game, with information on how to get Deluxe Galaga up and running on your PC using emulation software.

Deluxe Galaga's original author Edgar M. Vigdal has a Deluxe Galaga remake project for the PC called WarBlade.

IFLibrary.Com's annual interactive fiction competition is open, with a registration deadline of February 15th and a submission deadline of March 15th. IFLibrary's competition is the "other" annual competition, different from the original competition, with different judging rules to (I believe) encourage new authors.

December 5, 2002

Mozilla 1.2.1 has been released. It fixes a nasty DHTML bug in Mozilla 1.2.0, among other things. Anyone using 1.2.0 is encouraged to upgrade. The bug was found and fixed within 6 days of the official 1.2.0 release (though with such rigorous testing of the betas, it's unusual that the bug made it out at all).

It is common to blow up the problem in one's imagination, so that it seems to threaten weeks, months or even years of work. The problem you face may seem insurmountable: but almost never is. Once you have been programming for some time, you will be able to remember similar incidents that threw you into the depths of despair. But remember, you always solved the problem, somehow!

Perseverance is often the key, even though a seemingly trivial problem can take an apparently inordinate amount of time to solve. In the end, you will probably wonder why you worried so much. That's not to say it isn't painful at the time. Try not to worry -- there are many more important things in life.

-- "Strategies for Debugging," wxWindows Manual

I have never written an application in a windowing environment. Ever. I tried Perl/Tk once just to try it (joyfully easy), but I never used it in a real application. And of course I've done a bunch of fancy web development with a basic event model and widgety things. I even coded Java for a couple of years but never got around to Swing. And now that I finally have an idea for an app that could only reasonably done as a windowed thinger, I'm not sure where to start.

I'm looking to invest a little time in a common, cross-platform, free-to-use library so I can write for Linux and Windows without too much porting, and maybe even OS X. Java Swing would be easiest for me (I have the books and everything) but I don't feel like requiring a JRE from potential users; same goes for Perl/Tk, sadly. I'm sure there are dozens of cross-platform GUI solutions that meet these criteria. I've heard of wxWindows comes in Windows, *nix and Mac flavors, is Open Source, and might very well be the end of my search. I first learned of wxWindows as the basis of the Audacity Open Source audio editor, which is a high recommendation. I've also heard of Qt, the basis of the KDE windowing system. Only their X11 version is free; the Windows version only comes in Professional and Enterprise flavors, starting at $1,550 for a single copy. What about GNUStep? Here's a few more, for reference...

Any experienced developers want to comment? I guess I'll try wxWindows and see how hard it is to get going. It even comes with cross-compilation instructions, so I may not have to re-install Visual Studio 6 after all.

developerWorks: Looking through wxWindows, an IBM developerWorks article. Programming with wxWindows, an oddly-written introductory tutorial focused on developing for the Windows OS. wxStudio, an (abandoned?) IDE written for and in wxWindows.

December 4, 2002

I recently decided I needed a better portable music solution. I love my Rio SP250, and would recommend it to anyone with a CD burner, a need for both portable MP3 and CD playing, and the patience to organize a music collection onto CD-Rs. And the new Rio SP350 comes out next week, with all the features of the SP250 in an even smaller case, and bundled with a car kit. Of course, I'm still jealous (excuse me, envious) of L's iPod, which now works with Macs, Windows PCs (using MusicMatch, which I can also recommend for MP3 ripping and management in Windows), and Linux through various projects. Unfortunately, having the Rio SP250 makes it difficult to justify spending $300 on another MP3 player that would likely relegate the Rio to the closet, and I do like it very much for also being a CD player and an FM tuner.

But I liked the idea of getting a small, inexpensive, memory-based player to supplement the SP250, for exercising and generally keeping in my pocket all the time. The SP250 is a nice size (and the new SP350 even nicer), but it isn't exactly pocket sized. Also, memory-based means no moving parts, which is better than the hard-drive-based iPod or the CD-based SP250 for jogging. Like I do a lot of that. Really, the iPod would have answered this question hands-down, dropping the "memory-based" requirement, if I hadn't already spent my holiday money (or were willing to sell my SP250, which I'm not).

A few bounces around the web, and it started to look like the Rio S50 was up my alley: a great feature set for a memory-based player, including battery charging over USB, fantastic (advertised) battery life, FM tuner, and 128MB on-board with a MMC memory card expansion slot. But at $170, it was a little too expensive for a secondary player, especially considering I'd probably drop another $100 on memory expansion. And if I'm spending $300, I'd rather have an iPod.

My brain clicked twice, and I realized I also wanted Linux compatibility. A few more bounces revealed that almost no memory-based players have corresponding Linux-compatibility projects, save for a few treatments of the very popular but now obsolete Rio 500. So I asked a local Linux user group, and the resounding response was to look for players that simply act like external hard drives, no special software needed. Most mainstream players want to comply with future Digital Rights Management schemes, and do so by requiring the user install special software on their computers. Such software never gets a Linux version, leaving Linux users out in the cold. But pretty much every modern operating system can use external USB hard drives without proprietary software.

The only player recommended by the group: Frontier Labs' Nex IIe. Very small, uses the ubiquitous CompactFlash memory format, connects via USB and acts as an external drive (can hold any files, not just MP3s). And it's only $115. Exactly what I wanted. I ordered through Frontier Labs' sparse Yahoo! Store, and within a couple of weeks I received a hand-addressed package shipped via Canada Post.

The Nex IIe is a weird little device. The physical controls are pretty simple, with four buttons, a jog wheel and a lock switch, and basic operations are easy to figure out. The backlit screen is nice and large, and the display while playing a song is what you'd expect from an MP3 player with a small screen. The menus and file browser are, in lieu of a better description, charmingly crude, simple enough to use but with all the signs of an interface designed by a software engineer that didn't have the mainstream user in mind. The file browser includes a ".." directory ("folder" in desktop terms) if you're in a sub-directory, *nix/DOS parlance for "go up one in the directory hierarchy". A list of files longer than a screen's worth ends with a line that resembles "====== EOF ======", which somewhat inappropriately invokes the geek acronym for "end of file". Turn it off by holding the "Stop" button while already stopped, and it flashes (and I quote) "BYE-BYE!".

On the one hand, if I were running this company I would not have let this device out the door with these user interface quirks, lest they alienate the mainstream user. On the other hand, the quirks are awfully charming in a geeky sort of way, and make it feel more like my MP3 player. Some Nex II fans feel Frontier ought to open the device's on-board software so geeks can hack on it, which I originally thought was a silly thing to suggest, but now can't help but feel we're a bit entitled. All in all, the quirky interface is actually quite straightforward and does not make it less easy to use; even the ".." thing is pretty easy to figure out, and the Stop button intuitively does the same thing.

There are a couple of inexcusable flaws, however. Most notable is the order in which tracks are played, not in alphabetical order, not in ID3 track tag order, but in the order the files were copied onto the device. Order cannot be changed on the device except with the "program" feature, where you select each file one by one in the order in which they are to be played. Programs cannot be saved. The only good way to make sure tracks are played in album order is to copy them to the device in that order, which is difficult because most operating systems (Windows and Linux included) will copy files in an arbitrary order when done as a batch. But again, this grievous flaw appeals to my geek nature, as it actually (kinda sorta) empowers me in a way most cheap players do not by giving me some way to control track order other than numbering my files (as I usually have to do with other cheap players that only play in alphabetical order). The only convenient way to do this involves writing little computer programs to do the copying, which no typical user will want to do, but I almost enjoy the fact that I have to. Almost.

Other flaws are less geeky (and thereby less charming), such as stopping play when accessing the menus (to, say, adjust the equalizer), no battery gauge or low battery warning (will just stop working when the battery is too low-- which given the other flaws freaked me out at first), a flimsy battery door and difficult battery removal (a terrible problem in a device whose batteries need to be switched regularly), some easy-to-reproduce bugs that result in the device locking up, and no way to power down during a crash except for removing the battery. But the more I read about $100 players, the more it seems all comparable players are rife with similar problems. In the end, the simplicity of the Nex IIe beats out many of its competitors. And its flash upgradability and company commitment to updates (the Nex II made it up to firmware version 1.43) means many of these problems might go away. I can't recommend it to everybody, but I look forward to getting a lot of use out of it (and possibly writing some software to help :).

The NEX II Community has a website and an active Yahoo! Group. Of course, someone has already written a utility for copying files to the Nex II called CopyNex, though it's written in VisualBasic for Windows.

December 3, 2002

DVDFile's review of the new Back to the Future DVD boxed set is excellent, including a decent wrap-up of the films themselves, and the usual DVDFile expert opinion on the video, sound and restoration quality.

The Producers has been released on DVD as of today, including a making-of documentary. It's about friggin' time!

So You'd Like to... See Proof That Amazon Review Editors Have No Sense of Humor.

December 2, 2002

Penguin, Joker, Riddler... and Catwoman, too! The sum of the angles of that rectangle is too monstrous to contemplate!

-- Commisioner Gordon, Batman: The Movie

Not only is Batman: The Movie (1966) on DVD, it has a commentary by Adam West and Burt Ward, among other features. This movie is pure greatness, I don't care what you say. This DVDFile review of the DVD is glowing.

StepMania is an Open Source Dance Dance Revolution for your Windows PC. Indeed, it seeks to be a platform for a multitude of rhythm game clones. The project appears large and well-established, with sexy screenshots, a 3.0 version number, and various fan forums and web sites. You can play StepMania with a Playstation dance pad and a "Boom"-brand PS->USB adaptor (other PS->USB adaptors are not recommended, according to the Readme). Install your own songs, develop your own dance patterns, create your own skins and more. See also the StepMania SourceForge page.

My previous build-your-own-TiVo post discussed a project surrounding non-US satelite receiver cards. So are there similar projects that use a basic TV capture card? Of course: Freevo features an on-screen TV guide (using XMLTV, itself an interesting project), DVD player, MPEG/AVI video player, MP3/Ogg music player, picture viewer, and even ("preliminary") MAME arcade game emulation. The screenshots are very nice looking. Taking the wind out of its sails is the current lack of the essential feature, the R in PVR, the ability to record TV (live or otherwise). DVD menus are also on the "planned feature" list. Oh well.

I've been quite tempted lately to build a media box myself. It's hard not to be tempted with motherboards like these: ethernet, audio and video all on-board, with TV video out, fanless operation, and a mini-ITX form factor of just 170mm x 170mm. "Make me into a set-top PC," screams this little motherboard, "PLEASE!" Add a DVD-ROM drive, an ultra-quiet power supply (I can personally vouch for these), a silent hard drive, and an infrared remote receiver, and you're practically there. For a PVR, you'll need a separate video card to do the heavy lifting (TV in and out). I was merely thinking of MP3s for my box, but it comes so close to doing so much else, it'd be a shame not to go all out ala Freevo.

Having spent too much on holiday gifts this year, I quickly scaled back to trying to make a cosmetically decent media box using as few new parts as possible, repurposing one of my existing boxen for the task. I stayed up for hours drawing diagrams to get my regular ATX motherboard and excessively large SoundBlaster AWE64 card into a reasonably sized layout, possibly for putting it all into a home-built case (because for some reason nobody is making set-top-shaped PC cases yet, dammit). Width and depth were no problem, but with the SoundBlaster sticking perpendicular to the motherboard, it'd have to be at least 5-1/2 inches tall. Given the noise problems with the CPU fan and hard drive (the aforementioned quiet power supply makes no noticable noise), I gave up on the idea. It took me a while to remember that I could just run a cable from the PC in the office to the stereo downstairs, and control it all via a web interface and our Wi-Fi-enabled iBook, no hardware changes necessary. This seems to be what most people do-- most people who are inclined to use a computer for their music at home, anyway.