|Ned Batchelder : Blog | Code | Text | Site|
» Home : Blog
My wife Susan will be on the Weekend Today show this Sunday, October 2nd. There'll be taped footage of the whole family (including me, I guess). It airs nationally on NBC, usually 8 to 9, though some places it's different, so check your local listings.
Leave it to Charles Miller, an Australian software engineer, to neatly sum up the origins of the USA's religious tensions:
Jeff Atwood points out that the big news from the recent Microsoft PDC demo of Office 12 is the death of the main menu. Instead of a traditional main menu, Office 12 will have a series of tool palettes selected by tabs where the main menu used to be. I think he's right, that we're in for another big shift in UI paradigms, as Office leads the way for developers everywhere. It may be difficult for me-too developers to adjust to this large a change, though, so I don't think the main menu is really dead.
For me, the screen shot of Office 12 prompted a different thought: "Isn't that a Mac?" Could they have copied more of the look of the Mac UI??
Henri Sivonen has written an excellent list of do's don't's for producing XML: HOWTO Avoid Being Called a Bozo When Producing XML. Many of these are old habits for me, but some I'm still trying to internalize some of the others.
I recently finished reading Freakonomics: A Rogue Economist Explores the Hidden Side of Everything, the freakishly popular book about applying the tools of economics to social phenomena. It was a fair read for dipping into occasionally. I found the reverential tone the authors used when talking about each other grating, and the chapter on baby names was too clogged with tables of numbers, but overall the economics were interesting. My big gripe: I think the authors should have tried harder to be objective scientists, and resisted the impulse to push their world view so hard.
Superhandz is a site devoted to manual manipulation of all sorts: pen spinning, cup stacking, card fanning, and so on. They have a ton of videos, most of which depict maneuvers that seem impossible.
The complete collection of Saturday Night Live celebrity Jeopardy skits. These are hilarious.
I've been collecting donations for my autism research fundraising walk. Now Pete is raising money for suicide prevention. Both efforts have web sites to encourage and collect donations. I've had many frustrating visits to the autism walk web site. It's a mess, both visually and navigationally. Donors have told me they visited the site and couldn't figure out how to give money, so they sent a check! That's a bad web site.
Both sites are run by organizations that handle that job for many charities. The autism page is by Convio, and the suicide page is by Kintera. The two pages have a lot in common: mismatched designs, too many navigation options, a big picture dropped artlessly into the middle of the page, and a Java scroller listing donors. I wonder how much more money these sites would raise if they streamlined the process. The Kintera page was better because the very first page had an obvious place for me to put a dollar amount, and then dealt with the details later.
Kintera is also set up to let you browse around other charities, which let me get a feel for what Kintera put on each page, and what the different charities had control over in designing their page. Part of the problem these sites have is that there are too many roles bundled onto one page: team leader, event participant, fund raiser, donor and potential donor (these last two are important to distinguish). Seth Godin's Knock Knock is a breezy little pamphlet about getting rid of the concept of "web site" so that you can use the web as a tool to accomplish your goals. These charity sites need to read it (it takes about 15 minutes).
I can't help thinking that some savvy web designers and interaction specialists could do wonders for these sites, though who knows if they'd be able to get any traction with their recommendations.
A co-worker showed me Pandora today. It's an online music service for finding new music. You give it a song or an artist, and it creates a "radio station" of songs similar to yours. As it plays songs, you can give them thumbs up or down to adjust the heuristics. When you give a song a thumbs-down, it skips the song, unless you've given too many thumbs-downs. In that case, it continues playing the song, and adds helpfully:
Odd. If you start with an artist, the first song is by that artist. If you start with a song, it doesn't start by playing the song, explaining that their music licenses prevent them from playing specific songs by request. Very odd.
I tried it all day today. I thought it did a very good job picking songs I would like, including a couple of dozen artist I had never heard of. The first ten hours are free, and then you have to pay, but the rate is the very reasonable $36 per year. I think I'll be subscribing.
Paper Forest is a blog devoted to paper crafts projects, including plenty of links to Japanese paper models like these Mario figures:
Whenever I have to consider buying another small device (camera, PDA, whatever), I run into the issue of memory cards. I can never remember what all the formats are, and whether I already have a card of the proper format, and so on. At least with the Introduction to Digital Camera Memory page, I can keep it all straight.
I/O Brush is a freaky art/technology project from the MIT Media Lab. Point the big brush at a real world object, and it picks up the appearance of the object. Use the brush on its canvas, and it paints like the object looked. It even captures the movement of the source object. Neat!
Kevin Dangoor announces the TurboGears web megaframework. He calls it a megaframework not because it is enormous, but because it is a collection of existing pieces which have been integrated, kitted, and documented together into a larger framework. The pieces are:
So Python has another compelling web development framework. I still haven't ever built a web site with any of the other ones, so when I finally do, I'll have another to choose from.
We survived the TV crew from Weekend Today. Actually, it was pretty easy and a lot of fun. We had four people total (camera guy, sound guy, segment producer, publicist), but they were very nice and tried hard not to intrude too much. They were around for six or seven hours.
The Honda Accord Cog ad is justly famous. You may not have seen the film that inspired it: The Way Things Go. A clip is available there. Also, the Cog ad has now spawned its own progeny: JJ Keith has a funny spoof.
As part of the publicity for my wife's autism book, a crew from a national TV show is coming to my house today. They'll be filming my family being an ordinary family (if there is such a thing as an ordinary family with video cameras pointed at them). It should be exciting. Wish me luck!
This week's announcement of Google Blog Search has caused a re-examination of how to find things in the blogosphere. Naturally, Google Blog Search is very good. But the interesting thing to me is that it doesn't have a lock on the problem the way plain-old Google seems to have on plain-old search.
Technorati was the early leader in blog search, but it experienced some growth problems. Every search seemed to be impossible due to "current load", so people gave up on it. I had given up on it. This week I tried it again, and it was snappy and responsive (maybe because everyone had given up on it?), and it showed me relevant results that Google didn't have. Technorati's Dave Sifry welcomed Google to the party with a cleverly worded post that points out all the things they don't do yet.
Another contenter is IceRocket, which also gives very good results. Interestingly, it shows relevant results that neither Technorati nor Google gave me. I'm guessing the reason for the three different sets of results is that each engine has to decide for itself what "a blog" is, and how to make that cut.
In any case, the blog search sector is very busy right now. The competition can only make things more interesting.
After wrestling with the classic software problem of what to use instead of Manager when naming classes, Pete came up with a thesaurus-like list to help. My favorite is Jockey.
We saw The Aristocrats over the weekend. What a ride. If you've heard anything about this movie, you know it is a documentary about a dirty joke, actually about "the dirtiest joke". The joke itself is a simple thing, but the way the comedians riff on the guts of the joke is hilarious, and I found it fascinating to hear them create different structural variations, and philosophize about the joke, and comedy in general. About the filth: I don't care how toughened you think you are, you will wince at some point during this movie. You will also laugh your ass off.
In case you missed the first mention of this back in the dog days of August: I'll be walking to raise money for autism research.
Surfers Healing is an organization which organizes day camps at the beach for autistic kids to go surfing. Nat loves boogie boarding, so I'd jump at the chance to get him on a surfboard to see what happens.
At first, I was skeptical about the "healing" part, but there are other kinds of healing than reversing the damage of autism. It would be a fun day at the beach, and that can only be good for Nat, and for the whole family. And seeing a disabled person doing things you didn't think they could: that's definitely a form of healing.
The other day, my seven-year-old showed me a "doorknob monster". You look at a door edge-on, the doorknobs on either side are the eyes (on stalks!), and the latch thingy is the tongue. You can make the tongue move in and out by turning the knob:
It reminded me of Jimwich's faces, a series of office objects that look like faces. My favorite is the operatic stapler, which I didn't even "get" until my son pointed it out to me.
Jeff Atwood figures out that Joel Spolsky lets fictional autistic characters name his servers.
I had no idea this was how the UI business worked: The iTunes 5 Announcement From the Perspective of an Anthropomorphized Brushed Metal User Interface Theme. Hilarious.
Let's say your wife has just published a book. Let us further suppose that you are a statistics-obsessed geek (not that there's anything wrong with that!) You're probably going to want a Python script that uses the Amazon web services to check the book's sale ranking. I just happen to have one:
Faces is a project management tool. It makes an interesting compromise in the tradeoff between GUI and text entry: your project data is entered as stylized Python code, and a GUI lets you examine the project and its estimation results graphically. This lets the developer focus on calculation, the part you really need the computer for.
I took a similar approach when I built Nat's World, using Python to craft a mini-language to describe the environment.
Yay! A new version of py2exe is out, and now it can make single file executables. Earlier versions would create Windows executables, but they needed a flotilla of a dozen or so other files around them. 0.6.1 can bundle everything into one exe, simplifying distribution. Yay!
Programming with threads has always been a tricky proposition. Reasoning about multiple threads of execution, and properly implementing locking strategies is difficult to do properly and requires great care and attention to detail. Unfortunately, it may not even be possible, as Hans-J. Boehm shows in his paper, Threads Cannot Be Implemented as a Library. He demonstrates that in the presence of optimizing compilers, you can't know the sequence of operations really being executed in your code, and therefore, you can't correctly call thread primitives in libraries. Only threads implemented as part of the language can be correct in all cases.
This stuff is fascinating, but it hurts my brain!
Ryan "Grey Dragon" Warzecha reports that Cyan Worlds has laid off all but two employees. Cyan Worlds is the company that made the original Myst game, and all of its sequels. Another Cyan worker posted a letter from Chris Brandkamp, a Cyan VP, detailing how there's No room for creativity in the gaming industry.
I think it's a crying shame that games like Myst aren't as successful as the shoot-em-up games are. I've never been interested in twitchy shooting games, and I found Myst incredibly involving. As Brandkamp says, the Myst-style games, with their puzzles and animations are too labor-intensive to compete with first-person shooters which are essentially giant physics engines.
The closing of Cyan is a big deal in this household. How did we commemorate the closing of a very cool company? How else? We made a cake:
Along the same lines as the Hipster PDA, PocketMod is a paper-based organizer. You use a Flash application to arrange page modules onto an 8-page layout, then print the whole thing as a single sheet of paper. Then, with a nifty cut-and-fold technique, you end up with a mini organizer that fits in your pocket.
D*I*Y Planner is a similar idea, more open-ended, but without the nifty Flash and origami flavor.
Omer Trajman and I seem to travel on similar tracks. First I met him at BloggerCon II, then again at a Boston Python Meetup, and then just last week I bumped into him at Herrell's Ice Cream in Harvard Square (the one with the bank vault).
He's a clever guy, and although he is much younger than me, he has a much more interesting resume so far. He also has a blog, but it's a little sparse so far. Maybe with some encouragement, we can get him to launch himself more fully into the blogosphere.
I've never known the first thing about the geography of New Orleans, but in the last week I've looked at it on Google Maps quite a bit. Each time, I was aware of this odd sensation: I was looking at the satellite pictures to understand this recent disaster, but the pictures themselves were showing me a happy healthy New Orleans. I've thought, "I wish I could see the way it looks now."
Today I went there to find out where Bourbon Street is, and I noticed that in addition to their original three choices of Map, Satellite, and Hybrid, they've added a fourth: Katrina. It shows satellite imagery of New Orleans taken on Wednesday, August 31st!
The pictures are darker than usual, so it's hard to tell what I'm looking at, and hard to tell what is flooded, and what is not. But it's awesome that it could be done.
Last year, I asked for help getting reasonable movies from Adobe Premiere Pro. I still need help. I don't care what format the output is, but I need them to be reasonable size, reasonable quality, and reasonably viewable by the general public (in terms of platform support). I have Adobe Premiere Pro 7.0 on Windows, and I have iMovie on an iBook running OS X 10.3. Any tips will be greatly appreciated. I've poked all around the settings, and none of it makes sense to me. Please put a comment here, or drop me a line if you know anything about this stuff. Thanks. In return, I'll help you however I can.
I saw the word database today with a hyphen in it ("data-base"), and it got me thinking: who coined the term "database", and where the heck did that suffix -base come from? These days we see it all over. It's used to imply database-like behavior, because it was lifted from database. For example: knowledgebase, infobase, videobase, metabase, sportbase, imagebase, and so on.
But whoever coined "database", why did they choose -base as a root? What did it mean then?
Update: a helpful reader (thanks, Ken!) sent along the Oxford English Dictionary entry for database:
The story from New Orleans is mind-boggling. It is shocking to see a city crumble. Every day is bringing more horror stories about confusion, desperation, looting, and death. It's hard to picture the situation from anywhere else. Remarkably, Interdictor is blogging it. He works for directNIC, and he's camped out at their data center on the 10th floor of a tower between the Superdome and the Convention Center, keeping it running on diesel generators. He's posting photos, news, rumors, impressions, questions, everything. It's fascinating, heartbreaking, and spellbinding.
One of the standard Python tools I haven't made enough use of is the built-in debugger, pdb. Jeremy Jones gives us a tutorial on it: Interactive Debugging in Python. I hope his assessment of the place of the debugger in a programmer's toolbox is inaccurate, though:
One of the temptations we developers face these days are all those sleek exotic languages that we'll never have time to master, even if we do manage to dip our toes in occasionally. Each has its proponents and its strengths, but we just don't have enough time to use them all. So isn't it great when another language's strengths can be brought into one we already know?