Wednesday, March 31, 2004

Five Years Ago Today

Domino R5 shipped five years ago today. It doesn't feel like it was that long ago but time has flown by. Someone in the office linked to a series of photos that Andrew took on ship day. (Sorry, they're on an internal server so I can't share the link). There were a number of faces I hadn't seen in a while; people who have moved on to other projects, to other companies. We all looked elated in the photos; finally done!

Cellphones for Lefties

Sony Ericsson has developed a cellphone with a reversed keypad layout for left-handed customers. I'm left handed but I don't think I'd bother with something like this. I've used regular keypads for so long that a reversed layout would probably be more confusing than helpful. (Via BoingBoing)

Update: Turns out that this was a hoax. An April Fool's Day joke one day early. Got me. (Via Engadget)

Analysis Paralysis

Good Wiki entry on Analysis Paralysis:
Analysis Paralysis is a term given to the situation where a team of otherwise intelligent and well-meaning analysts enter into a phase of analysis that only ends when the project is cancelled.
I've seen a few projects get "stuck" like this. A related project issue is the Ultimate Architecture (or Perfect Architecture) anti-pattern.

Technorati Tracks Two Million Blogs

Technorati has just reached a new milestone. They now track over 2 million weblogs. 12K new weblogs are added each day and they track 150K blog updates per day. Gee, with all those other blogs to pick from, I'm honored, or better yet, shocked, that anyone is reading mine. (Via Waxy.org)

The Adventures of Seinfeld & Superman

New American Express commercials with Jerry Seinfeld and Superman (voice by Patrick Warburton). Very funny, especially the first one. (Via Jogin.com)

Tuesday, March 30, 2004

Two New Prototype-Based Programming Languages

A couple of recent articles on Slashdot highlight two new prototype-based programming languages that are under development:

Prothon is inspired by Python and Self. The language syntax is similar to Python. The underlying implementation is in C. This is a very early stage project. The 0.1 release is planned for October 2004.

Slate was inspired by Smalltalk and Self. The language syntax is similar to Smalltalk. The underlying implementation is in Common Lisp. This is also a very early stage project.

Protototype-based programming languages may seem exotic but you've probably already used one without realizing it. JavaScript is a first class prototype-based language and it's arguably one of the most popular programming languages around. The Apple Newton system was also programmed in a prototype-based language called NewtonScript. It featured prototypes and an interesting form of delegation. All NewtonScript objects had two inheritance slots, delegation first goes depth-first into the is-a-slot, then into the is-in slot which was used as a link of graphical objects to a container. This could be used to inherit properties and methods such as background color, position, etc. (Via SlashDot)

Are Weblogs Backwards?

Eric Meyer has some good observations about the "backwards" nature of weblogs. As he says:
Reading a weblog is like watching Memento, which I agree was a cool movie, except all weblogs are like that so it's as if every single movie released in the past seven or eight years was structured exactly like Memento
Good point. When posting a sequence of entries, I've worried that someone will read them in the opposite order from what I intended. Eric's solution is to fix his main page to be in chronological order. I'm not sure whether that will help or just make things more confusing. Any ideas? (Via Scoble)

Monday, March 29, 2004

The McGurk Effect: Hearing Lips and Seeing Voices

This is really amazing. Watch this video clip but don't read the explanation first. What is he saying? It's called the McGurk Effect. Here's some background on what's going on here. (Via Language Log)

Eternal Sunshine of the Spotless Mind

I saw Eternal Sunshine of the Spotless Mind the other night. I'm a big fan of screenwriter Charlie Kaufman so I had high expectations. I wasn't disappointed. I thought this was a terrific movie and plan to see it again. I'm not a fan of Jim Carrey but he's good here; toned down drastically from his usual shtick. Carrey's character, Joel discovers that his girlfriend has opted for a medical procedure that erases any hint of Joel from her memory. He elects to have the procedure performed on him. The exchange with the doctor before the procedure (which appears in the trailer) is pretty funny:
Joel: Is there any risk of brain damage?

Dr. Mierzwiak: Technically the procedure is brain damage. But it's on a par with a night of heavy drinking. Nothing you'll miss.
The main characters are typical Kaufman creations. If you enjoyed Being John Malkovich or Adaptation, you'll likely enjoy this film as well.

HTTP 101

Dumky has written a good article on the basics of HTTP. I find myself explaining this sort of thing all of the time. In the future, maybe I'll just point them here.

Citizen Kubrick

Stanley Kubrick, director of Dr. Strangelove, 2001: A Space Odyssey, The Shining, Full Metal Jacket and many other films died in 1999. If you're a fan of his films, you should read this article. The author, Jon Ronson, was invited to the Kubrick estate in 2001 and was allowed to look through Kubrick 's archives. Ronson's article provides some insight into Kubrick's obsessions.

Perl Programmers Rant About Java

Here are two articles on Java by Perl programmers. The first is an article by James Turner from LinuxWorld asking Why Do Java Developers Like to Make Things So Hard?. The second written by Perl programmer Michael Schwern is a rant entitled Why I Am Not A Java Programmer. Both articles make valid points. Java is an improvement over C++ but compared to scripting languages such as Perl or Python, Java is not great at quick programming tasks.

Pete Lyons has been writing about transferring scripting idioms to Java. I think Pete has come up with some interesting ideas but I doubt that it will ever make the Perl crowd happy. I've been looking at some of the scripting languages that have been directly implemented in the Java VM. This approach could give us the best of both worlds: scriptable for quick tasks but able to use the vast collection of existing Java packages. One scripting language for the JVM that's getting a lot of attention is Groovy. JSR-241 is promoting Groovy as a "New Standard Programming Language for the Java Platform".

Eggcorn

