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 *.py
That'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.
Turns out the games are lousy too, at least according to MetaCritic. Super Monkey Ball, the best-rated of the 16 games, only garners a 63 out of 100. On MetaCritic any game under 75 is generally bad.
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 rm
This 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?
>>> hex(-1) __main__:1: FutureWarning: hex()/oct() of negative int will return a signed string in Python 2.4 and up '0xffffffff' >>> hex(-1L) '-0x1L' >>> hex(0xffffffffL) '0xFFFFFFFFL'
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.
Taken from
The
New York Times
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.
Fine emulators have a diversity of algorithms for scaling images up. Eagle and 2xSal (aka sai2x) are the ones in common use. scale2x and hq3x are new and promising. The underlying problem is creating the illusion of more information than is really present. All the algorithms above have the same basic idea; try to detect features like edges and scale them appropriately. This needs to work really fast; the code is usually a mess of MMX assembly.
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
violated
Then 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.
Jason Scot, textfiles.org proprietor, writes an excellent
synopsis
of the Apple ][ warez scene in his BoingBoing guest blog. Those
were the days!
My favourite thing is his
gallery
of warez splash screens. Some of the art those things
carried was pretty cool.
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 time
A 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 |