I heard Howard Dean speak today. I've been favourably inclined to Dean - he's the only Democrat who has taken a strong position against Bush insanity. I'm even more impressed now. The message I liked was about mobilizing the 50% of Americans who don't vote. I've held my nose and voted three times; I'd like to vote for someone with the fire.
I have a love/hate relationship with MySQL. The online manual helps. It's not only handier than the book, the web site allows users to add comments. Often the real story is in comments. Yesterday I added to the collective wisdom about "table full" errors. Everyone benefits from hard-earned knowledge.
mini_httpd is good software. It's a very simple web server that needs no config.
mini_httpd -p 8080 -c *.pyThat's all you need to run a web server serving the current directory and running Python CGI. I use mini_httpd all the time when I need an HTTP view of something for a quick project.
Nintendo's Game Boy owns handheld gaming. The hardware is good and cheap and the games are great. But the system is closed: Nintendo would really rather you didn't hack it. There are alternatives.
The GP32 from Korean company GamePark is the most promising. Powerful hardware: 133MHz ARM, 8 mbytes of RAM, 320x240x16 screen, wireless networking, easily programmable. It has a huge community of hackers. Most promising are the emulators: you can play classic Atari, NES, etc games on this thing. The MAME, Game Boy Advance, and SNES emulators have been hyped but they don't quite run right yet. At a price of around $210, it costs double a Game Boy Advance. And GamePark is having trouble: the European launch was cancelled last week, but the platform should live on. Still, very cool.
The other platform that has folks excited is the TapWave Zodiac. More corporate / licensed than the GamePark, but the hardware is promising. It's a bit more standard: PalmOS and Bluetooth. Should be shipping any day.
The Calgary Sun has the scoop: Kim is not going to be a lesbian. And yes, the cougar really did bite her:
So I eventually went to meet the cougar and my stunt double was there and the cougar was nibbling on her hand and I thought, Oh, its like a pet. And I put my hand out and he totally attacked me. It was pretty freaky, but I got to go to the hospital."like.. totally.. freaky.." Elisha Cuthbert must be taking lessons from Brando, staying in character 24 hours a day.
N-Gage, Nokia's cellphone/game console Frankenstein, seems to be getting no respect. From the awkward phone ergonomics to the lousy sales to the reviews to the comments from their own shills, it seems to be a lousy product.
The latest news from Baghdad is horrible (34 dead, 200+ injured). The response from Bush is horrifying:
"The more successful we are on the ground, the more these killers will react," he said, adding that the administration was determined "not to be intimidated by these killers."So let me understand. The US isn't able to provide even basic security in the latest country we destroyed and this is evidence of our success?
"The more free the Iraqis become, the more electricity is available, the more jobs are available, the more kids that are going to school, the more desperate these killers become ...
There are some who feel like that, you know, the conditions are such that they can attack us there. My answer is bring them on. We got the force necessary to deal with the security situation.
Kirby's Dreamland (aka Hoshi no Kirby) made its debut in 1992, the genesis of the successful Kirby franchise.
The Unix shell is generally fantastic, but working with files with spaces in the name is a nuisance. Tools think the spaces are delimiters and break up your filename. Ie, these don't work if you have a file named foo bar.tmp:
rm `ls | grep tmp`One option is to manipulate IFS. Another is xargs -0:
ls | grep tmp | xargs rm
ls | grep tmp | tr '\012' '\000' | xargs -0 rmThis is particularly good with find -print0
netpbm, originally by Jef Poskanzer, is good software. Simple Unix command line tools for images: convert formats, scale, manipulate. Long before Photoshop and Gimp there was pbmplus, and long after there still will be.
I was surprised to learn that after 15 years the netpbm team has added a new format, PAM. It's a superset of PBM, PGM, and PPM: the header now has keywords next to values and a new "tupletype" keyword is added to specify "BLACKANDWHITE", "GRAYSCALE", or "RGB". The purpose of this seems to be to support alpha channels in netpbm. Tuple types "RGB_ALPHA" and "GRAYSCALE_ALPHA" are on their way.
I wrote Python code for verifying ROM libraries against DAT catalogs. One problem: most DAT files use CRC32 as the way to identify the ROM. The hash space is too small. For instance, Golgo 13 - Top Secret Episode and the unauthorized Swedish translation of Legend of Zelda both have the CRC32 6ad81a61.
It'd be nice to have a truly unique name for each ROM. There's a move to use MD5 hashes; overkill, but it'd work. The emulation sites are hard enough to navigate I can't find who's doing the work.
Python 2.3.2 (#2, Oct 6 2003, 08:02:06)Ugh! When was the last time you wanted a signed hexadecimal output? And why is hex() of a long in uppercase, while hex() of an int is lowercase?
__main__:1: FutureWarning: hex()/oct() of negative int will return a signed string in Python 2.4 and up
Part of video game preservation is a catalog of video games. The emulation community has come up with auditing utilities to manage ROM collections. The best known seems to be the Good Utilities, bare DOS software. RomCenter and ClrMamePro offer GUIs.
These programs all act on a catalog of known ROMs with checksums and disposition. DATs are maintained separately: some sources are Rob's conversions and Logiqx. Unfortunately the Windows programs are awkward and slow, and no one seems to have a simple Linux port. May be a good job for Python.
The NYT has a glowing article about the Panther upgrade to Mac OS X.
Mac OS X isn't just free of viruses; it's also free from copy protection, "activation" (a Windows XP feature that transmits information about your PC back to Microsoft), and pop-up messages that nag you to sign up for some Microsoft database or clean up your icons. When you use Mac OS X, you feel like it's yours; when you use Windows, you feel as though you're using someone else's toys, and Mrs. Microsoft keeps peeking in on you.I'm delighted to see this competition to Microsoft's increasingly consumer-hostile system. If I had the hardware, I'd definitely spend a month trying to work from OS X. But Mac OS still represents the same 3-4% in Google Zeitgeist it has since June 2001. All my cool friends may use Macs but it seems the masses don't.
My Thanksgiving turkey this year is a Midget White from Townline Farm. It's just now getting big and fat in preparation for being my tasty dinner.
The reason your Thanksgiving dinner is always dry and tasteless is because the Broadbreasted White turkey everyone raises is freakish and nasty. The New York Times had a good series of articles about this two years ago.
The turkey you'll be eating could never exist in nature. After 50 years of overengineering, it has morphed into a bizarre, ungainly beast that can no longer run, fly or even lay eggs. And all in the name of progress: what it can do is supply copious quantities of white breast meat at the expense of the dark meat from the leg and thigh.There are several heritage turkey breeders out there. You may be too late this year, but remember it for next year!
It's frustrating to get only 99% of a file from BitTorrent or Usenet. Error correcting codes could help. The basic idea of an ECC is that the file you download is 110% bigger, but if you're missing 5% of the file you can still recover it. PC hard drives, memory, and modems use ECCs: why not file distribution?
A popular Reed-Solomon code is RS(255,223) with 8-bit symbols. Each codeword contains 255 code word bytes, of which 223 bytes are data and 32 bytes are parity. ... errors in up to 16 bytes anywhere in the codeword can be automatically corrected.RAR archives support ECCs via data recovery blocks, but few people use them. There's momentum behind PArchive, a file format. It seems optimized for transferring large lists of files rather than a single archive. PAR usability is low but QuickPar is OK.
TorrentSpy is good software to see what's going on in BitTorrent. It shows the .torrent data in a nice GUI and asks the tracker how many complete copies and downloaders there are. Nicer than my BitTorrent dumper.
BitTorrent has a flaw; it's easy to get 99.9% of a file and never complete because no one has the last few bits. The main use of TorrentSpy is to see if any client has a full copy. Unfortunately it can't detect if the whole file is out there, but no one client has it all. With the average torrent having only 20-30 clients I guess that's unlikely.
Game emulators take tiny 256x224 images and scale them up for monitors that display 1280x1024 or more. Simple scaling doesn't work well. Pixel duplication is blocky and bicubic interpolation blurs out the lovely crisp details of hand drawn game sprites. Worse, old games were meant to show on TVs with weird interlacing and blurring; it's hard to get the look right on a PC monitor.
Alien monsters are hiding in barcodes everywhere. Find them in any barcode on any package. Use Skannerz to scan them, capture them, and fight them.Clever game idea: it's Pokemon only instead of buying collectible crap you scan UPCs you find in the real world. UPCs as physical random number generator.
The actual game looks pretty crappy; what do you want for 20 bucks? There's a site that sells barcode books (!), thereby removing any fun from the game.
Thanks to Chris
MSIE has an annoying misfeature: a web page can somehow say "raise me to the front". I hate this; I start a page loading from a slow server, then raise some other window on top to do something else while the page loads. Suddenly bang the slow server page is back on top, stealing focus, sometimes several times.
What's in the HTML that causes this in MSIE? This isn't popups; that's a different problem with plenty of solutions.
I've been wallowing in computer game nostalgia, playing old arcade, NES and Apple ][ titles. The emulators are fantastic. And you can download the complete history of Nintendo in one easy 250 meg archive. Arcade games have a fantastic database.
Playing old console games is easy, but playing authentic Apple ][ games is hard. They were copy protected with bizarre data layouts, manual lookups, code discs, etc.
Copy protection failed to protect the companies' profits, but it makes it harder to preserve Apple ][ history. The popular Apple ][ archives don't serve the original game; they serve cracked versions. They mostly work, but if you're into pristine preservation it's not quite right.
I wonder how folks will play today's PC games in 20 years. I think the DirectX API will make emulation easier. But the games are still copy protected. There are emulators for today's PC CD protection, so maybe preservationists will be able to play the original. And there are cracks too, but most are rips that strip out a lot of game content to make the download smaller. Ugh.
Tea Leaves has a good article about the lack of non-violent options in computer games. The point I like best is that RPG narrative is heavily limited because you're only rewarded for killing things.
One exception I hadn't seen before is Harvest Moon, a farming RPG. You pull weeds, plant crops, and try to marry someone in your town. The intro to the SNES game is charming - "how to play" features scenes of you breaking rocks and removing stumps. The screenshot above is the village church. I love the idea of a Japanese corporation earnestly making a cute simulation of agrarian Europe.
Props to the SNES emulation community for making it so easy to see these old games. There are lots of good SNES emulators. SNES9x is a well behaved Windows app; ZSNES is funkier but has better realism for video and sound emulation.
As seen on games.slashdot
Generally I think the Hugo award winners are worth reading, but not Hominids. It's classic parallel world scifi: man falls through portal to an alternate earth, differences are compared.
At its best this genre can be a great form of social criticism, highlighting details of our society. But Hominids is just tedious. There's the chapter on religion, and the chapter on monogamy, and the chapter on crime, ... And woven all through it, a cartoonish story of a recently-raped woman learning to love again. Ugh.
Joel on Software has a good introduction on Unicode.
All that stuff about "plain text = ascii = characters are 8 bits" is not only wrong, it's hopelessly wrong, and if you're still programming that way, you're not much better than a medical doctor who doesn't believe in germs.
I'm flying back to San Francisco today. While packing, I made a series of calculations:
I'm not one to make displays like that so it was an accident it came with me to New York. But now where do I put it going home? In checked luggage, where security may find it while I'm not around and decide to punish me for being clever? Or in my hand luggage, where it may cause my bag to be searched and an awkward conversation? Maybe I should just leave it behind.
The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violatedThen I realized, I was stressing about what people would think about me having a copy of the Bill of Rights! It's a terrible thing we've done to ourselves.
Peasant: excellent food, lousy service. I had to argue with the waitress that after the cork broke a second time, maybe there was something wrong with the wine and I'd like to taste that. "Oh, all the corks are like that, and once we open a bottle you have to have it". But the duck was the best I've had outside of Europe.
One if by Land, Two if by Sea: excellent food, very good service. The first course of the tasting menu was my favourite - cabbage, foie gras, salmon roe, arctic char, finished in a cream sauce. Incredibly rich and delicious.
I'm enjoying the debut album by the Polyphonic Spree. It's like someone took the symphonic lushness of Sgt. Pepper's and mixed it with the naive earnestness of Up With People. Only it's pretty good!
The interesting thing is the dense sound from having 25 people playing and singing together. The deep choruses of "Soldier Girl" and "Light and Day" are really great. Some of it is bad, though, the remixes and anything where the main guy is the only one singing.
I was surprised to realize this was the first upbeat music I'd enjoyed in a long time.
Just follow the seasons and find the timeA lot of attention has been paid to their creepy cult-like presence, but I have to assume that's irony.
Reach for the bright side
Just follow the day
Follow the day and reach for the sun