« | » Main « | »

Mountain Dew "Spy vs. Spy"

Wednesday 30 June 2004

I saw a new TV commercial for Mountain Dew a few weeks ago, and was flabbergasted: it was the old Mad magazine "Spy vs. Spy" cartoon, translated into 3D. Bob Congdon found online copies of the ads. I think they've done a stellar job of capturing the feel of the cartoon, both in terms of the elemental plotting and violence, and the stripped-down black and white look of the strip. One of the ads ends "to be continued". I hope there will be more...

Full text RSS feed

Tuesday 29 June 2004

A friend chided me for not putting the full text of my blog entries in my RSS feed. He made a number of good arguments, including showing me how my site looked on his phone (crappy). So now I am providing two RSS feeds. The classic feed, with the first paragraph of each entry, and a full text RSS feed with the entire text (and images if any) of the entire post. Enjoy.

The clever XSLT styling trick doesn't work right for the full feed in Firefox, though it does in IE. Oh well. And the feeds don't strictly validate, but I don't care. Maybe someday.

By the way: does anyone know of an emulator for the phone browsers? Another "some day" task: I might also try to make the site look better on those dinky screens.

Web walk: RC4 encryption

Tuesday 29 June 2004

I found an implementation of a random number generator today, and the comments said it was using the RC4 algorithm, not to encrypt, but just as a source of randomness. I was intrigued.

RC4 is a symmetric encryption algorithm developed by RSA Security. A key is used to initialize a random number generator. The output of the generator is XOR-ed with the cleartext to produce the cipher. The strength of the cipher is dependent on the "strength" of the randomness, that is, how hard it is to predict what the next random byte will be. (The name is because it was the fourth Rivest Cipher).

The algorithm was proprietary until it was leaked in 1994. Since then, it has been subjected to a great deal of analysis, some of it quite abstruse.

The analysis shows certain subtle weaknesses in RC4. Others have tried to create new similar algorithms without the same weaknesses. For example, Bob Jenkins created ISAAC. Until the mathematicians have spent a decade poring over ISAAC output, there's really no way to know if it has other unidentified weaknesses.

By the way: Bob Jenkin's web site is full of all sorts of other interesting stuff, including hashing, perpetual motion machines, and jenny, the combinatorial testing tool I mentioned last month.


Tuesday 29 June 2004

I only heard about this briefly, but it's more cool news from NASA: the Cassini mission is nearing Saturn, and getting lots of good photos of the many moons there. They'll be getting much more in the next weeks, I'll have to remember to go back to the Cassini photos to take a look. Here's Phoebe:

Striking close-up of Phoebe

Word of the day: verruca

Tuesday 29 June 2004

Today's word of the day is verruca:

n : (pathology) a firm abnormal elevated blemish on the skin; caused by a virus [syn: wart]

I've long been a fan of the book Charlie and the Chocolate Factory, and this brings whole new nuances of meaning to the character Veruca Salt.

Charlie and the Chocolate Factory cover

I've written before about the 1971 film version. The new movie is in production, with Johnny Depp as Wonka and Tim Burton directing. It should be a heck of a ride.

General interface

Sunday 27 June 2004

Joel mentioned General Interface in his links about web interfaces, so I gave it a look. I agree with Joel that it is disappointing that they rely on Internet Explorer, but it is even more disappointing that the sample interfaces seem wacky and uninspiring. To me, they felt like stupid web tricks, rather than a useful interface. Maybe they've got some great technology under there, I don't know. I didn't find the samples compelling.

Life of Pi

Saturday 26 June 2004

I started reading "Life of Pi" back in May, and finished it a few weeks ago. I found it very interesting, on a number of levels. On its face, it is the story of a sixteen-year-old boy marooned in a life boat with a Bengal tiger. But there are other levels, though they are not apparent until the end of the book. It was a simple, if outlandish, adventure story, until it became a thought-provoking exploration of the nature of man and religion.

Here's chapter 22 from the book:

I can well imagine an atheist's last words: "White, white! L-L-Love! My God!"—and the deathbed leap of faith. Whereas the agnostic, if he stays true to his reasonable self, if he stays beholden to dry, yeastless factuality, might try to explain the warm light bathing him by saying, "Possibly a f-f-failing oxygenation of the b-b-brain," and, to the very end, lack imagination and miss the better story.

Life of Pi

Bob Bemer

Friday 25 June 2004

Bob Bemer died this week. I thought I had written about him before, but I haven't. As his home page explains, among his acheivements were the addition of the backslash to ASCII, and the creation of the escape character. These artifacts are so paleolithic, it's hard to remember that someone had to create them. He also explains where curly braces came from. Next time you type curly braces in your favorite programming language, or use the escape key to dismiss an annoying dialog, thank Bob.

David Huffman

