Monday, May 31, 2004

Blog Software Comparison

This Blog Software breakdown compares a large number of user-installed blog software packages. I'm going to stick with Blogger for now but this is a handy breakdown of what's out there now. For the record, the author of the comparision ended up going with WordPress.

The Gold Watch

Here's Christopher Walken's monologue about the Gold Watch from Pulp Fiction. Another classic Tarantino speech, The film came out ten years ago so if you're memory is hazy, this scene is told in flashback. Butch is Bruce Willis' character, the boxer. As I recall it's intended to explain why Butch has to go back to his apartment and get his watch.

Jolly Whaler

When I was a youngster my family would spend one or two weeks on Cape Cod in the summer. There were eight of us (two parents, four kids and two grandmothers) so we stayed at an inexpensive place in Brewster called the Jolly Whaler; a collection of rustic cabins near the beach. Since then, the Cape has been transforming from a summer vacation destination to communities with year-round residents. The Jolly Whaler has been closed for a few years and, according to this article in the Boston Globe, is considered an eyesore by local residents.

It was pretty tacky but we have a lot of pleasant memories about the times were stayed there. The Jolly Whaler's sign is baby-boom era kitsch. In addition to the sign, there used to be an old boat that they used as an office.

Jim Maddocks, in front of the dilapidated Jolly Whaler Motel in Brewster, said transforming the motel site is long overdue. (Globe Photo / Julia Cumes)

Back From Boca

Sorry for the lack of posts during the past week. I was in Boca Raton at an IBM event for most of the week. I had good connectivity but was either too busy or having too much fun to blog. I've got a backlog of stuff to post.

Monday, May 24, 2004

Shrek 2 - The First 5 Minutes

We haven't had a chance to see Shrek 2 yet. Maybe next weekend. In the meantime, the first five minutes look promising.

Messing With Your Sense Of Past

Kodachrome film was introduced in 1936 but we usually only see black and white photography from that era. It's as if the Great Depression happened in a black and white world. These terrific color photos from that era brings the past a little closer. (Via Adam Greenfield)

The past in black and white reminds me of a Calvin and Hobbes strip with Calvin and his Dad:
Calvin: Dad, how come old photographs are always black and white? Didn't they have color film back then?
Dad: Sure they did. In fact, those old photographs ARE in color. It's just the WORLD was black and white then.

C: Really?
D: Yep. The world didn't turn color until sometime in the 1930s, and it was pretty grainy color for a while, too.

C: That's really weird.
D: Well, truth is stranger than fiction.

C: But then why are old PAINTINGS in color?! If the world was black and white, wouldn't artists have painted it that way?
D: Not necessarily. A lot of great artists were insane.

C: But... but how could they have painted in color anyway? Wouldn't their paints have been shades of gray back then?
D: Of course, but they turned colors like everything else in the '30s.

C: So why didn't old black and white photos turn color too?
D: Because they were color pictures of black and white, remember?
I really miss the Calvin and Hobbes strip...

Ten years of www.ibm.com

Ten years ago today www.ibm.com was launched. Ed Costello remembers. It's funny, we're only talking about ten years here. Companies large and small were scrambling to have a web presence. What confluence of new technologies being developed today will have the same sort of scope and importance ten years from now?

By the way, the Internet Archive doesn't go as far back as 1994 but here's what www.ibm.com looked like in 1996.

Sunday, May 23, 2004

Mockingbird

My son and I were listening to a mockingbird in the backyard this afternoon. Mockingbirds can have an amazing repertoire. I was reminded of one that I heard when I lived in Boston. He did a very clear imitation of a car alarm going off (Whee-oop Whee-oop Whee-oop Whee-oop. Dooooouuuuiiip. Dooooouuuuiiip. Rannt Rannt Rannt Rannt Rannt...). Funny and amazing. Apparently other people have heard the same sort of thing.

One Man Lord of the Rings

This story (RealAudio format) on Public Radio Weekend discusses the 13th annual Orlando Fringe Festival. One of the performers this year is Charles Ross. He does a One Man Lord of the Rings. He does all of the characters of the trilogy, performs the music, etc. in one hour. Prior to this work, he did a One Man Star Wars Trilogy. Sounds great. I'd love to see either of these performed.