I've posted a couple of rants about misuse of words and phrases. On the Language Log blog they call this sort of misuse an eggcorn which is a a kind of word creation due to a mishearing that a glance at the written form would normally have corrected. I guess I can accept that explanation for casual misuse of a phrase. And it's true that it's harder to look up a cliche or phrase that you misheard (such as "baited breath") than it is to find the correct spelling of a word. But when you use a phrase llike this in written communication, you really ought to know how to use it correctly. If you're unsure, look it up. If you can't find a reasonable definition, don't use it.

Andy Hertzfeld's Mea Culpa

Another terrific article on Folklore.org. Andy Hertzfeld discusses some of the bad decisions that were made early on in the development of the Macintosh system software. We all make mistakes, cut corners, lock ourselves into design decisions earlier than we'd like. It's healthy to admit when we've screwed up. Got any software mistakes that you'd like to own up to?

Sunday, March 28, 2004

Top 21 PHP programming mistakes

I'm a PHP neophyte. I've only learned as much as I've needed to use for my blog. This collection of common mistakes when using PHP is a useful reference as I learn more.

Saturday, March 27, 2004

Favicons Review

It's hard to design a distinctive web site icon (aka favicon) within the limits of 16x16 pixels. Makiko Itoh has reviewed a large collection of favicons from commercial and weblog sites. Obviously simple is best and color branding is important with something so small.

Friday, March 26, 2004

More Word Geekiness

A couple more pet peeves on word and phrase usage. Both of these have come up in the past couple of days and I just need to vent:
  • There are no degrees of uniqueness: a thing is unique if there is not another like it. Phrases such as "rather unique" or "very unique" are incorrect. Unique has an absolute meaning. Don't water it down.


  • The proper phrase is "to nip it in the bud" not to "to nip it in the butt". It means to to stop something at an early stage. It comes from the idea of frost killing a flower before it blooms. The frost "nips" the bud of the flower.
Sorry for being a word geek again.

Thursday, March 25, 2004

Band Of Brothers

If you missed Band of Brothers on HBO, the mini-series is going to be shown on The History Channel starting Sunday, April 11th. Excellent series. Watch it if you can.

Panasonic SV-AV100

Digital video cameras that use flash memory rather than tape are starting to appear. The Panasonic SV-AV100 is a DVD-quality SD digital video camera. It records directly onto secure digital (SD) cards. It can record in either MPEG2 or MPEG4 format. With a 512MB SD card, you can record up to 10 minutes of DVD quality video. That may not sound like much but card capacity is increasing rapidly so being able to record an hour of video onto a card isn't far off. Also, if you're willing to sacrifice quality somewhat, the recording times for MPEG4 are substantially longer.

Wednesday, March 24, 2004

The Original Trunk Monkey

I was looking through my web site logs and noticed that I had nearly 600 search query hits for "trunk monkey". Google listed me 10th for that phrase. But the search also turned up this page which describes an earlier reference that predates the TV ads. (And as the author points out, the ads use a chimpanzee not a monkey). The domain trunkmonkey.com was registered in March 2000 to Trunkmonkey Racing. The ads are still pretty funny but credit for the phrase should properly go to these guys.

Speak n Spell simulator

A Speak n Spell simulator. The voice sounds perfect, they must have sampled the original toy. (Via Waxy.org)

Charles' Rules of Argument

Charles Miller has written a great set of rules of argument. He's done a good job of distilling what happens in a typical technical argument. One good point that Charles makes is to avoid emotional involvement.
The ideal attitude to project during any argument is one of calm disinterest.
Easier said than done sometimes since disagreements tend to escalate into emotion.

Another good point Charles makes is to "severely limit what you end up arguing about". In other words, pick your battles. Don't seek out things to disagree with.

Random Numbers

randomnumbers.info provides a service using a quantum random number generator that lets you download a sequence of random numbers. Not only is this web site useful for producing "good" random numbers, I found reloading this page over and over to be very soothing. Like a visual mantra.

The Life of Brian to be Re-released

Monty Python's film The Life of Brian will be re-released to mark its 25th anniversary. Cool. According to the article, advertising for the film will make pointed comparisons to The Passion. Seems silly to me but not nearly as silly as this headline in a related BBC article Zombie film beats Passion in US. The unstated premise in reporting box office numbers in the press is that Movie A made more money last weekend than Movie B so Movie A must be a "better" film. Nonsense.

Unit Tests and Extreme Programming

Good article on Unit Tests (aka Developer Tests). I think most developers are sold on the value of unit tests but it has to be part of the developer culture to work. Extreme Programming (XP) proponents would take that notion a step further and say that you should "code unit tests first". Here's a hypothetical example of XP pair programming in action and how the development of unit tests work with that approach. Note: I haven't been directly involved with a project using XP. The ideas interest me but my current project doesn't fit the ideal for using XP.

Personal Proxy Servers

Proxy servers have many practical uses beyond caching. Running a local proxy server can be very useful for debugging web applications since you can "see" the requests and responses directly. Here's a list of personal proxy servers written in Java. I've tried Charles and it works quite well. It has lots of features including the ability to decrypt SSL traffic.

Rocketinfo

I tried another browser-based RSS news reader called Rocketinfo. The UI is pretty slick and works well in Firefox and MSIE. But it doesn't work the way that I do. It uses a three-pane UI (list of feeds on the left, set of articles on the top-right, preview pane on bottom-right). Nice looking but not what I want. Since RSS feed entries are often summarized articles, I don't want a separate list of titles in the top-right. I prefer the way Bloglines does this. Also, I couldn't find any way to import OPML to copy my Bloglines subscriptions over to Rocketinfo. I'm going to stick with Bloglines.

Tuesday, March 23, 2004

Linux kernel swear counts