Thursday 24 June 2004

I was sent this link by a number of people (you all think you have me pegged, don't you?): Cones, Curves, Shells, Towers: He Made Paper Jump to Life, about David Huffman, who studied the nature of paper with curved folds. I wanted to find some instructions for making his paper designs. I couldn't find any, but found a profile of Huffman at Paul Haeberli's ur-blog Grafica Obscura. And I didn't realize he was the guy behind Huffman codes until I read this Scientific American profile reprinted on Huffman's nephew Ken's site.

Sweat equity is the best equity

Thursday 24 June 2004

Mark Cuban writes up his #1 rule for success: Sweat equity is the best equity!.

These investors, including myself, know what you don't, and they are not telling you. The minute you ask for money, you are playing in their game, they aren't playing in yours. You are at a huge disadvantage, and it's only going to get worse if you take their money. The minute you take money, the leverage completely flips to the investor. They control the destiny of your dreams, not you.

By the way: Mark Cuban is the Mark Cuban, founder of Broadcast.com, and owner of the Dallas Mavericks. His blog has an awful lot of NBA stuff on it, but also entrepreneur viewpoints.

The digital object identifier system

Thursday 24 June 2004

I stumbled upon the Digital Object Identifier system, and I feel like I've fallen down a rabbit hole into some sort of parallel universe. It's an elaborate scheme for "identifying and exchanging intellectual property in the digital environment". There are RFCs, an extensive handbook, and an active organization.

The idea seems to be a URN implementation. For example, the handbook is doi:10.1000/186, though browsers don't recognize the doi: URI scheme, so there's a web implementation: http://dx.doi.org/10.1000/186. It reminds me of tinyurl.com, though to solve a different problem.

Is this going to be a real thing to know about, or is it one of those Library Science specialties that doesn't much get out into the real world?

Boil the ocean

Wednesday 23 June 2004

Bob Congdon found the (an?) origin of the phrase "boil the ocean":

When asked by a reporter what to do about U-boat sinkings during World War I, Will Rogers is said to have responded: "Boil the ocean". "But how would you do that?" the reporter continued. Without a beat Rogers replied, "I'm just the idea man here. Get someone else to work out the details."

Switching to a new laptop

Wednesday 23 June 2004

I'm switching over to a new laptop (actually, the same old laptop, but with a new disk with new software installed to try to run away from the badness the old software had: a long story). It's a huge pain to re-install everything I had surrounded myself with. While a fresh start is appealing, I fear leaving something behind, or overlooking some crucial data or setting that will be difficult to recreate.

And of course, the new software will be the latest versions of everything, so there's the risk that something will break because of those upgrades. For example, the software that creates this web site is broken, I think because of an upgrade to Pyana 0.9.0. I'm creating this entry on the old laptop, running the risk of getting the two machines out-of-synch after copying my personal data.

Update: the problem was a difference in how Pyana deals with newlines after XML declarations in files, and my Python code assumed the declarations would be on their own line. The problem is fixed, and this site is now live from the new laptop!

Old stamps

Tuesday 22 June 2004

I received a package the other day, a book from a used book store. They chose an unusual way to pay the postage — with decades-old stamps:

Old stamps on a package

Damien is looking for contracting work

Sunday 20 June 2004

Damien Katz is a good friend, and a hell of an engineer. He's looking for short-term contracting work. If you have a project that could use a kick-ass C++ developer, you're not going to find better. I've worked with him at Kubi Software, and at Iris, and would eagerly work with him again. He tackles the thorniest tasks with gusto. As an example, he completely rewrote the Notes formula engine for Notes R6, improving both its functionality and its performance while he was at it. Take a look at his resume, and give him a call.

Fragment highlighting

Sunday 20 June 2004

Another JavaScript goodie for this site: Now if you follow a URL with a fragment (that is, a hash-mark indicating a particular entry on the page), the entry is highlighted when you get there. This makes it easier to find particular blog entries, since I don't typically have a page per entry. For example, the yearly archive pages are full of fragment links. David Dorward's Fragment Highlight script was a good crib sheet, and is more sophisticated than mine. If you want to do something like this, his script is a good place to start.


Thursday 17 June 2004

I heard this on NPR a few weeks ago, and now Paul Ford has put the text on his site: Gallivespians

Why are so many of the things I love so embarrassing? Computer programming, science fiction, blogging — every one of my passions is something to sneer at. You're supposed to not care, to just do the things you love and ignore public censure — but who doesn't know better than that?

The two things

Tuesday 15 June 2004

Glen Whitman has been compiling a list of The Two Things: pithy wisdom summing up the core of any subject in two items. Some are honest attempts at encapsulating a topic:

The Two Things about Project Management:
1. The schedule will slip.
2. It's about how you manage the schedule slippage.

The Two Things about History:
1. Everything has earlier antecedents.
2. Sources lie, but they're all we have.

Some have a grain of truth but are mostly just funny:

The Two Things about Binary Systems:
One: 0
Two: 1

The Two Things about Web programming (as it is mostly done in the real world):
1) Control-C
2) Control-V