Attacked By Thugs

No, I wasn't attacked, Maciej Ceglowski was. His story is both funny and bizarre. Side note: I had no idea that Elmer was a Polish name. (Via diveintomark)

Eclipse 3.0 M9

Eclipse 3.0 M9 is available for download. This is the final milestone release for Eclipse 3.0. Some cool new stuff: folding in text editing so you can "elide" classes, methods, comments, etc. regular expression search and replace, ability to switch workspaces at runtime, ability to switch back to the Eclipse 2.1 UI look, improved CVS support, etc. Check it out.

Saturday, May 22, 2004

Swirl

This is a cheap trick but I watched it for while before I was able to look away. Cool. (Via jkottke)

Friday, May 21, 2004

WWWC 2004

WWWC 2004 was held in New York City this week. From this CNET article it sounds like there were some interesting discussions this year. The notion that we'll be able to have a "complete" personal memory store for our digital lives is interesting. But having sufficient cheap storage isn't the main issue. How do you find something again? And who owns it? If you record all of your conversations and snap endless pictures and videos of your surroundings then how would you keep your personal and professional digital lives separate?

Sandman

What's the scientific name fror the stuff that forms in the corners of your eyes while sleeping? MetaFilter has the answer. It's "mucopurulent mattering in the punctum".

Eric Idle's FCC Song

Eric Idle has written a song dedicated to the FCC. According to the Python website
... and if they broadcast it, it will cost a quarter of a million dollars.
That means it's not safe for work unless you have an office door that you can close or use headphones. Download here.

New England Ruins

Rob Dobi photographs abandoned buildings throughout New England. There's beauty in these ruins

Photoblogs from Iraq

Yafro is a moblog site. The founders of Yafro have collected a list of Yafro moblogs containing pictures taken by soldiers on the Frontline in Iraq. It's an unfiltered look at what a soldier's life is like there.

Thursday, May 20, 2004

Did They Read It?

There was a story on Talk of the Nation about DidTheyReadIt.com. It's an email read-receipt service that uses web bugs to track when a recipient opens an email message. A web bug is an invisible image on a page that when loaded will send a unique URL request to a web server. For example:

http://didtheyreadit.com/index.php/worker?code=74dead4beef1cafe

DidTheyReadIt.com offers a free service with up to 5 messages per month and a paid service for a larger volume of messages. Messages flow through their SMTP servers to get "bugged" so you have to trust them to keep your content private.

Being able to tell whether someone has read your email is very useful. But clearly there are privacy concerns with this type of surreptitious tracking. Some spammers use web bugs for more nefarious purposes: to figure out which email addresses are "the good ones". A web bug in a spam message can be used to find out when a spam message reaches a live email address. Obviously if you know that there's someone on the other end of an email address you know you it may be worthwhile to send them more spam. And the fact that they opened the message indicates that they are interested in what you're selling or that they don't filter out spam or that your spam got past their spam filtering software. Further, there's information leakage in web bugs: when a web bug pings the server it reports your IP address, the time of day, the type and version of your browser and possibly which operating system you use.

Gasoline

Gasoline pricesI had to fill up my gas tank this morning. Prices have been rising steadily for the past few months but this is the first time I can recall paying over $2 per gallon. Gasoline has been above $2 per gallon in other parts of the country for a while -- and more expensive in most of the rest of the world as well. Adjusting for inflation it's not really a big deal but passing a price threshold has a psychological effect when you see it at the pump.

Speaking of gasoline pricing: including "9/10" cents in the price per gallon is odd. It's a little like pricing something as $1.99 rather than $2.00 but given the current price of gasoline, 1/10 cent per gallon is only 0.05% of the total price. I did a Google search but haven't found a credible explanation for this pricing tradition. I found this article but it doesn't provide a definitive answer.

Wednesday, May 19, 2004

Faraday Waves

