My apologies if my blog takes too long to load; PacBell has screwed up my network again.
--- 18.104.22.168 ping statistics ---Normally it takes about 20ms to get to my upstream router; right now it's 1500ms. Happened for a few hours last night, too. What could be causing this? Last time this happened PacBell tech support had no clue, it went away on its own after a week. For this I pay $50/month.
269 packets xmit, 268 packets rcvd, 0% packet loss
round-trip min/avg/max = 925.7/1576.8/2388.1 ms
The Tron 2.0 game is great, as I hoped. The gameplay is basic FPS stuff, but the look is phenomenal. Particularly the much hyped glow effect.
A bit of research yielded this NVidia slide deck about the glow effect. It's conceptually simple; render the scene with just the light sources and blur it. Then render the scene normally and add the blur in as glow.
The part that makes this remarkable is they can do this 30 times a second at 1280x960 resolution, thanks to the magic of Cg. Cg allows you to write programs that do things like calculate per-pixel shading to create all sorts of crazy effects in real time. Consumer video cards have an astonishing amount of parallel computing capacity.
As much as I like Bitstream Vera, the font has a problem: it's too light on Windows 2000. Text in 12 point Vera Sans Mono is a vast grey field rather than crisp black text.
The problem is Windows 2000's font anti-aliasing. Windows XP does a much better job. The image above shows an example; lowercase 'x'. Notice the absence of black pixels in Win2k? I wonder why Microsoft's own fonts don't have this problem; different hinting?
My Labour Day weekend plans were made weeks ago: the California State Fair. Celebrating 150 years of BIG FUN!
I went a few years ago and had a great time. It's a huge event full of prize pigs, hucksters, ferris wheels, fried bread, and lots of ordinary people. Much fun. This year I can't decide what I'm more excited about: the 600lb performing pig or the corn husking.
The Guardian has an excellent article with a simple explanation of the "French Paradox":
The lesson is that though the French diet was rich in fat, overall, the Americans consumed more calories. Over the years, this would lead to substantial differences in weight.When I'm in France I eat incredibly well and still lose weight. The quantity is smaller, yet I'm happier because the food is delicious.
A big jump in average calorie intake between 1985 and 2000 without a corresponding increase in the level of physical activity (calorie expenditure) is the prime factor behind Americas soaring rates of obesity and Type 2 diabetes.Super size it!
Jimmie Rodgers was a hugely popular American singer around 1927-1933. He's usually thought of as a country singer, but his music is amazingly eclectic with plenty of roots, yodelling, and some beautiful blues (such as the Train Whistle Blues (30 second sample).
You can pick up a 5 CD box set of Jimmie Rodgers for only $26 on Amazon. Worth the investment. I didn't grow up with this music, but after the success of the O Brother, Where Art Thou? soundtrack I'm getting interested.
I switched WinAmp to use the MAD plugin for MP3 decoding; it spits out 24 bit output for my sound card. How much does the precision of digital sound really matter?
My searches led me to this fine document on audio dithering. If you have sound in a format that's more accurate than your final output (say you're doing 32 bit processing and the end result is a 16 bit stream) then you don't want to just round off the sample - you want to dither in some noise. Why? It allows the lower bits to occasionally be expressed in the output and your ear is capable of picking the signal out of the noise.
The audio demos from the page are impressive. Effects are exaggerated (rounding to 8 bits) so you can hear them. Read the document for explanation.
Blosxom has a couple of plugins to ping weblogs.com and blo.gs when new entries are posted, either via HTTP GET or XML-RPC. But these scripts have a problem; they run as synchronous plugins, forcing whatever hapless user hits your blog first to wait while the servers do their thing (or don't - weblogs.com is awfully slow sometimes).
My little pinger.py script works a different way, running as a cron job periodically and checking if it needs to ping. Not robust; only recommended for Python hackers.
Blocking I/O is the scourge of reliable Internet programs. Python's simple network libraries like urllib are surprisingly ænemic with respect to timeout options. Happily, Python 2.3 includes two new functions in the socket module: getdefaulttimeout and setdefaulttimeout.
socket.setdefaulttimeout(5)There are more sophisticated ways to do nonblocking I/O in Python, but for simple stuff this works.
except IOError, e:
# handle timeout
Python on Windows is complete enough to be a real alternative to Visual Basic. Between wxPython, pyGame, and the win32all extensions you have all the doodads you need to build Windows apps.
Today's exercise was a little program to tell me when my Creative sound driver has been set behind my back to something other than 6.1 surround. It reads a registry key every 15 seconds and updates a system tray icon if things have changed.
Doing it in Python didn't prove too hard. The bloat is bad though; the program is 12 megs in RAM and a 2.5 meg standalone distributable. Still, nicer than trying to remember how to program with Visual Studio.
The Gnome Foundation helped make something that isn't ugly; the Bitstream Vera fonts. Well hinted TrueType that looks good when rendered on-screen, free! Western languages only.
Vera Sans Mono fills the need for a good fixed width sans-serif font; Lucida Console just doesn't cut it. Vera Sans is a decent proportional font but is too wide; I still prefer Arial. Vera Serif looks hideous, but then all serifed fonts look hideous on screen.
One thing about the SoBig.F virus; it's a bad week for spammers. I've gotten more email about "Wicked screensaver" than "Order Viagra, and Much More" in the past few days. The spammers are getting overrun.
My favourite part of my 1996 roadtrip was southern Utah, Mormon country. Beautiful landscape and friendly people, particularly in towns like Hurricane. On that trip I became interested in the Church of Latter Day Saints. What a strange phenomenon! A made-in-the-USA religion now known for conservatism and white bread blandness, but with a crazy history of defiance, persecution, and polygamy.
Jon Krakauer, of Into Thin Air fame, uncovers fundamentalist Mormonism in his latest book Under the Banner of Heaven. Yes, fundamentalist Mormonism: splinter groups who hold various radical theological positions such as celestial marriage and apocalyptic fervour. The book is ostensibly a history of the murders by Ron and Dan Lafferty, but really it's an excuse for Krakauer to explore the curious history of the LDS church.
The narrative is unflattering, particularly its characterization of the early days of Joseph Smith and Brigham Young. Parts seem unfair. But Krakauer's central thesis is fascinating - Mormonism was born out of violence and zealotry and this extremism is alive and well in the fringes of Mormon culture.
Great writeup of a flaw in Netgear routers resulting in University of Wisconsin being spammed with NTP requests. Netgear hardcoded a single IP address for an NTP server and then had a mode where if that IP address failed, the router would try again in one second. Didn't these guys ever hear of exponential backoff?
The ironic thing is NTP is the most lightweight useful Internet protocol in existence. A server can handle hundreds of thousands of properly functioning clients; when it works it takes one UDP packet every 17 minutes to serve a client. I did an NTP survey back in 1999; a beautiful peer to peer network.
As seen on Slashdot
Rael tipped me off to a sad reality: Safari, the fancy Apple Mac browser, doesn't support gzip encoding. What a waste of bits!
Today's mailbox had five identical messages from email@example.com titled "Important Security Update for the .NET Messenger Service". Apparently I have to upgrade MSN Messenger and Windows Messenger because of some security fooferall. I almost assumed this was some scam, but the upgrade site looks real.
Let's enumerate the problems:
I had no idea there were so many nudity patches for mainstream games. My favourite is these Morrowind mods, from adolescent male fantasies of the female form to the hysterically kinky.
3D Studio Max renders of the female model using the breasts from Sabba's model. 250 more polygons, but definitely worth it.All the mods are for females, unsurprisingly.
Note: pretty much all these links are adult content.
For all your long-line typsetting needs there's U+200B, the Unicode "Zero Width Space". It tells the renderer that if it needs to put in a line break here's a good place to do it. Great for when you have a really long line with no spaces in it and don't want to just hack in a <br>.
Only it doesn't work so well in HTML. HTML 4.0's entities don't define &zwsp;. IE recognizes it but Mozilla doesn't. So you need to use ​ instead. And then IE screws it up when you paste it into ASCII. And while IE6 on WinXP renders it correctly, on Win2K it renders a box. Totally broken.
There's a good page on line breaking in the Web, detailing all the problems where lines are broken where they shouldn't be and vice-versa. What kills me is these typsetting algorithms were all solved almost twenty years in TeX, at least for English. Why do the people who do HTML and web browsers hate design so much?
Spurred by Mark's message about cruft-free URLs, the Blosxom list has been full of discussion about how to do good permalinks in Blosxom. There's been some confusion; Blosxom has quite clean permalinks.
Blosxom supports two kind of permalinks: date based and file based.
Date-based permalinks look like this:
File-based permalinks look like this:
blosxom.cgi, with no flavour files installed, uses date-based links. So do the flavours in the Blosxom flavour sampler. Many of us, including the author of Blosxom, prefer file-based permalinks. The joy of Blosxom is either kind of permalink will work. By editing flavour files you can easily decide which style you serve.
Personally I think the date-styled permalinks are crazy and Blosxom's defaults should be file-based.
Watching BitTorrent penetrate the game demo market has given me an idea for a business model for BitTorrent: charge companies for help hosting files via BitTorrent. It could be a consulting business, teaching sites how to set up and run trackers and seeds. Or it could be a service business, running a BitTorrent hosting service for others. You could offer client support, maybe custom-branded clients. There may even be room for proprietary software here: special trackers and monitoring tools.
I don't think any of this would be a huge business, but it'd be enough to fund BitTorrent development. Customers: anyone hosting downloads of more than 10 megs.
Saul Griffith builds kites. Not ordinary kites; huge handmade beautiful things that are capable of generating hundreds of pounds of lift. I had the pleasure of flying, or rather being flown by his monster kites: big fun.
And big crazy. Check out this movie of someone flying twenty feet above the ocean with a kite and pulling a guy on a board behind him (for ballast, one presumes).
I host this blog from my house in San Francisco. Should be safe from the blackout in the northeastern US, right? Wrong. Because my domain name monkey.org is served from Ann Arbor. So a failure of a transmission line in Ohio knocks off a computer in Michigan disabling a server that should be sending out a few hundred bytes of data to the distributed DNS system across the globe, thereby preventing readers all over the world from accessing my machine in California. Great.
I've thought for awhile about moving by blog to a new domain name but I can't come up with a good one. Hmm, boingboingboingboing.net is available.
I like my new Creative Inspire 6600 speakers. 5.1 surround isn't good enough; 6.1 gives you an extra rear center. Or something. Mostly I bought them because they were cheap ($80 at Amazon) and I figured they'd work well with my Creative Audigy 2 Platinum soundcard.
They sound good. Having speakers behind you makes for a big difference, particularly in games. Your eyes always stare straight ahead but you can hear all around you. So why not have speakers behind you in your VR rig?
What I like best is that the product packaging is remarkably good for the price. The speakers look nice. The speakers come with long enough wires to reach the back of my office comfortably. It comes with little stickers to label each speaker. The power transformer is on a cord so it doesn't cover multiple plugs.
I'm so used to crummy packaging of computer products it's nice to buy a box of stuff that just works.
There's another Windows worm afoot. This one's ugly - it carries a payload that attacks windowsupdate.com. Result? If it's successful, it'll knock out the one easy way users have to protect themselves from it. I'll leave the biological metaphor to you.
How many words can you make with the letters "abcdefghijkmx"? You can make 13 different WiFi standards, nicely enumerated by ZDNet. Ever wondered what 802.11j was? This article is your source.
Today's project was transplanting my computer into a new case to try to solve the heat problems I'm having. What a pain in the ass. But now I have a pimped-out case with glowing bubbles like a jukebox. The neon tube in the bottom has a switch to make it flicker like a broken sign.
My real goal is to make my Mac friends envious. Who wants elegant design when glowing fans are only $7.99?
The BitTorrent experimental download client is good. Installs with little fuss, and when I click on a .torrent link it just works. Nice UI to show you how the transfer is going with simple settings to throttle upload bandwidth. If you're a Windows user and haven't used BitTorrent, this is the place to start.
Game demos are starting to be distributed via BitTorrent. Perfect use: lots of enthusiasts, giant files (200 megs is common). Places to go for legitimate BitTorrent game files: GameTab, 3dgamers. Try out the cool Tron demo!
The Spiders, the hypnagogic online comic, has just put out the new part 3.5 (mirror). If you haven't read Spiders before then start at the beginning and get at least through part 2; that's where it gets interesting.
The story is a bit tough to follow at times, but the artwork and presentation are fantastic. My only frustration is that they use the Web medium so well I can't imagine these ever being printed.
Also not to miss by the same artist: Apocamon, the book of Revelation reinterpreted as manga.
For some reason it was a big deal for the Episcopal church to elect Gene Robinson, a gay man, as bishop. Because, you know, there's never been a gay bishop before. When the fossilized conservatives couldn't scare people with threats of splitting the Church, they come up with eleventh hour allegations against his character.
The more outrageous claim is the fooferall over Robinson's support of OutRight Concord, a gay youth outreach group. The problem? An affiliated site, Outright Portland, had a link to bisexual.org, which in turn ran a banner ad for threepillows.com, a pr0n site.
Hopefully the good people of the Episcopal church understand what character assassination is.
Update: sounds like the preliminary investigation has cleared Robinson of the various allegations. The confirmation vote is back on.
Update 2: he was elected.
HTTP 1.1 has a dizzying array of response codes. These are important. Designing APIs for the success case is easy; designing APIs for all the kinds of failures that can happen is hard. Mark has some excellent guidelines for aggregators handling various response codes.
100 101I'm going to try 410 Gone to tell the spider to buzz off; that's stronger language than 404 and implies that the client should not try that URL again. But 410 Gone is not a HTTP/1.0 feature and the spider may not know HTTP/1.1, so it's possible I'm now out of spec. Isn't versioning distributed systems fun?
200 201 202 203 204 205 206
300 301 302 303 304 305 306 307
400 401 402 403 404 405 406 407 408
409 410 411 412 413 414 415 416 417
500 501 502 503 504 505
I've removed the comments from my blog. You can still get the old ones, but I won't be reading them going forward.
My blog is my space, my publication; I'm not running a message board. Every time someone posted something rude or dumb I winced. And when someone posted something smart I got frustrated because I didn't have a good way to discuss it with them. So from now on, if you have something to say please email me.
Many thanks to QuickTopic, who runs a great reliable, free, simple discussion board service.
Some old broken Blosxom URL I had created a spider trap on my blog, infinite URLs. But so far Inktomi is the only one dumb enough to fall into it, querying URLs like
/~nelson/weblog/tech/Value%20Added%20<something>.html/I fixed the bug a month ago and have now modified Blosxom to return 404 on these URLs. But Inktomi continues to hit me thousands of times a day.
Spiders are a really dumb way to index the web. Too bad more clever solutions don't work.
The single player demo for Tron 2.0 is out. Absolutely beautiful. It has the same look as the groundbreaking original movie, and the theme makes for some really great FPS level design. Giant towering spaces of fluorescent blocks, streams of bits flowing by, inscruitable glowing consoles.
The game designers seem to have freely indulged in the cheese of the original movie, too:
The Kernel will never retreatWith writing like that I don't know that the story will be any great shakes, but it should be a fun game. Some of the visual effects look like System Shock 2 and the character skill system is strongly reminiscent of Deus Ex. Good places to borrow from. Multiplayer demo was weak, but the single player game seems like a lot of fun.
And neither will I
Drive C forever!
Hilarious pseudo-review of Wolfram's pompous A New Kind of Science. Not quite as funny as the famous Amazon A New Kind of Review, but great title.
Avid readers with too much time on their hands have claimed to see all sorts of bizarre items while exploring class 3 and 4 automata [see fig. 2]. These include images of Jesus, Elvis, crop circle designs, the words "Paul (Erdös) is Dead", and Jesus in an Elvis jumpsuit.I used to do complex systems research at the Santa Fe Institute. I read Wolfram's book. I mostly liked it - it's a nice introduction to complexity theory and why complex systems are interesting. It's also surprisingly shallow, lacking any rigorous foundation (quick, what's the mathematical definition of "complex cellular automaton") or references to 50 years of preceding research.
As seen on jwz