His original blog post on the topic includes more Two Things in the comments. And the emphasis on Two reminds me of this old joke.

Slightly shaken books

Sunday 13 June 2004

I was browsing the web for used books today (Alibris is wonderful), and saw the condition of one book described as "slightly shaken". I'd never heard the term before, but found it in Carl Noe's Book Collector's Glossary:

A condition characterized by very loose binding.

I couldn't find any definition for another word: "shelfcock".

Syntax colored code

Saturday 12 June 2004

In Fredrik Lundh's breezy list of happenings at EuroPython I saw a reference to SilverCity. It's a Python module for lexing source code, making use of Scintilla. This is an odd inversion: I would have expected a syntax-coloring editor to make use of a lexer module, not the other way around, but so be it.

I hooked up SilverCity into my blog system, tagged my samples by language, and it works great. Now my code samples are all syntax colored automatically. And with the samples tagged, I can also compile a useless census of code samples by language:


with one each for ActionScript, DOS batch file, M3U, Perl, .htaccess, PHP, and XML.

Aside from all the code samples that were really just text files or console displays, the trickiest entry was the polyglot C and PostScript code, where syntax coloring for a single language would ruin the fun.

Ping-o-matic and xml-rpc

Saturday 12 June 2004

This blog runs on home-grown software, so it usually lags in technology behind the usual blog software. I've been pinging weblogs.com and blo.gs for a long time, and figured I could skip the other services because I didn't want to track down how to do each one.

Today I discovered Ping-o-Matic, which is a meta-pinging service: you ping it, and it pings everyone else. Handy. But it has an XML-RPC interface, and that's one of the things I had never spent the time to learn how to do. Well, it couldn't be easier. The Python xmlrpclib module makes the whole thing totally transparent:

import xmlrpclib