When a layer of fluid is oscillated vertically, a pattern of waves may emerge on the surface. These waves are known as Faraday waves. This video demonstrates the bizarre properties of Faraday waves in a mixture of water and cornstarch. Watch all the way until the end. The "finger-like protrusions" that appear are downright creepy. (Via Metafilter)

Monday, May 17, 2004

A Floppy named lsadkfjalhkjh

Another good story on Folklore.org. This one is by Bruce Horn who wrote the first Macintosh Finder. In Finder 1.0, the startup disk would appear on the desktop, in the top-right corner, ready to be opened. The Finder would initially select it; once selected, typing would replace the current name. In computer stores the floppy disks often ended up with random character names. It turned out that people who were used to command-line UI such as the IBM PC would first try typing on the keyboard and end up renaming the floppy disk.

Ratapult

We've had some animal control issues in my neighborhood. The main problem has been a family of foxes. One of them was in our garage a few weeks ago. A neighbor saw one chasing a cat through their back yard. In our last house we had problems with unwanted animal guests inside the house: mice and bats. The other day we were discussing how to get rid of such pests. I was reminded of the ratapult. The idea was a trap that would fling its victim into the air, striking a wall and then dropping into a bucket. I can't find the original reference but I did find an article from Time Magazine that mentions the ratapult. It's a funny idea but I doubt that anyone, even in a factory setting, would accept rats flying through the air.

Sunday, May 16, 2004

We Are In Kansas, Toto

This video footage was captured on May 12th in Attica, Kansas. It's a 27 MB download. This is amazing stuff. If I had to see a tornado in person, the only view I'd want to see is the tornado quickly receding in the distance in my rear view mirror. The storm chaser folks are crazy. (Via Metafilter)

Invisible Workers

In this article from today's Boston Globe, the author describes how she lost her job as a Web developer and ended as a "day porter", restocking and cleaning office kitchens. She talks about how the employees treat her, virtually ignoring her presence. She was once among their ranks and now is invisible. Sad.

Are all software developers just one economic downturn away from "day porter" jobs? Perhaps but I don't think so. Software development is a profession. It can't be fully automated and only to a limited extent can projects be moved offshore. Becoming a software developer takes years of proper experience before you're any good.

In the late 90s, self-taught Web developers who knew a little HTML and JavaScript crowded into hundreds of Internet startups. The bubble burst and those jobs disappeared. A lot of more-seasoned folks got caught up in this as well. I was at a startup when the bottom fell out. But the profession hasn't disappeared. There are fewer jobs than during the boom and less venture investment but the need for experienced software developers is still there.

Bad Links In RSS Feed

Blogger added support for post pages which changed the way that permalinks worked (at least in my case) so a few of my RSS entries had broken links. I fixed them so you should see proper links now.

The Neverhood

The Neverhood was a terrific, quirky game released by Dreamworks in 1996. If you've played the game, this downloadable press kit might be worth watching. It's a bit dated but there are some interesting details of how the game was made. If you've never played the game, you can download a demo here (Unfortunately, the demo, like the game is Windows only). (Via Waxy.org)

Saturday, May 15, 2004

The Incredibles

There's a new trailer for Pixar's next film, The Incredibles, available on apple.com. Looks good. Good voice cast including Samuel L. Jackson.

Thursday, May 13, 2004

Life of Brian

Monty Python's Life of Brian was originally released in 1979. It was just re-released 25 years later. I saw it this evening at the Kendall Square Cinema. I saw the film when it was first released and a couple of times since then but it's always fun to see films like this in a theater with lots of other people. It's classic Python humor, full of lots of funny dialog and silliness.

The Problem with TrackBacks

TrackBacks are a way for blogs to notify one another. When person A posts a blog entry referencing a blog entry of person B, person A sends a TrackBack ping to person B. Usually TrackBacks appear, sometimes along with comments, in the referenced blog. TrackBacks first appeared in Moveable Type, a popular blogging system.

Movable Type 3.0 Developer Edition was just launched. The licensing terms for this release are less generous than previous versions of MT. A lot of MT users are complaining about this on their own blogs. Ironically, as PJ Tolland points out, many of their complaints about the new licensing terms end up appearing as TrackBacks on the same page that describes the new licensing terms. Ouch. Imagine if all product announcements and advertising included this sort of counterpoint view.