Vidar Holen is keeping a tally of swear word counts in Linux kernel code. An interesting idea although I think using swear words in comments has more to do with programmer style and temperament than with the quality or complexity of the code. Often comments like this come from frustration not malice. One of the funniest comments I've encountered (sans swear words) apologized for code size and complexity:
// This is, and always was, the mother of all routines.
// Sorry. (PUSH! PUSH! It's coming! It's... a BOY!)
If you work on a moderate to large software project, here are a couple of experiments to try for yourself. Scan your source code for the same set of words that Vidar looked for. Did you find anything interesting? Next, write a quick comment scanner that dumps comments out from source code (e.g. look for // and /* ... */ comments). Most of the comments will be mundane but occasionally you'll find a gem. It's amazing what some people put in their comments. Like a message in a bottle waiting to be found.

How To Write Unmaintainable Code

This essay on how to write unmaintainable code starts with one of my favorite quotes:
Never ascribe to malice, that which can be explained by incompetence.
Although a lot of the content here is tongue-in-cheek, I've seen examples of many of the "coding techniques" described here. At a startup, one of the programmers, who shall remain nameless, didn't believe in functions. He firmly believed that the overhead from a function call was too high. So he wrote thousands of lines of code within the same mainline function, including deeply nested blocks, nested switches, etc. He would duplicate the same chunk of code all over the place rather than split it out as a utility. (Some people should never have access to a text editor that's capable of copy and paste). After being frustrated by this mess a couple of us intervened and rewrote 30K lines of his code down to 5K of relatively clean code in an afternoon.

How to forge an S/MIME signature

Jon Udell received a spoofed email that looked like it was signed by him, but it was a forgery. The message used a free certificate from Thawte with a valid email address but when displayed in Outlook it appeared to be coming from someone else (and signed as well). Just shows you that the underlying technology can be completely sound but if you can fool users this easily, why bother?

Hard-Disk Risk

Simpson Garfinkel bought a bunch of old hard drives and discovered that 90% of them contained recoverable data. One drive once lived in an ATM and contained a year's worth of financial transactions including account numbers and withdrawal amounts. Scary. If you dispose of old drives, or old computers Simpson's article is worth reading. A related issue that I've been dealing with recently is getting rid of old floppies and archive CDs. I've been destroying them by smashing them up but it's time-consuming. (Via BoingBoing)

Glowing Seafood

In the early 90s I lived in an apartment in Brookline. It was just me and my overfed cat. One evening the power was out when I returned from work. The cat was hungry, as usual, so I opened the refrigerator door to get her a treat. She ate a mixture of canned and dry food but occasionally I'd buy some imitation crabmeat for her. Opening the door to the darkened refrigerator I found the imitation crabmeat in its transparent container. It was glowing. A bright green glow. Creepy. Feeding glowing food to the cat seemed like a bad idea so I tossed it out. I'd never heard of this phenomenon before. I assumed that it had something to do with fish eating phosphorescent plankton or the like. But that's not it. It was caused by luminescence bacteria and should not have been present in this type of seafood. Most types of luminescence bacteria are harmless but some can make you ill. Good rule of thumb, if your food is glowing, don't eat it.

Monday, March 22, 2004

iPod Envy

Bob's iPod?My sister visited us yesterday and showed us her new 40GB iPod. She said "Well, if you're going to buy one, why not get one with the most storage?" Why indeed. She also got an iTrip FM transmitter for the iPod to play music and audio books through her car's FM radio. The fit and finish of the iTrip is nice and it seems to work quite well. I'm green with envy.

IM Zork

If you have an AOL Instant Messager (aka AIM) account send an IM to InfocomBot or InfocomBot2 and you can play a classic Infocom text adventure game such as Zork, Planetfall, Hitchhikers Guide, etc. (Via Waxy.org)

Expressions

Two expressions that are often used in error:
  • The expression is "take a different tack" not "take a different tact". It's derived from sailing in which a different direction is taken as one tacks (turns) a boat. As an expression it means to try another approach.


  • The expression "bated breath" is often misspelled as "baited" breath. The proper interpretation treats bated as a contraction of abated which means to "reduce or lessen". Thus, the phrase means that you almost stop breathing.
Sorry to be such a word geek today.

Sunday, March 21, 2004

User Agent Switcher for Firefox

If you use Mozilla Firefox then this User Agent Switcher Extension might come in handy. It allows you to switch the user agent of the browser.

Resource Releases Resource Java Idiom

One of the few features of C++ that I miss in Java is scoped-object destruction. The ability to cause code to get executed automatically when a block scope is exited is powerful especially as a way to automatically release resources (e.g. open files). Ned has detailed the usefulness of this technique (described as the "Resource Acquisition Is Initialization" C++ idiom on this Wiki page).

Patrick Logan describes a Java idiom for achieving the same result called Resource Releases Resource. Interesting but seems a bit clunky.

Language Idioms

One of Alan Perlis' epigrams advises us to "Accumulate idioms". Good advice. I've always tried to master the idioms of each programming language I've learned. And over time we develop own own idioms to share on a project. I found a reference to this Wiki page of Python Idioms. A good start but far less complete than a similar page of Java Idioms.

Epigrams on Programming

Alan Perlis wrote this terrific list of programming epigrams. It originally appeared in SIGPLAN Notices which is where I recall reading it the first time around. Some of these are more than just funny or witty; they offer good advice to programmers. It's a lengthy list but worth reading through a few times.

Dictionary of Algorithms and Data Structures

This is potentially interesting. The National Institute of Standards and Technology (NIST) has a Dictionary of Algorithms and Data Structures. Could be useful for looking up unfamiliar terms. Some of the algorithms have references to implementations as well.

Saturday, March 20, 2004

Word of the Day: salad days

I've often wondered about the etymology of salad days (but not enough to actually look it up). It's from Shakespeare in Antony and Cleopatra: "My salad days,/ When I was green in judgment, cold in blood." Note: the RSS feed for Word of the Day can be found here

Trunk Monkey Redux

The trunk monkey links that I posted a while ago seem to be broken now. I also found a newer trunk monkey video about a speeding ticket. Here are links that work:Enjoy. The first three are Quicktime, the last clip is MPEG video. Note: another source for these clips can be found on MilkAndCookies.com

Friday, March 19, 2004

XPower Mobile Power Inverter

This solid-state inverter looks like it could be useful for gadgets. You plug it into your car's lighter socket and can power any AC appliance up to 75 watts. Nice. No need to buy yet another adapter. There's a somewhat larger model that support 175 watts.

I've been noticing that newer cars have multiple power outlets (my Camry has a second outlet up front in the storage bin). The shape of power outlets in cars was designed to fit a cigarette lighter but newer cars often don't come with lighters, just the outlets. The outlet could be redesigned to be a lot smaller except that car makers would need to agree on a new standard outlet shape. Too many different outlet types would make it unprofitable or expensive to produce devices like this. (Via BoingBoing)

Happy Meal Turns 25

The McDonald's Happy Meal first appeared 25 years ago. It included a circus wagon toy. The article doesn't mention who came up with the idea but it was pure (evil?) genius to combine toys with fast food. The marketing tie-ins with movies, televisions shows, comics, etc. have been enormously popular and profitable. Happy Meals have even shown up in Linux source code.

Lost in Translation: Translated Suntory Scene

I mentioned this before but it's worth repeating. If you've seen Lost in Translation you may have been curious about what the director was saying during the "Suntory Time" whiskey commercial scene. Here's the translated scene. Note: areyouawake.org is a Lost in Translation fansite.

Spartan

I saw David Mamet's Spartan last night. It stars Val Kilmer as a government agent called in to help in the investigation of a kidnapping of a well-known political figure. I'm not a big fan of Kilmer but he's good here. Also notable in the cast are Derek Luke and Tia Texada, both good here. William H. Macy has a smaller role, not particularly notable. Overall I liked the film. Some clunky dialog at times, not typical Mamet. The plot twists and turns in interesting ways. Mostly recommended. Not in the same class as House of Games or Glengarry Glen Ross but a reasonable thriller.

Thursday, March 18, 2004

Unicode: Dividing the World One Character, and Between One and Six Bytes, At A Time

Robert Sanders has a pretty good rant on character encodings. He's dealing with Unicode encoded as UTF-8 but many of the problems were caused by bad code that switched interpretation of the content to some other character set encoding. Been there, got burnt in similar ways.

At the end of the article Robert quotes part of the Unicode FAQ. It describes how the full Unicode character set (as of Unicode 3.1) can no long be represented in 16-bits. And what have modern, Unicode-native languages like Java and C# used to represent a character? That's right, a 16-bit value. Characters above U+FFFF have to be represented as a sequence of two 16-bit "surrogate" characters. Some of the "simpler coding" benefits of Unicode just went out the window. But it didn't have to be this way: Unicode was always defined as a 31-bit character set. So why wasn't char defined as a 32-bit quantity in Java and C#?

Programmers at Work

Dan Bricklin writes about a reunion of programmers who were interviewed for the now out-of-print book, Programmers at Work. I remember reading it. It's a bit dated now but I enjoyed reading how other programmers view their work. Dan includes some excerpts from the book in his entry. He also related a funny anecdote from Charles Simonyi. It's the first time I've heard of anyone using Google as a form of ID:
The only note I made was about an anecdote that Charles told. He doesn't usually carry much in the way of ID. He was stopped at the guard desk at a company where he had an appointment. No ID, no entry. He asked if the guard had web access on the computer on his desk. He did. Charles told him to look on Google for "Charles Simonyi". Up popped his picture. Yep, that's him. He was let through.
Google is now good enough for security guards?

The Blue Space Boy

Gainsborough's The Blue Boy inspired this cover art for ReVisions an alternate history anthology edited by Isaac Szpindel and Julie Czerneda. Cool image. (Via BoingBoing)

Art of Electromagnetism

These images from MIT's first annual 8.02 "Weird Fields" are really amazing. More can be found here. The basis of the contest was to construct the "weirdest" two-dimensional vector field from simple analytic functions. Isn't Math pretty?

Note: courses at MIT are better known by number than by name. 8.02 is in the Physics Department (aka Course 8). It's a course on Electricity and Magnetism.

Wednesday, March 17, 2004

Spring is almost here?

This seems to happen nearly every year in Boston. Spring seems "just around the corner" but Winter decides it's not done with us yet. We end up with a new pile of snow. Looks like 8-12 inches this time around. The snow mostly came down last night so it's not that bad. Nothing like the April 1st storm we had in 1997 which closed Logan airport for a couple of days. And nothing like a late season storm back in the 80s where it took me two hours to drive to work only to discover that they were closing the office and sending everyone home due to the bad weather.

Vinyl Data

A handful of records released in the late 70's and early 80's contained computer programs as part of the audio. The technically savvy listener was expected to copy the audio to tape and "play" it to their home computer, typically a Sinclair Spectrum which was popular in the England at the time. Totally bizarre.

Note: early personal computers, including the first IBM PC, relied on audio cassette tape for storage. (Via Waxy.org)

Google, Innovation, and the Web

Here's a transcript of a session at SXSW Interactive given by Marissa Mayer. She's the director of consumer Web products at Google. I'd read elsewhere that Google engineers have something called "20% time". The idea is to spend 20% of your time on "innovation". The session describes how Google transforms ideas into projects into products. Good stuff. (Via paranoidfish.org)

Why do people give up weblogs?

Giles Turnbull asked on a mailing list whether anyone had abandoned a weblog and to describe their reasons for doing so. He's posted the results, made anonymous, here. Each of the four respondents had their own reasons but at least one issue was common: we don't always want to share personal stuff with the whole world. How can we share personal items with family and friends without the barriers imposed by authenticated access? (Via paranoidfish.org)

Darwine

Darwine is a port of Wine for Mac OS X. It will allow Windows applications to run on Darwin and Mac OS X. Darwine probably won't ever be as capable as Virtual PC but it'll be interesting to see how this open source alternative works out.

Perl / PHP Translation

Robert Kline has created a handy Perl / PHP translation page. I'm no expert on either language but it's good to see common operations shown side-by-side like this.

Tuesday, March 16, 2004

You Know, For Kids! The Movies of the Coen Brothers

You Know, For Kids! is a website about "the cinematic genius of the Coen Brothers". It contains scripts, reviews, sound clips, etc. The web site's name is a line from The Hudsucker Proxy.

Quick Links: Fun stuff for kids

Bubblewrap

Lite-Brite

Comboling

Pipedown

(Last two links via Weblog Wannabe)

Auto retirement

After reaching its 100K milestone, my commuter car, a 1992 Toyota Corolla, decided it was time to retire. The car still runs but the next set of expenses: brakes, valves, timing belt, etc. were going to cost too much to keep it running. So it's gone now, replaced with a 2004 Camry. We debated buying a late model car rather than something new but since we tend to keep cars for a long time, we felt it was worth it. This is another milestone of sorts as well. Both of the cars that we had BC (before children) are finally gone now.

Mondrian Machine

Make your own Mondrian painting. It's done with Dynamic HTML. Looks fine in Internet Explorer, but the line display is a bit off in Firefox.

We're Doomed

Rands has a good post on what to do when the development team has decided that a software project has gone from "tough" to "impossible". And then what to do to get development unfrozen.

11 ways to valid RSS

Arve Bersvendsen has identified eleven different methods of specifying content in RSS 2.0. RSS is supposed to stand for "Really Simple Syndication". While it's true that it's pretty simple to generate RSS, life is not so simple for anyone who wants to consume it.

Monday, March 15, 2004

Welcome Sedna, 10th Rock From The Sun?

NASA is set to announce discovery of a tenth planet circling the sun. It has been given the provisional name of Sedna, after the Inuit goddess of the sea. Here is Sedna's story

ArtRage

ArtRage is a painting package designed to provide a realistic and fun simulation of using paint on a canvas, along with pens, pencils, crayons, and other tools. It's fun and free too (Via Waxy.org)

DocuPen scanner

The DocuPen can scan an entire page of text and graphics in 4 to 8 seconds in one sweep. Its flash memory can store up to 100 pages internally. All in a device the size and shape of a pen. The scanner is along the edge of the pen rather at the tip. The scanned samples look pretty good.

Favorite swear words

A collection of TV stars from the West Wing, Six Feet Under, etc. spouting their favorite swear words. Clearly NSFW. (Via PlasticBag.org)

Sunday, March 14, 2004

Eat Your Own Dogfood

The phrase "Eat Your Own Dogfood" is often used to describe the need to "use what you build". In other words, use your product for real work. If you prefer an alternative to your own product, why won't your customers do likewise? If you don't trust your own product with your data, why should your customers?

I'd heard that the "dogfood" term originated at Microsoft but was curious about its origin. From a Google search I found a plausible etymology. A book called Inside Out : Microsoft--In Our Own Words indicates that former Microsoft Senior VP Paul Maritz coined the term in an email from 1988 with the subject "Thou shalt use the LAN Man server". An interesting definition of the term can be found in MicroSpeak - An Unofficial Guide to Microsoft Corporate Lingo:
Dogfood — Microsoft concept for internal testing of software that's not fit for public consumption, but good enough for internal purposes. Very unrefined and buggy, but containing basic nutrients. Coined by former senior VP Paul Maritz, but made famous by now senior VP Brian Valentine in 1988.
So calling it "dogfood" is an indication of quality (not fit for humans). It means more than just "use what you build". The term is intended to mean "use what you build as early as you can" (before customers do). As Ned used to say when we worked together on Domino "we suffer through the bugs so our customers don't have to". The development of Notes and Domino has always followed that approach.

Crimson Room

Ben found the Flash game Crimson Room to be "very annoying". I thought it was reasonably well done despite the fractured English. If you get stuck it looks like a Google search will turn up some clues. (Via Ben Poole)

Saturday, March 13, 2004

Mars Stinks

I guess this shouldn't come as a big surprise. Mars stinks. The Martian atmosphere is filled with the sulfurous stench of hydrogen sulphide. Not a problem for some future Martian astronaut while roaming the surface since you can't breath the atmosphere anyway. But once back safely in the lander, the smell is not going to make you popular. Mandatory supplies will need to include lots of air freshener.

Paul Haverstock

I hadn't heard from Paul Haverstock in a while. It turns out that he's now an architect for the Real Time Messaging & Platform Group at Microsoft . Note: one point in the article is inaccurate, Microsoft didn't "get him away from IBM/Lotus", Paul left a few years ago. Paul was the lead on Domino at Lotus. He took a very small team and together we merged Notes and Web technology. The project was intense and a heck of a lot of fun.

Daddy, can I have a weblog?

Dave Johnson's seven-year old son Alex asked for his own weblog. Dave has posted the first week's worth of Alex's entries. Hmm, I better be careful, my seven-year-old son knows about blogs too. So far he hasn't asked for his own. Maybe I won't mention this entry to him.

Miguel Estrada

Miguel Estrada, a friend and co-worker, has started a blog. I don't think he's told too many people about it but I linked to it the other day so I thought that I'd make my reference a little more official. I've known Miguel for a long time. We worked together on Lotus Improv and Lotus Domino. When we worked together on Domino, he'd send out missives to the group in the middle of the night about some discovery that he'd made or new code that he'd written. Miguel has always had an inquisitive mind so he should do well at this blogging thing. Check out his weblog. By the way, it's this Miguel Estrada, not this guy. And don't ever confuse him with this guy

Update: Miguel has switched to Moveable Type. It's a work in progress but his weblog is now here

Friday, March 12, 2004

LightScribe Direct Disk Labeling

HP has developed new technology called LightScribe. It that let's you burn a silkscreen-quality label on the upper side of CD or DVD media directly. The media needs to have a special coating. The first LightScribe drives and media are expected to hit the market in the next six months. Right now I just use a Sharpie to mark CDs. I tried the printable adhesive labels but didn't like them. I don't like the idea of applying a paper label onto something that's going to rotate at high speed. There are some new inkjet printers that can print directly on CDR media. This sounds like a better alternative. to labels LightScribe has the advantage of being part of the drive itself but does require special media. Disk labeling is a problem looking for a simpler solution. It will be interesting to see whether LightScribe or similar technology succeeds in the market.

Thursday, March 11, 2004

The Weblog Wishlist Manifesto

There are some good ideas here on what blogging tools should be able to do. I'm not sure it rises to the level of a Manifesto but it's worth reading.

WhatTheFont?!

WhatTheFont is a font recognition system. You upload a scanned image of a smaple of a font and it'll show you the closest matches in the font database on MyFonts.com. (Via BoingBoing)

Wednesday, March 10, 2004

The Museum Of Bad Art

This link on BoingBoing reminded me of MOBA, The Museum Of Bad Art here in Boston. I didn't realize that it was still around. MOBA was started by Scott Wilson after he rescued this painting from the trash in Boston. I worked with Scott's wife, Nancy in 1995 when the MOBA "buzz" took off. MOBA was featured on national news programs, got written up in newspapers and magazines including this article in Wired. Amazing. No one got rich but it just showed how a quirky idea can really take off.

Dan Bricklin gets a Treo 600

Dan Bricklin's positive reviews of the Treo 180 and 270 (plus Sprint's $10 per month unlimited data plan) were the original impetus for me to buy the Treo 300. It was a nice phone but the Treo 600 is a major improvement. Dan just updated to a Treo 600 as well. It took his provider, T-Mobile, somewhat longer to support the 600 than other providers.

Record Video Clips With Your Treo 600

Ryan Rife has released an alpha version of MovieRec for the Treo 600. MovieRec allows the Treo 600's digital camera to record video clips at up to 30 fps. Impressive. MovieRec can be downloaded from Ryan's website Infinityball.com I haven't tried it yet, I'm going to wait for a Beta release. (Via engadget)

Bloglines Blogroll

Bloglines has a new feature for bloggers. You can publish your subscriptions as a blogroll. I've set it up but haven't incorporated the Blogroll into my blog yet. I want to rearrange what's there now before including it. (Via Miguel)

USB Swiss Army Knife?

USB flash drives are useful but I'm not sure I'd want one on a Swiss Army Knife. If you try to carry this through airport security you may lose your knife and your data.

Black Hat Googling

Good article on SecurityFocus on how Google may expose sensitive information. Unless you're careful, information can easily "leak" into Google's index. How do you prevent Google from indexing sensitive information? First, protect anything that's confidential with access control. Second, make sure that you protect information about accounts and passwords. As shown in the article, there's a surprising amount of unprotected account and password information that can easily found using Google.

For information that is for public access but you don't want indexed by Google, there's a good article on O'Reilly that describes how to remove your content from Google, It includes details on how to prevent Google from indexing in the first place and also how to get Google to remove content after the fact.

Tuesday, March 09, 2004

Glue Advice

Need advice on how to glue two dissimilar materials together? Look no further than This To That.

Know Your Enemy

Good series of white papers on Honeynet.org on dealing with common network security threats. If you're interesting in this area, reading this paper is a good starting point.

Tatoo'd Clothing

Want that heavily tatooed look but afraid of needles? Try some "Tatoo'd Clothing" from SleevesClothing.Com. Looks pretty convincing but I think you need the right look and body type to pull this off.

Spalding Gray confirmed dead

After disappearing in mid January, Spalding Gray was confirmed dead yesterday. His death is likely the result of suicide. He suffered from depression for most of his adult life. He had tried to end his life on at least one another occasion. Very sad news. I've seen his film Swimming To Cambodia several times and saw him perform his "It's a Slippery Slope" monologue at Stanford in 1997. He was absolutely amazing. His stories were filled with wit and humor while, at the same time, exposing raw personal details of his life.

Monday, March 08, 2004

Neat chemicals you don't want to mess with

This nasty chemical reminds me of Freshman Chemistry Lab. I was paired up with with a clumsy lab partner. Not a good thing. One time while he was pouring concentrated hydrochloric acid into a beaker, he spilled some on the lab table which splashed on my jeans. It burned holes straight through the fabric and my underwear as well. Another experiment involved using a radioactive isotope to measure the level of a chemical reaction. He spilled some on his hands causing the Geiger counter to report a higher reading than the results of our experiment. Good thing they didn't let him near hydrofluoric acid, one of us would have ended up dead. (Via 0DECAFBAD)

Hubzilla

Have you run out of Firewire ports? Hubzilla to the rescue. Hubzilla features four 400Mbps FireWire ports along his spiny back. His red eyes and blue mouth light up when plugged in. He's as menacing as he is useful.

Hubzilla

Too bad Hubzilla isn't interactive like this USB-powered Homer Simpson that will say "appropriate phrases depending on how you're using your computer". That combination would have allowed Brozilla to give verbal feedback when the build broke.

A History of Apple's Operating Systems

Good article on kernelthread.com detailing the history of Apple's Operating Systems from the very early days of the Apple II up to Macintosh OS X.

Sunday, March 07, 2004

Flat Stanley

In the children's book Flat Stanley, Stanley is squashed flat by a falling bulletin board. Stanley is a boy who takes things in stride and soon takes advantage of his situation. Among the advantages is that Flat Stanley can now visit his friends by traveling in an envelope. The book provided the inspiration for elementary school classes to create their own Flat Stanleys and mail them around with a journal to record where Stanley visits. Recipients also send postcards back so Stanley's travels can be recorded. We got our first Flat Stanley in the mail recently. He started out in Knoxville, Tennessee and then traveled through Missouri, Colorado, Iowa and Minnesota before arriving here in Massachusetts. He'll be on his way soon. I'd never heard of Flat Stanley before but apparently the book and these school projects are quite popular

Clark Kent Explained

Superman dons a pair of glasses and turns into Clark Kent. No one realizes that it's just Superman with glasses? Are residents of Metropolis really that dumb? Do comic book fanboys really argue about such things? Answers: No and Yes. Back in the 1970s Superman comics gave this explanation. In a nutshell: it's his power of super-hypnosis that convinces everyone that Clark looks so much different from Superman. Pieces of glass from the rocket ship that brought him to earth were used to create his glasses and enhance the effect. Got that? (Via Waxy.org)

The world's two worst variable names

There are plenty of bad variable names to go around, Andy Lester has decided (tongue-in-cheek) to declare the world's two worst variable names. I'll agree that "$data" and "$data2" are pretty bad (and the equivalents without the $ in C/C++/Java/C#) but as this Wiki page makes clear, bad variable names and oddball naming conventions are everywhere. Naming is hard but that's no excuse for blatant use of bad variable names. Think of the poor developer who will come after you and be responsible for your code. Non-descript, misleading, obscure or funny names just make it harder for them.

Note: a related irritant for me is when someone uses an IDE or code generator tool that creates classes (e.g. Swing dialogs) and gives all of the controls generic names like label1, text23, etc. If using such a tool saves time, fine but either use proper naming with the tool or clean up the results afterwards.

Saturday, March 06, 2004

Vintage room posters

Posters were the cheap wall decoration of choice in my college dorm. For a trip down memory lane, here are some vintage posters from the 1980s and 1970s.

Programming Hacks

HAKMEM is a hacker's classic. Known formally as MIT AI Memo 239, HAKMEM is a collection of neat mathematical and programming hacks contributed by many people at MIT and elsewhere. Some of the content is esoteric (e.g. there are exactly 23,000 prime numbers less than 2^18) but there's useful content too such as this set of programming hacks. Unfortunately many of the hacks are described in PDP-10 instructions. Sean Eron Anderson has collected some of the same bit twiddling hacks written in C code.

Brains4Zombies.com

Brains4Zombies.com is your online home for Brains and Brain-Related Products. Brains, must find brains! (Via 0xDECAFEBAD)

Heavy metal umlaut

A heavy metal umlaut is an umlaut over one or more letters in the names of a heavy metal band. Examples include Motörhead, Mötley Crüe and Blue Öyster Cult. The umlauts make the names sound silly to people who know how to pronounce these letters. Look at the list of recent sightings in the Wikipedia link for more examples.

The Sopranos

The fifth season of The Sopranos starts tomorrow night on HBO. I'm a big fan of the show. The Simpsons followed by HBO series on Sunday night are the only television shows I consistently watch these days. It's been a 15-month wait since the last episode of last season. The media reviews say it's been worth the wait -- we'll see.

Friday, March 05, 2004

Gang of Four

When I was in graduate school at MIT I walked past the Revolution Bookstore on Mass Ave on my way to my lab. The bookstore's windows were full of posters and banners in garish colors (primarily red) with slogans asserting their views of the state of the world and exhorting passersby to revolution. The existence of this bookstore as well as the Red Bookstore in Central Square seemed like quaint, almost nostalgic, agitprop . One set of posters denounced the notorious Gang of Four in China. Around the same time, I started listening to the band Gang of Four (not the be confused by the later Gang of Four of Design Patterns). The Gang of Four were political but also had a great abrasive sound. I was reminded of the band the other day by an article in the Boston Globe. Hugo Burnham, the band's drummer, is now on the faculty at The New England Institute of Art here in Boston.

Left Handed Simpsons

Matt Groening, the creator of the Simpsons, is left-handed. Each Simpsons family member has appeared as a lefty at least once. Dave Hall has documented episodes where Homer, Marge, Bart, etc. have appeared to be right or left handed. Even Ned Flanders, owner of the Leftorium, was right-handed in one episode.

Tokyo Godfathers

I saw Tokyo Godfathers last night. It's a Japanese animated film. The story takes place at Christmas time in Tokyo and involves three homeless people: a middle-aged man who has abandoned his family, a transvestite who wants to be a mother and a runaway girl. While digging through the trash they find an abandoned baby and decide to find its mother and return it. It's a visually beautiful film even when the subject matter isn't pretty. The Tokyo street scenes are very realistic. The story is quirky and funny. Recommended.

Dunkin Dogs

I stopped at the post office on my way to work and noticed a Boston Terrier in the car parked next to mine. He was alone and was passing the time by licking from his owner's coffee. When I came out of the post office the owner had just returned. He saw what the dog was doing, petted the dog, picked up his coffee and drank it. Some people believe that a dog's mouth is cleaner than a human's but as this article delicately points out: "a dog's tongue is not only his wash cloth but also his toilet paper." In the future it might be advisable to get your dog his own coffee.

Thursday, March 04, 2004

Sensitive souls

Interesting article in The Economist on research to explain the sensitivity of dogs to social cues from people. The researchers set up a test to find a morsel of food placed under one of two cups. The test was given to dogs, chimpanzees and wolves. When the experimenter signaled in some way which was the right cup, by pointing at it, tapping it, or even just gazing at it, a dog would choose correctly every time, while chimpanzees and wolves would do only slightly better than chance. Even dogs that had little human contact beforehand performed well. The conclusion was that natural selection had given dogs the ability to understand people's intentions almost as well as they understand each other's. (Via Anil Dash)

History of the Smack the Penguin game

References to the Flash game, Smack the penguin started floating around the web in January. No one was quite sure who wrote the game and where it had come from. Here's a history of the game including a list of all the hacked versions floating around including this gory one featuring lots of blood and landmines. (Via Waxy.org)

Keyring

I've been using SplashID to securely store information such as computer account passwords, credit card numbers, etc. on my Treo. Keyring is a free alternative. It stores information using triple-DES encryption and includes a handy feature for generating new passwords based on length, characters, etc. SplashID has a more polished interface than Keyring and includes a desktop version but if you're looking for a free alternative, Keyring is a good choice.

What is a weblog?

Good post that collects some of the more popular descriptions of weblog including the definition from the 2003 edition of the OED.

Game Over

Here are some classic games from the '80s such as Space Invaders, Asteroids and Pong done in Flash. (Via MetaFilter)

Wednesday, March 03, 2004

What kind of death march are you on?

If you've ever been on a "death march" project you''ll appreciate this article which describes Ed Yourdon's death march project taxonomy. It classifies projects based on the chance to succeed and the happiness level of the participants. (Via Robert Scoble)

Mystic River

I overhead a cell phone conversation earlier today when I stopped for coffee It was hard to avoid, the guy with the phone was talking in a loud, excited voice. At one point he says "And then I yelled out 'That's my truck! That's my truck there!'" Apparently he was watching Mystic River in the theater and recognized his truck in a street scene. (Mystic River takes place, and was filmed in Boston). He remembered being in the area where a film crew was at work and his truck ended up in the background of one shot.

When I lived in Allston, part of an episode of Spencer: For Hire was filmed around my apartment building. I never watched the show and didn't bother to see if my building (or God help us, my car!) appeared on this episode. I was more interested in the filming process and the vast amount of equipment they brought for the shoot. It was two tractor trailers full of lighting, cameras, etc.

Watch Your Wrist Today

According to Aftenposten Nettutgaven, a new study contains a special warning for the citizens of Norway's capital. According to research at Ullevaal University Hospital, March 3rd is the day in the year that one is most likely to break a wrist in Oslo. As one of the local news stations in Boston says that's "News You Can Use" (Via Fark)

Every Language War Ever

Bill Stilwell has captured the essence of every heated programming language argument here. (Via Lambda the Ultimate)

The Sighnsons

Badmash bills itself as "The Weekly South Asian Comic Strip". The word badmash (budh maash) means "naughty child" or "rascal" in Hindi. Their latest work is a Simpsons parody called The Sighnsons. Some of the references are a bit dated but it's clever. Not trunk monkey funny, mind you, but still clever.

As a Simpsons geek, I have to mention one nit: at the end Bart (Bartminder) says "Kiss My Kacha". According to this leaflet on Sikhism, Kacha are "shorts worn as an under garment, to symbolize modesty and sexual restraint". So, consistent with the Simpsons he should say "Eat My Kacha". (Comic Book Guy would be proud). (Via MetaFilter)

Tuesday, March 02, 2004

Engadget

Engadget is a new gadgets weblog that started today. Some good content including this link to some description and video clips on the new Motorola MPx300 phone.

YAMCF (Yet Another Memory Card Format)

SanDisk and Motorola have created an even smaller memory card format for use in mobile phones. The number of card formats was already ridiculous. I recently bought a card reader that supports eight different formats and we've got devices that use four different formats. This may be an obvious point but it seems like card vendors keep inventing new formats to squeeze more money from consumers. Each time you buy a new device (camera, phone, PDA...) you'll need to buy a new card as well.

Update: According to engadget, the new card format will be called T-Flash. Looks really tiny. Apparently it will work in a SD card slot with an adapter. (Via Hack The Planet)

Happy 100th Birthday, Dr. Seuss

Today marks the 100th birthday of Dr. Seuss (aka Theodor Geisel). My son and I were reading Horton Hears A Who! a few weeks ago. I hadn't read the book in many years but remembered nearly every detail. A great book about belief and dedication.

Heritrix

Heritrix is the Internet Archive's open-source, extensible, web-scale, archival-quality web crawler project. It's implemented in Java and makes use of JDK 1.4 features. The user and developer documentation is pretty extensive. Heritrix is still a work in progress but looks promising.

Monday, March 01, 2004

Mark Pilgrim Turns Blue

Mark Pilgrim has joined IBM. I've been reading Mark's blog for a long time and have gotten lots of good information from his postings -- including a few that I've referenced in my blog. Mark's blog is separate from his job but based on the quality of the ideas I see there, this is a good deal for IBM.

Inexpensive digital cameras

My older son has been saving money in a bank account for a couple years. He recently decided he wanted to buy a digital camera. We spent a while looking online. There are lots of inexpensive cameras but most of them are novelties. He wanted something that was a decent camera: optical zoom, a slide cover for the lens, a decent-sized view screen and removable storage. We found this Fujifilm Finepix A205 for a little over $100. It met all of his requirements. It's only 2MP but that's fine for a starter camera. And it's not an old model -- it has more features than our two-year-old Olympus Camedia (which is 4MP but also cost $500). The A205 uses xD flash cards -- they're about as small as I can imagine cards ought to go (about the size of my thumbnail). The great thing about digital for a aspiring photographer is that he can experiment and get instant feedback. Plus there are no consumables.

Six Legacy Code Antipatterns

Another good entry from Hacknot on six common antipatterns found in legacy code.

Calvin and Hobbes Extensive Strip Search

This is cool. An extensive archive of Calvin and Hobbes strips with descriptive search. For example, I can do a search for Calvin power and get a couple of classic strips. Another search turns up this terrific strip from April 11, 1993.

SMS Spam

Sprint PCS has supported "full" two-way SMS for about a month. I just got my first piece of SMS spam. Lovely. Another way to get spam.

This page is powered by Blogger. Isn't yours?  Subscribe with Bloglines