remoteServer = xmlrpclib.Server("http://rpc.pingomatic.com/RPC2")
ret = remoteServer.weblogUpdates.ping(
    "Ned Batchelder's blog",
print ret['message']

So now I replaced two HTTP get pings with one XML-RPC ping, and I'm reaching more services. Sweet!


Friday 11 June 2004

Just saw this on Insomniac with Dave Attell: ScooterMan is an outfit in London that drives home people too drunk to do it themselves. Unlike a taxi, though, they get your car home too. They arrive on a miniature folding scooter, which they collapse, bag, and put in the trunk of your car. Then they drive you home in the car. Then they leave on the scooter. Nice.

Old post: Smoke test

Thursday 10 June 2004

One of the mysteries of blogging is trying to figure out why some posts get noticed, and others do not. Last April, I wrote about why smoke tests are called smoke tests. It didn't seem to provoke any response, though I thought it would. So I'm bringing it to the top again, to see if it provokes any now: Smoke Test.

Learning about lean

Wednesday 9 June 2004

Joe Ely's Learning About Lean blog is interesting because for me, its content is an unusual mix of relevant and irrelevant. Joe is the directory of quality for a building company, and his blog is about Lean Manufacturing, which seems to be a movement about ultra-efficient manufacturing processes, at least in terms of supply chain dynamics, inventory, and so on. I really don't know anything about it.

But that's part of the interest: he talks about improving processes for a domain that is completely foreign to me, but it is all relevant to my work anyway. Depending on your appetite and capacity for business-speak about improving work habits, processes, and project techniques, you may find it interesting as well.


Tuesday 8 June 2004

I received an email recently that had a text attachment with this XML stuff in it:


It didn't look familiar, so I did a few Google searches, and eventually found RFC 1896: The text/enriched MIME Content-type. It isn't XML: it's an SGML-influenced syntax for simple enrichments to plain text emails. Funny that it's been out there for so long and I'd never run across it before.

This feels like an abandoned line of development in the progress of technology, like gopher, Archie, and Veronica. They were good ideas, but something even better, and at first blush not even that different, came along and blew them away.

BTW: Zvon's great RFC Repository is still the best way I've found to read RFC's, but they seem to have sprouted an unusually diverse bunch of ad mushrooms. They seem to be sprinkled everywhere, in remarkable variety, and for some very spam-worthy products. Too bad, but necessary I suppose.


Sunday 6 June 2004

Meta-Efficient is a review site full of products and devices that are the most efficient of their kind.

On a web design note, they have an unusual styling trick for their links: when hovered over, an animated gif is set for the background image, making a line of moving arrows underline the link.

Bubble fun

Sunday 6 June 2004

Every once in a while, when the Flash gamers don't want to make yet another clone of an old game, they come up with something new and interesting like Bubble Fun. It's simple and abstract and requires thought rather than reflexes. Excellent.

My high score is 23660. As the game progresses, the board becomes so volatile that it is nearly impossible to extend the game to get a higher score.

A Bubble Fun game, in progress

Senior engineer's eyes

Saturday 5 June 2004

Tim Bray writes about his impressions of a gathering of very experienced techies:

As I looked at all these very senior engineers’ faces, I was struck by a particular look in their eyes. I don’t seem to have a good vocabulary to describe it, but "stillness" and "coolness" come to mind. It wasn’t subtle. They are the eyes, I think, of people who listen intensely.

This struck a chord in me, and made me think back on engineers I have worked with, the exceptional, the average, and the mediocre. I thought about their eyes. Interesting.

Breakfast cereal guide

Saturday 5 June 2004

A co-worker had a little statuette of Quisp on her shelf. When I first saw it, I was really excited to see him and pointed him out to others. Being younger than me, they were baffled. Quisp? What's Quisp?

This is important stuff, so if you aren't familiar with Quisp, and especially his epic battle against his rival Quake, study up. Here are two good resources:


Omniscient debugging

Friday 4 June 2004

Bil Lewis has implemented an Omniscient Debugger for Java. It tracks the entire history of the execution of a program, allowing you to move backward and forward through time watching the state change. There's even a slider at the top to change the time. It sounds very cool, though I'm skeptical that it could be used practically on real programs (that is, large ones).

XML data to graphs

Friday 4 June 2004

I'd like to take some XML data I have, and transform it into a graph diagram (not a quantitative chart, but a topological graph). SVG is an XML language for diagrams, but won't do graph layout for me. Graphviz does layout, but has an ad-hoc language. For some reason I'd rather it was XML input. Has anyone found anything useful along these lines?


Wednesday 2 June 2004

Highlight is a tool to syntax-color source code. I haven't tried it, but it seems very impressive: it supports 100 source languages, and writes output in a bunch of formats (HTML, RTF, TeX, XSL-FO, for example).


Wednesday 2 June 2004

Manhattan Timeformations is a visualization of the changes on Manhattan Island over the last 345 years, from Dutch settlement to skyscraper canyons. It's very well done, though too dark for my taste. I wish I could have layered interactive guides to large software projects. For example, start with the 1.0 code, then watch as new modules come and go, lines of code change, architectures shift, and so on.

People have tried this software visualization with some success. For example:

Benchmarking ups and downs

Tuesday 1 June 2004

Seth Godin writes about how great and how horrible benchmarking is: The Curse of Great Expectations.

Yes, benchmarking is terrific. Benchmarking is the reason that cars got so much better over the last twenty years. Benchmarking has the inexorable ability to make the mediocre better than average, and it pushes us to always outperform.

But it stresses us out. A benchmarked service business or product (or even a benchmarked relationship) is always under pressure. It’s hard to be number one, and even harder when the universe we choose to compare our options against is, in fact, the entire universe.

Being a quantitative person, I'm very susceptible to benchmarking. Technorati, for example provides all these amazing factoids about links to a blog, even helpfully providing a total count at the top of the page. Watching those numbers go up and down is very addictive, but to what end?


Tuesday 1 June 2004

An ex-colleague is going through a sex change process. It's the kind of thing that is easy to make light of. There's plenty of nasty humor that comes bubbling up when hearing the news or gossiping about the details.

Personally, I can't imagine going through something like this, for two reasons. First, I have absolutely no interest in changing myself this drastically. I hesitate to change the style of my hair. Halley Suitt just wrote about gender identity: Feeling. I'm with her: the other half is fascinating, compelling and attractive, but utterly foreign.

Second, think of the sheer volume of friction you'd encounter trying to make something like this happen. He has (or had, I'm not sure) a wife and a family. He has an entire social network, including all of his co-workers. To take on changing something so fundamental about yourself, and to change it so drastically, is a Herculean task. There's got to be a huge amount of pressure to leave things be.

I imagine how I would feel dressing as a woman, trying to "be" a woman, and I know how awkward, wrong, and out of place I would feel. It would be an oppressive burden every moment I was attempting it. People say that they go through a sex change because that is how it felt to them to be in their birth gender. They say that they are willing to go through the enormous effort, cost, risk, and social back pressure, to get to a place that feels normal to them, regardless of how it looks to the rest of us.

As I say, I'll never know how these things feel, but I'm trying to understand the pain he must have been feeling to have undertaken such a thing. In commenting on the effect this will have on his family, I've heard that people have said, "He'd be better off dead." I can't imagine either needing to do something that would provoke that response, or actually doing it. It's an enormous change. I wish him/her good luck.

« | » Main « | »