Advanced Graphics Algorithms

In this article, six widely used algorithms in graphics rendering of realistic environments are discussed, namely: quad-based static terrain, Roettger's approach to continuous levels-of-detail in terrain, real-time optimally adapting meshes, portals, Binary Space Partitioning trees and Potential Visibility Sets. In each case the algorithm is discussed and some aspects of implementation are considered, as well as analyze each algorithm for its application in modern graphics systems. Good stuff. Makes me wish I was still doing computer graphics work. (Via Slashdot)

Note: Symbolcraft has a nice explanation of Binary Space Partitioning Trees with an interactive demo to see how they work here

Cold Turkey

Kurt Vonnegut has published a long rant called Cold Turkey. Depending on your politics you may dislike or disagree with a lot of what he says but he does have some interesting comments on life.

Wednesday, May 12, 2004

Dad's Work

When I was a young child my Dad worked as a technician. When he came home from work we'd ask if he brought us anything. Sometimes he'd have an old piece of electronics or wire bundles or the like. I loved the stuff. I also loved all of the gadgets he had at work although I didn't really understand what they did. My Dad loved talking about his work. He still does, even now, after being retired for several years.

As a software developer, I have few tangible items to show to my sons. Except for the labs filled with racks of computers, which I rarely touch myself, there's not much to see at work. My work office and my home office are interchangeable. Software development is mostly an intellectual exercise so there's not much to look at. So what do I "bring home from work" for my sons? Except for the occasional tchotke picked up at a trade show or conference, not much. What I have to share is a love for computers and software. That's one reason I collect silly games and flash animations on my blog. My older son often asks whether there's anything new to see. He hasn't quite grasped what software development is about yet but he's been exposed to computers since he was able to push the mouse around. Software development may be mysterious but using computers as tools and toys is no big deal to him.

Seven Low-Cost Ways to Improve Java Code

Robert Simmons, Jr., author of Hardcore Java, presents seven low-cost techniques to improve "legacy" Java code. There are a few good ideas here. (Pet peeve: I hate the word "legacy" when it's applied to code. It has taken on the connotation of "old and creaky". Most of these ideas are good for new code as well as existing Java code).

Using a stronger Java compiler is a good idea. I prefer Jikes over the standard javac compiler, mainly because it's a lot faster. But also because Jikes can be pickier than javac. Using a decent code-checking tool such as PMD or JTest can catch even more issues than Jikes. And you can hand tailor your rule sets to include stylistic checks (e.g. members variable naming conventions) or performance-related checks (don't build trace logging data without checking first that trace logging is enabled).

I'm intrigued by Robert's idea of using final for method parameters and members in immutable classes as a way to catch errors. I haven't tried this technique yet. It's similar to using const in C++ code but doesn't have quite the same meaning. In C++, const has other implications that make its usage somewhat viral especially if you try to introduce const into existing code. There's nothing worse than seeing C++ code casting away "const-ness" all over the place.

Robert's advice to use a code formatter to reformat code is something I'd approach with caution. For any reasonably large project with ongoing development in multiple versions, reformatting code can make code merges into a source control system a nightmre. Your co-workers will not thank you for making life difficult.

Using Enums or Constant Objects rather than int constants is a good idea. We use Enums heavily on my project. The biggest caveat, which Robert doesn't mention in his article (but is in his book), is Serialization. Doing this properly requires implementing the readResolve method. More details can be found here. This is an effective technique (with some caveats) but it's a bit sad that we've needed to wait until JDK 1.5 for proper enum support in Java. (Via The Farm)

Weird Items You Can Purchase Through Amazon

Wow. Some of these items are bizarre. The strangest product is something called Solid Gold S.E.P. It's supposed to deter dogs from eating their own feces. I know that some dogs can be somewhat indiscriminate about what they eat but is there really a market for this?

Google Blog

Google has started publishing a corporate blog. Not much content yet. There's an Atom feed here.

PearPC

