![]() ![]() ![]()
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.
![]() 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. ![]()
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.
![]() 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.
![]()
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
![]()
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.
![]() 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!
![]()
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.
![]() 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.
![]() 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.
![]() 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
![]() 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. ![]() 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 |