PearPC is an "architecture independent PowerPC platform emulator". It's still an early stage project but they claim to have run PPC versions of Linux, Darwin as well as Mac OS X 10.3. Here are some screenshots

Sony PSP and Nintendo DS

The 2004 Electronics Entertainment Exposition is underway in Los Angeles this week (better known as E3 to gadget geeks). The Sony PlayStation Portable (PSP) and Nintendo DS were both announced. The PSP won't be available in the US until next March, the DS will be available later this year. Both devices have impressive specs and will offer wireless connectivity, multimedia support and lots of accessories. The PSP will have a higher-resolution screen and more graphics power but Nintendo has a large established market in handheld gaming. The DS will play existing games, be less expensive and released earlier. (Via Engadget)

Tuesday, May 11, 2004

Want a cookie?

This is a clever hack. Visit a web site such as Amazon or eBay from MSIE or Mozilla and paste this text javascript:document.cookie into the address bar. You'll see the set of cookies for the current document context. Nothing earth shattering but I thought it was pretty neat.

The QWERTY Myth

The Dvorak keyboard layout is superior to the QWERTY layout, right? Nope. It's a myth according to this article in The Economist. Studies done by the GSA back in the 1950s found that QWERTY typists were about as fast as Dvorak typists, or faster. So why does the myth persist? Because it makes a nice case of market failure of a superior design over an entrenched inferior one. As often happens, the truth is more complicated.

Programming as if Performance Mattered

Raw computing power has increased faster than our understanding of what operations are "obviously" slow. James Hague has a good essay on performance entitled Programming as if Performance Mattered. He describes how he optimized a program that decodes Targa graphics files. The program is written in Erlang, an "obviously slow" programming language. The results on a 3GHz P4 PC are quite impressive. His conclusion:
The golden rule of programming has always been that clarity and correctness matter much more than the utmost speed. Very few people will argue with that. And yet do we really believe it? If we did, then 99% of all programs would be written in something like Python. Or Erlang. Even traditional disclaimers such as "except for video games, which need to stay close to the machine level" usually don't hold water any more. After all, who ever thought you could use an interpreted, functional language to decode Targa images, especially without any performance concerns?

That tempting, enticing, puzzle-solving activity called "optimization," it hasn't gone away either. The optimization process I used to speed up the decoder is similar to that of Commodore 64 coders speeding up arcade games. Only now the process is on a different level. It isn't machine level twiddling and cycle counting, but it isn't simply mathematical analysis of algorithms either. The big difference is that the code changes I made are substantially safer than running a program and having it silently hang the system. All array accesses are bounds-checked. There's no way to accidentally overwrite a data structure. There's no way to create a memory leak. Really, this is what those cycle-counting programmers from 1985 dreamed of.
Note: the title of James' essay was inspired by the title of a book by Nathaniel S. Borenstein, Programming as if People Mattered: Friendly Programs, Software Engineering, and Other Noble Delusions.

Monday, May 10, 2004

Why is a manila folder called manila?

Here's a random word etymology that rolled around in my brain on my drive to work. Why is a manila folder called manila? Is it related to Manila the capital of the Phillipines? The answer is yes. Manila folders owe their name to manila hemp or abaca, a type of fiber that comes from a relative of the banana plant. Manila hemp is indigenous to the Philippines and gets its name from the country's capital.

German Instructional Forklift Training Video

Watch Klaus learn how to drive a forklift in this German Instructional Forklift Training Video. It starts out like a typical industrial training video but wait -- after the first 2-1/2 minutes things start to go wrong, horribly wrong. The rest of the video is not for the squeamish. Discussion of the video can be found here.

Smile More

Smile is a bit of cheery animation for Monday morning. A bit heavy-handed but nice use of Flash. It reminds me of some of the Eastern European animated shorts from the 1980s.

More is a terrific animated short. It tells the story of a lonely inventor, whose invention called "Bliss" changes the way people see the world but changes him as well. (Via Metafilter)

Sunday, May 09, 2004

The New Blogger

Blogger has a new look, new templates and a bunch of new features including comment support. I like the new look and the UI feel s more productive than the old one. Here's some interesting background info on the overhaul of Blogger.com.