Archive: July 2003

<<< June 2003

Home

August 2003 >>>


I Love My Evo

Tuesday,  07/01/03  10:40 PM

I love my Evo.  There, I said it.

I have a Compaq Evo N800c named "Maxwell", and it is great.  Truly we've broken into the clear as far as having laptops powerful enough to be desktop replacements.  I'm a professional programmer working on CPU-intensive image analysis software, and I can't imagine needing a more powerful machine.  My Evo has a 2Mhz P4, 1.5GB RAM, a 60GB hard drive, built-in 100MB Ethernet and WiFi, and it can drive my external 21" LCD digitally at 1600x1200x32.  Really, what more could I want?

Maxwell is named after Maxwell Smart, if you must know.  I've had a long line of laptops all named "Maxwell" for the past 11 years, going all the way back to an IBM Thinkpad 700C.  This first Maxwell - revolutionary in its day - had a 25MHz 486.  See, it was a "for 86", and Maxwell Smart was agent 86...  oh, well, you'll understand if you Get Smart.

There are a few things about my Evo which are terrific, and which set it apart from other laptops I have used:

  • Great battery life.  The Evo has a little bay which can hold either a second battery or a DVD / CD-R/RW drive.  With the second battery I get a legitimate 5 hours of working time.  That means I really don't have to carry my power brick around with me.  I can sit in the backyard, or go to the park, or go to Starbucks, or whatever, and truly work without wires.

Don't you just love it when someone brings their laptop to a meeting, and immediately plugs it into the wall?  Just like the way some people have their laptops shut down every time they close them, and then boot them when they open them again.  The funniest is when you see someone carrying their laptop open, so it doesn't shut down on them :)

  • Really bright screen.  This baby has a clear, bright 15" screen running at 1400x1050x32.  It is bright enough to use outside.  Really really.  I chose 1400x1050 over 1600x1200 (which is available on the Evo) because 1600x1200 on a 15" screen makes text too small to be easily readable.
     
  • Truly hot swappable.  When I'm in my office I simple press the laptop onto the port replicator, and poof, everything works.  The external monitor configures itself on the digital interface, the network connection automatically switches from WiFi to 100MB wired, the external keyboard and mouse work, etc.  Perhaps this is due to the magic in Windows XP Pro rather than the Compaq laptop drivers, but somehow the combination really works.  In the past I've always had a reconfiguration exercise every time I docked or undocked, which was bogus.
     
  • Awesome touchpad.  The Evo has a Synaptics touchpad with a lot of cool options.  The best is that you can scroll by drawing your finger down the side of the pad.  This is great when you don't have a scroll wheel.  Another important option is that it disables the touchpad briefly while you're typing, so if your palm brushes the touchpad it doesn't move the insertion point.  You can't appreciate this unless you've had a laptop without this feature.

There are some other "nice to haves" as well; good speakers (in the front, so you can listen to them with the lid closed), physical volume control, touchpad and pointing stick (the stick is useful on airplanes, where space is limited), and the fact that the drive bay is on the side (also useful on airplanes, so you can switch batteries in a limited space).  And it is thin, a good 1/4" thinner than Sony or Dell or Toshiba laptops.  Overall it has a really nice design, check out Compaq's 3D view of it...

Finally there is one feature that really sets my Evo apart from every other computer I've ever owned:  It doesn't crash.  Perhaps this is due to Windows XP Pro, but I think it also has a lot to do with the Compaq device drivers.  I can run all day long, plug things in, take them out, burn CDs, watch movies, dock, undock, suspend, resume, etc. without rebooting.  You've got to love that.

 

Tuesday,  07/01/03  11:23 PM

The Island Chronicles - One of the Boing Boing bloggers is Mark Frauenfelder.  He and Carla Sinclair moved from Los Angeles to Rarotonga, a tiny island in the South Pacific, taking their two young daughters with them, and they're photo blogging...  Fascinating!

So, you think music downloaders aren't price sensitive?  Listen.com cut their price on individual tracks from 99¢ to 79¢, and their traffic doubled.  This is not a random data point; I still think 50¢ is the magic number.

USAToday interviews Bill Gates.  One of the questions concerned Stewart Alsop's recent Fortune column, in which he accused Microsoft of being boringBill's reply didn't exactly rebut the charge - you judge for yourself.  I think he confuses making money with being exciting...

10,000 new words have been added to the dictionary, and one of them is geek.  Whose picture goes alongside?  The über-geek himself, of course! [ via Chris Prajzner ]

Oh yeah, and they took "gullible" out of the dictionary :)

Clay Shirky: A Group is its Own Worst Enemy.  Excellent! - well worth a click.  "Now, when I say these are three things you have to accept, I mean you have to accept them.  Because if you don't accept them upfront, they'll happen to you anyway."  It is interesting how some groups "just work" and others just don't, with no apparent differences between them.  Like, why does Slashdot work?

The Matrix in ASCII text.  Proving that indeed some people have too much free time.

The War of the Roses: Tim Bray and Don Park get into a chest beating contest - over the fatness of their roses.  "I'm sorry, this has just gone way, way too far.  Words written in public become deeds, and some deeds are inexcusable and I see no point in excusing the inexcusable."

 

Wednesday,  07/02/03  08:46 PM

Wired reports: Time nips at the Great Wall.  This amazing 4,500 mile structure, which has stood since 221 B.C., is rapidly deteriorating from the ravages of time and souvenir-hunting humans.  I took this pic when we visited China three years ago (click for larger pic), and the disrepair is clearly evident.

Wired reviews Wired: A Romance, a new book about the history of Wired magazine and its founders, Louis Rossetto and Jane Metcalfe.  "No one mentioned in the book, however, actually works here now. "  I'll have to read the book, sounds like a history of the times as well as the story behind the magazine...

Wired has been my favorite magazine since late 1994, when I first tripped over it.  Although there is some Omni-style fantasy, on the whole it remains forward looking and insightful, and refreshingly different from everything else.  As an example this month's cover story is about all the private entrepreneurs who are building rockets (like Elon Musk at SpaceX).  Great stuff.

One of the definite icons of the "dot-com" era was Herman Miller's Aeron chair, which at $1,100 apiece symbolized the excesses of pre-revenue startups.  In recognition that times have changed, Herman Miller introduces the Mirra, which is a comparative bargain at $600.

Billboard magazine has begun tracking 'net music downloads.  Makes sense...

Giant sea creature baffles Chilean scientists.  Eew.  Looks like a 40 ft. leathery jellyfish.  Or something.

Amish Tech Support is hosting this week's carnival .  Some pretty heavy stuff; I guess I'm not in the mood for politics tonight...  Well okay, maybe a little bit; you know how much I detest the Supreme Court's recent affirmative action ruling - it was racist, pure and simple - so I'll point out Embarrassing Illogic, from Occam's Toothbrush, and in a more blatant vein, we have The Truth-a-lzyer Test, from clubbeaux.  This ruling just seems completely wrong to me, no matter how I look at it.

 

Messing About in Boats

Thursday,  07/03/03  09:03 PM

There is nothing - absolutely NOTHING - half so much worth doing as simply messing about in boats...  -the wind in the willows
 

Alexis! - click for larger view

Today was a perfect day.  My daughter Alex has been in a "sailing camp".  Today was the end of the camp, with a million kids sailing in a relay race and a barbeque.  She ended up taking three of her friends out all by herself, in gusty winds, with her proud dad standing on the dock watching.

When I was a kid I spent summers sailing, and I'm sure glad to be passing on the tradition.  There is absolutely nothing half so much worth doing...

 

Thursday,  07/03/03  09:33 PM

This whole blogging thing has been going on for a while now, it is interesting to look back a year ago to an article in the Economist: The Trees Fight Back.  The theme was whether big media would discover and embrace blogging.  I don't think it has, but the Iraq War sure showed the power of individual publishing.  All the best reporting during the War came from bloggers.  Glenn Reynolds has the money quote, even more valid today than a year ago: "the threat to big media is not to its pocketbook but to its self-importance. "

The whole "will Google separate blogs" debate seems to have subsided, but the ability to search blogs for information is now widely available.  My favorite RSS search engine is Feedster.  If you want to find something in the blogosphere, this is consistently better than Google.  Check it out...

BBC News: Behold the Pentaquark.  I don't know about you, but this whole "particle zoo" thing doesn't seem, well, right.  It is kind of like the way there were all these complicated theories to explain electricity and magnetism before Maxwell.  Someday it will all be clear...

Rafe Needleman points out a fascinating new product: Final Scratch.  This lets you play digital music "analogly", using turntables.  "The product, Final Scratch, consists of software, a sound-processing box that plugs into a laptop, and the three records, which contain time codes, not music.  When the records are played on a turntable and routed through the processing box and software, they allow any digital track to be spun, controlled, and scratched like a traditional LP.  DJs typically use a rig with two turntables and a mixing board that lets them change the record on one turntable while a track is playing on the other."  Sounds really cool...  [ via Andrew Anker ]

I like Rafe Needleman and I read Business 2.0, but this is the last time I ever link to them.  Despite their name, B2 just does not "get" the web.  They have their articles behind a paywall - clicking on the link above will not give you the article unless you're a registered subscriber - and they never link off site.  So for example although they wrote this article about Final Scratch, they don't link to the website (like I did).  I really dislike this.  Like people won't Google to find it anyway.

Do you like loud music?  Then perhaps you would enjoy Disaster Area.  "Regular concert goers judge that the best sound balance is usually to be heard from within large concrete bunkers some thirty-seven miles from the stage."  Once upon a time I had a mini-truck like that, blasting Van Halen...

 

Happy Birthday, U.S.A.!

Friday,  07/04/03  04:07 PM

Happy Birthday to the greatest country in the world, and the greatest political and economic system humans have ever known.  It isn't perfect, but it sure is the best we've got.  Not only do people in the U.S. live better and more productively than people elsewhere, but we actively help everyone everywhere to live better.  The U.S. econopolitical system is truly a rising tide raising all boats.

And I just want to wish a special Happy Fourth to all the men and women serving in our armed forces, (especially including my daughter Nicole :), for all you do to keep us and our ideals safe.

Victor Davis Hanson wrote a great article recently called Winning After All, about the amazing progress we've made:

"If on the evening of September 11th, an outside observer had predicted that the following would transpire in two years, he would have been considered unhinged: Saddam Hussein gone with the wind; democratic birth pangs in Iraq; the Taliban finished and Mr. Karzai attempting to create constitutional government; Yasser Arafat ostracized by the American government and lord of a dilapidated compound; bin Laden either dead or leading a troglodyte existence; all troops slated to leave Saudi Arabia - and by our own volition, not theirs; Iran and Syria apprehensive rather than boastful about their own promotion of terror; and the Middle East worried that the United States is both unpredictable in its righteous anger and masterful in its use of arms, rather than customarily irresolute and reactive."

Just think about that.  It is easy to lose sight of the great accomplishments we've made in the everyday details.  Not that everything has gone perfectly.  But we won again, and again, and again; the superiority of our econopolitical system is proven by events time after time.

[ Later: Boing Boing excerpted the Declaration of Independence.  Like most of you, I've read it many times, but not lately, and not for content.  Please click through and read it, I found it quite moving. ]

I celebrated the Fourth today by doing what I always do - sailing.  The Westlake Yacht Club traditionally sponsors a 'round the island race, followed by a boat parade.  Racing around Westlake Island requires passing under a low bridge - you have to capsize to pass underneath - and it is a great way to cool off and have fun.

It sure is wonderful to live in a country where your biggest worry is sailing under a low bridge, and the most dangerous weapons you'll encounter are water-balloon launchers :)

 

iSnipeIt rocks

Sunday,  07/06/03  09:24 AM

Have you ever discovered a great little restaurant, and hesitated about telling your friends because you don't want "everyone" to go there?  Sometimes you find something really cool, but if everyone knew about it then it wouldn't be as cool anymore.  Well, I found something like that, but I'm going to share it - with you!

Evolution has this problem.  An organism "discovers" a new strategy - either physical ("long neck") or behavioral ("live on higher ground") - but the value is mainly as an advantage over competitors; if everyone employed the strategy there is no advantage.  And if there is a cost to the strategy then everyone has to pay the cost; there is no way to form a union of organisms which agree not to eat leaves from the tops of trees, or graze in the high meadows.  But I digress...

I really like eBay.  I am mostly a seller.  I am a gadget freak, I always want the latest of everything, which means the previous "latest thing" is no longer needed.  So I sell it on eBay; this works great; not only do I get money back, but the gadget's useful life is extended.  Occasionally I will buy stuff on eBay, but I've found the buying experience is not quite as great as the selling experience.  There is an asymmetry, in that if you're selling something chances are you will sell it, but if you're bidding on something you might not get it, at least not at a reasonable price.

So - I just found this great tool called iSnipeIt.  This tool automates an eBay practice called "sniping", whereby you sit on the sidelines of an auction you're interested in until the last possible second, and then enter a bid quickly, leaving the other interested bidders no time to respond.  There are two advantages of sniping, first, you are more likely to get the item, and second, you often save money (because other bidders don't have a chance to bid you up).

I've been trying to buy a used Macintosh Titanium Powerbook.  {Why used?  Well, laptops are one of those things that lose a lot of value right after they're bought; you can buy an almost-new laptop for substantially less than a new one.}  So after bidding on three auctions in a row and getting out-bid at the end, I decided to try iSnipeIt.  It works!  I won the first auction I tried it on, and the final price was $125 less than I was willing to pay.  Pretty darn cool.

Of course, if everyone snipes, the whole auction process is subverted.  The person willing to pay the highest price will still win, but you won't have the dynamic of people bidding against each other.  Which reminds me to point out - you can only really snipe if you know what an item is worth.  For items with a defined market like laptops this is great.  For a one-of-a-kind collectible you might want the auction dynamics to help you determine the price you're willing to pay.

Still, everyone doesn't snipe - at least not yet - so this is a great way to gain some advantage.  I can only imagine how frustrating it was for the other bidders on this laptop to see a brand-new bidder come in with 15 seconds to go and win.  Yippee.

 

Sunday,  07/06/03  10:27 PM

Well I would have bet heavily against this, but it looks like SARS has been contained.  A tribute to the quick global response of scientists and doctors.  I guess quarantine can be a successful strategy.

Bill Whittle's Fourth of July offering: Trinity Part I and Part II.  As always really good stuff, and really well written.  I particularly like the clear argument that capitalism is a riding tide which lifts all boats, not a matter of some taking from others.  "It is possible to be rich without taking from the poor."  In fact most of the time being rich actually helps the poor...

SJMercury interviews Linus: Linux creator an open source.  Linus discusses the SCO lawsuit, among other things.

GNXP: The biochemical foundations of morality.  Great stuff.

Slashdot: Duct tape goes miniature.  I linked the Slashdot thread instead of the article because the comments are really funny.  Duct tape is truly a wonder, but I don't know how useful a small strip would be...

Years ago I sailed a lot, and pretty much always carried a roll of duct tape wherever I went.  I figured carrying duct tape was a sure sign of a sailor.  I was in a gas station when the attendant saw a roll sitting on my back seat, and said "oh, do you race motorcycles?"

You've got blog!  AOL is introducing blogging tools; Jeff Jarvis blogs about his sneak peak.  It will be interesting to see how "open" AOL makes their blogging universe.  Sounds like they "get it"; they're going to have RSS feeds, for one thing :)

Dave Winer has some comments about blogging via IM, and posted a longer article about AOL's entry into weblogs.

Chad Dickerson: RSS Killed the Infoglut Star  ."When I started using an RSS newsreader daily, some remarkable things happened that I didn't necessarily expect: I began to spend almost no time surfing to keep up with current technology information, and I was suddenly able to manage a large body of incoming information with incredible efficiency."  I've found the same thing; I use SharpReader as my entry point to the web.  And to think at one point I didn't like RSS aggregators :)

 

The Nest

Sunday,  07/06/03  11:23 PM

Around our house we have a bunch of old iron lanterns.  They are reasonably attractive, pleasant at night (with suitably low wattage bulbs), and difficult to maintain.  They also make great bird nests.  And therein lies a story, which I am about to relate...

There's a lantern on a balcony in my back yard which has had a nest in it for a while.  The other day I noticed a dead adult bird stuck in the bottom of this lantern.  I have no idea how the bird died - maybe it got stuck wiggling into the lantern, or it had some disease, or maybe it was just his time.  So, now I've got to clean up the dead bird.  {Being a longtime cat owner, this is not a new experience for me...}

Well there's a dead bird, and a nest, and a bunch of droppings, and overall a big mess.  So I decide I'll just hose out the lantern.  I drag over the hose, turn it on full blast, and squirt it into the lantern.  No good, the nest is stuck, the bird is stuck, and even the droppings are stuck.  I'm going to have to take the lantern apart.  Did I mention these lanterns are difficult to maintain?  Yeah, they were designed by someone who apparently figured there would never be any need to open the lantern.  Fool.  Like the light bulbs live forever, or something.  Not to mention the possibility of bird nests.  So I take the lantern apart, shake out the dead bird (yep, it's dead all right), and shake out the nest.

Woa!  The nest falls out, intact, with three baby birds in it.  And two other baby birds fall out of the lantern as well - a little wet and bedraggled looking (baby birds look that way anyway) - but otherwise seemingly okay.  They are wiggling their little wings and opening their mouths.  Way cute.  I'm no expert on birds, but these were little baby birds, as in no hair, eyes closed, etc.

So what do I do now?  Well, the two not in the nest look like they belong in the nest, so I put them back.  Now I have a nest with five baby birds wiggling around in a fuzzy ball, a dead parent, and a disassembled lantern.  Help!

I call my local pet hospital, explain the situation, and am referred to a woman who nurses baby birds which have been orphaned!  I call her and tell her what happened.  She says that birds like these typically mate for life, with the male and female sharing nest caring duties.  So there is probably another bird around to take care of the chicks!  She also tells me little chicks like these need to be sat on by a parent at night to stay warm (I would believe that, they have no feathers to speak of) and can't go more than a day without food (I would believe that too, they are so little).  I look around and sure enough, there's this little bird just like the dead one buzzing around the patio.  Most likely a really pissed little bird wondering what happened to her nest.  Sorry!  I reassemble the lantern - did I mention they are difficult to maintain? - remove a glass panel, and carefully put the nest back in the lantern, complete with the five little fuzzballs wiggling around.  What will happen?

Sure enough, the little bird buzzes into the lantern, and sits on the nest!  Yippee.  All's well that ends well.  My kids had a chance to see little chicks up close, and the baby birds probably needed a bath, anyway :)

[ Later: Please see revisiting the nest for an epilogue... ]

 

More Messing About in Boats

Monday,  07/07/03  11:05 AM

There is nothing - absolutely NOTHING - half so much worth doing as simply messing about in boats...  -the wind in the willows
 

'round the island! - click for larger view

On the Fourth of July the Westlake Yacht Club traditionally has a 'round the island race, which is [unsurprisingly] a race around Westlake island.  This is made more interesting by the presence of a low bridge, which requires competitors to capsize their boats to pass underneath.

Here's your faithful blogger in action.  The perfect thing for a 100o day!

 

Tuesday,  07/08/03  11:14 PM

Catching up again - on the road ...

First and thank you for wondering - the baby birds are doing fine.

Did you see this!  Microsoft announced that going forward they will be awarding stock, instead of granting stock options.  This will do two things, first, it will reduce employee unhappiness about options which are "under water" (according to MS CEO Steve Ballmer this is the biggest complaint among MS employees), and second, it will solve the problem of how to account for employee options in Microsoft's financials.  The tech industry is watching to see what happens; apparently DaimlerChrysler is considering doing the same thing.  Whew!

The always interesting David Burbridge looks at Population Fallacies.  "The most prevalent misunderstanding of 'life expectancy' is to take it as a reliable prediction of how long people will live in future."  Very true.  In fact, "We tend to assume that life expectancy will go on rising, thanks to medical progress, improved nutrition, less smoking, and so on.  This is a plausible assumption, but it could turn out wrong.  Apart from the possibility of unknown new viral diseases, antibiotic-resistant bacteria, etc., there is the possibility that the genetic quality of the population is deteriorating."  Especially given the Unnatural Selection which is taking place...

Worried about corporate espionage, Samsung has banned camera phones from their factories.  Samsung is the worldwide leader in manufacturing camera phones.  [ via Gizmodo ]

July 4!
(click for QTVR)

This is cool - a QTVR panorama taken by Jook Leung from the top of the Empire State Building on the night of July 4 - fireworks, big crowd, and all...  It was made more complicated by the fact that Jook was forbidden from using a tripod, apparently a security consideration.  In addition to being a cool shot, I especially like the way he incorporated a soundtrack.  [ via Boing Boing ]

A radio station which plays what its listeners want to hear?  How revolutionary!  Check out last.fm, which is apparently exactly that.  [ via Wired, which has a story ]

MTV.com turns 10!  Adam Curry marks the anniversary.  Adam at one time owned the domain before selling it back to Viacom.  (Adam was an MTV VJ in a prior life.)

.NET turns 3!  eWeek chronicles the 'vision' thing.  "Three years later, most of the hopes behind the .Net initiative have not been realized."  It seems that basically .NET turned out to be a new development API for Windows; not a trivial thing, but not the most important thing ever, either.

Timex has a line of watches which implement Speedpass - an RFID-based payment mechanism.  They are supported by Mobil and Exxon gas stations, McDonald's restaurants, and several grocery chains.  Could this be the payment mechanism of the future?

Adobe drops Mac support in new version of Premiere.  Not surprising given that they're competing against Apple's Final Cut Pro.  Premiere was the first video editing program I ever used - way back in 1994, on Windows 3.1! - and I remember it fondly.  It is still the "premier" video editing program out there...

Andrew Anker things this is further evidence that Apple is an Appliance Vendor.  Their control over both hardware and software enables tighter integration and hence a better user experience.

This is interesting; David Winer reports that Google no longer gives a Userland page as the top search result for RSS, and that they label Userland's RSS pages as "Deprecated".  This is dirty pool of a sort not typically associated with Google.  Is this an abberation or a sign that "power corrupts"?

 

People over 30 should be dead

Wednesday,  07/09/03  04:37 PM

According to today's regulators and bureaucrats, those of us who were kids in the 40's, 50's, 60's, or even maybe the early 70's probably shouldn't have survived.

Our baby cribs were covered with bright colored lead-based paint.

We had no childproof lids on medicine bottles, doors or cabinets, and when we rode our bikes, we had no helmets. (Not to mention the risks we took hitchhiking.)

As children, we would ride in cars with no seat belts or air bags.

Riding in the back of a pickup truck on a warm day was always a special treat.

We drank water from the garden hose and not from a bottle.  Horrors!

We ate cupcakes, bread and butter, and drank soda pop with sugar in it, but we were never overweight because we were always outside playing.  We shared one soft drink with four friends, from one bottle, and no one actually died from this.

We would spend hours building our go-carts out of scraps and then rode down the hill, only to find out we forgot the brakes.  After running into the bushes a few times, we learned to solve the problem.

We would leave home in the morning and play all day, as long as we were back when the street lights came on.  No one was able to reach us all day.  No cell phones.  Unthinkable!

We did not have Playstations, Nintendo 64, X-Boxes, no video games at all, no 99 channels on cable, video tape movies, surround sound, personal cell phones, personal computers, or Internet chat rooms.  We had friends!  We went outside and found them.  We played dodge ball, and sometimes, the ball would really hurt.

We fell out of trees, got cut and broke bones and teeth, and there were no lawsuits from these accidents.  They were accidents.  No one was to blame but us.  Remember accidents?

We had fights and punched each other and got black and blue and learned to get over it.

We made up games with sticks and tennis balls and ate worms, and although we were told it would happen, we did not put out very many eyes, nor did the worms live inside us forever.

We rode bikes or walked to a friend's home and knocked on the door, or rang the bell or just walked in and talked to them.

Little League had tryouts and not everyone made the team.  Those who didn't had to learn to deal with disappointment.

Some students weren't as smart as others, so they failed a grade and were held back to repeat the same grade.  Horrors!  Tests were not adjusted for any reason.

Our actions were our own.  Consequences were expected.

The idea of a parent bailing us out if we broke a law was unheard of.  They actually sided with the law.  Imagine that!

This generation has produced some of the best risk-takers and problem solvers and inventors, ever.  The past 50 years have been an explosion of innovation and new ideas.  We had freedom, failure, success and responsibility, and we learned how to deal with it all.  And you're one of them!

Congratulations!

Please pass this on to others who have had the luck to grow up as kids, before lawyers and government regulated our lives for our own good....

Doesn't it kind of make you want to run through the house with scissors?

 

Wednesday,  07/09/03  10:07 PM

It's all happening, I'm 363 posts behind in SharpReader =(

Lawrence Lessig points out an extraordinary thing; the new movie the League of Extraordinary Gentleman uses only characters from the public domain.  Somehow the creators of this movie were able to combine these public domain things in a unique way to create something new!  Does this make you think maybe we don't need copyrights?  Would there be more or less of this kind of work if these characters were all "owned" by copyright holders?  [ via Ottmar Liebert ]

Cinque Terre
(click for photos)

Can you imagine a village without cars?  How about five of them?  How about Cinque Terre, a collection of Italian villages on the Mediterranean coast.  Besides being noted for their public transportation systems - and lack of private ones - they are also noted for food and wine.  I want to go there!

Wired: Being Invisible.  "Next-gen optical camouflage is busting out of defense labs and into the street.  This is technology you have to see to believe."  It's the invisibility cloak - for real - and it looks cool.

Razib gives a great example of Unnatural Selection...

Lance Armstrong is on his way as the postmen deliver.  ESPN has a great map of the tour stages.  Check out stage 8 - Sallanches to L'Alpe d'Huez - 136 miles with two massive climbs, including a finish up the famous L'Alpe d'Huez with its 21 switchbacks.  Even just finishing this stage is something only a well-trained athlete could do, let alone winning it...

This is amazing!  Check out this video of two guys playing ping-pong, Matrix-style.  I watched it three times running, it was so cool.  [ via Robert Scoble ]

Buzzword Bingo!  Check out Grand Central Communications' "solutions" page.  I challenge anyone to read this and tell me what this company does.  I always think it is a red flag when a company has "Solutions" instead of "Products" or "Services"; it means the marketing BS factory has taken control of the website.

My attention was called to Grand Central by a press release announcing they've hired Halsey Minor as CEO; he was the founder and CEO of CNet.  Halsey is a cool guy and a visionary, I wonder if he'll change the website?

Marc Cantor links photos from the Supernova conference, to which he's added his own captions :)  The guy in the foreground on the right is Reid Hoffman, founder of LinkedIn and an ex-colleague of mine at PayPal.

USA Today: Welcome to the blogosphere.  A big media story about blogs that doesn't suck.  Hey, you're welcome!

This week's carnival is up at Winds of Change.  I haven't checked it out yet, I've fallen too far behind, but please don't let me stop you.

Eric Sink: Marketing for Geeks - Act Your Age.  (This would be your age as in the stage your company is at...)

    • Early Adopters are risk takers who actually like to try new things.
    • Pragmatists might be willing to use new technology, if it's the only way to get their problem solved.
    • Conservatives dislike new technology and try to avoid it.
    • Laggards pride themselves on the fact that they are the last to try anything new.

Good stuff, like the "crossing the chasm" messages of Geoffrey Moore.

Canadian researchers think they've figured out the mystery of Stonehenge: it is a stone representation of female genitalia.  I am not making this up.

Whew, I made it.  Back down to zero posts in SharpReader.  Good night!

 

Revisiting the Bridge of the Programmers

Friday,  07/11/03  09:11 AM

Remember the bridge of the four programmers?  An interesting technical interview problem, with an unexpected answer.  It turns out there is more complexity in this problem than I had thought.  Yay!

Here's the problem again, to refresh your memory...

Four programmers must cross a rickety bridge at night. The bridge can only hold two of them at a time, and they have one flashlight between them. The four programmers cross at different speeds, Alex only requires one minute, Sam requires two, Pat requires four, and Francis requires eight. What is the shortest time in which they can all cross?

I received an interesting email from Ben Webman (now that is a great name for a blogger, eh?):

"If the bridge is very short and we have a good flashlight -- nobody has to carry the flashlight back over!  So -- there is a "different" and faster way -- (maybe not better)."

I like it!  There is a new factor to consider, the "carry" of the flashlight beam.

In the original solution, there was an assumption that the beam did not carry at all, and hence each programmer had to go all the way to the other side with the flashlight.  In Ben's version, the flashlight's beam carries all the way, and there's no need to go back with it.  Intermediate versions are possible, for additional complexity.

For example, let's assume the flashlight beam carries halfway.  Now what's the best solution?

Let's first see what this does to our original solution.  Here it is (changes in red):

Alex + Sam -> far side (2 minutes); Alex only goes halfway
Alex -> near side (½ minute, total = 3 minutes)
Francis + Pat -> far side (8 minutes, total = 10½ minutes)
Sam -> middle of bridge (1 minute, total = 11½ minutes, this is the key!)
Sam + Alex -> far side (1 minute, total = 12½ minutes)

So the total time is reduced from 15 minutes to 12½ minutes.  That's pretty good.  However, I'm not sure this is really optimal.  I'm troubled by the fact that the Francis + Pat trip is not shortened at all by consideration of the beam carry, because this is the longest single component of the whole operation.  Perhaps there is a way to optimize further?  Anyone have any good ideas?

[ Later: the bridge has been revisited again...  and again... ]

 

Friday,  07/11/03  09:43 AM

Think there isn't a downside to affirmative action?  Aside from the impact on the "majority" students who are discriminated against, consider the affect on the "minority" students who are "helped"...  Stanford Law Professor Marcus Cole wrote a letter to Eugene Volokh about his experience:

"...there is nothing that any American of African descent can do that can separate himself or herself from the unspoken accusation that he or she is the beneficiary of more than they deserve.  I am willing to bet that I am the only member of this list who feels compelled to put his standardized test scores and National Merit award on his CV."

Marcus is black, and he was legitimately qualified, but he feels his qualifications come under question because of affirmative action.  Not good!

RFID is taking over the world.  CNN reports the tiny transmitters will someday replace UPC bar codes.  They are certainly getting traction for business applications.  Someday every product you buy will have one, and you will be watched...  as you walk through a mall all your clothing choices, your personal electronics, everything, will be recorded.

Ottmar Liebert likes his Line 6 amp.  The CEO of Line 6 is Mike Muench, my next-door neighbor.  What a small world!

The RIAA is such a target, and this hits dead center: Sue all the world.  A terrific animated skewer from Bob Cesca and Camp Chaos.  I wonder if the RIAA will ever get tired of being "wrong" and fix themselves?  Nah.

The market for illicit music CDs is now $4.6B annually, according to the BBC.  Seems like these are the real pirates, not consumers using file sharing networks.

Yippee - SETI has received a five-year NASA grant.  I can't think of a better use of my tax dollars, actually.

You know the phrase "older than dirt"?  (I like that phrase.)  Well here's some really old dirt: NASA announced the Hubble Space Telescope has found a planet 12.7B years old.  That's about three times older than Earth...

Want to know if there's WiFi around?  Then you need this device from Kensington.  Isn't is amazing how WiFi has just absolutely become ubiquitous, in just a couple of years?

Anyone try MyIE2?  Apparently this is a new web browser which uses the IE engine, but provides a better GUI, including pop-up blocking and tabbed windows.  I'll have to check it out...  [ via Robert McLaws ]

Another thing to try: Oddpost.  This combination email client / RSS aggregator requires no download, it runs right in your web browser.  Very cool.  Here's an interesting interview with Ethan Diamond, Oddpost's creator, about how the thing works...

 

More Messing About in Boats

Sunday,  07/13/03  11:25 PM

There is nothing - absolutely NOTHING - half so much worth doing as simply messing about in boats...  -the wind in the willows
 


Sailing at Huntington! - click for larger view


High Sierra Regatta 2003 - click for larger view

This weekend I sailed in the 50th anniversary edition of the High Sierra Regatta, hosted by the Fresno Yacht Club at Huntington Lake, high in the Sierras.  Just about the most beautiful mountain lake you can imagine, with perfect wind for racing dinghies...

I've been sailing in this regatta since I was 17.  Not much has changed, the boats are the same, the wind is the same, the competition is the same, even many of the competitors are the same!  Except now I'm racing sons and daughters of my friends, too.  A wonderful tradition.  I can't wait to be racing with my kids up there...

The picture at top was taken in 1984 - it ended up on the cover of a sailing magazine called The Mainsheet (click for scan).  I'm now a little heavier (!) and a little slower (!!) but my boat is the same...

The picture on the bottom shows the class winners; I'm the guy in the black "I'm blogging this" T-shirt :)  Next to me in the hat is my good friend Peter Drasnin, who's also been sailing Huntington since he was 17...

 

Monday,  07/14/03  09:43 AM

The latest example of U.S. military superiority has been launched; the Navy has officially commissioned the U.S.S. Ronald Reagan.  This 1,000 ft. aircraft carrier will be based in San Diego, and will be home for over 6,000 seaman and 80 aircraft.  The ship can travel faster than 40 knots and will operate for 20 years without refueling its nuclear reactors.  Whew!

Yahoo to buy Overture in $1.6B deal.  And then there were two...

Wharton considers: What's Holding Back Online Music?  My thoughts - we have MP3 players, we have plenty of "free" music via Kazaa et al, and online music is booming.  The real question is - what's keeping people from paying for music?  Two things - 1) user experience, 2) price.  The Apple Music store fixes (1) very well, which leaves (2).  I still say $.50/track is the magic number...

Ottmar reports he is playing 'phone tag with the Apple Music Store.  "I am hoping to make nouveaumatic available on iTunes a.s.a.p., about 2 months before its release on CD."  Excellent.  I hope they connect.

Well, I like my iPod a lot - looks like Oprah likes hers, too...

If you love your iPod like Oprah and I, but you want to customize its look, then here you go...

Here's a cool tool: the HomePod.  This lets you use your existing 802.11 network to "beam" music from your Mac to your home stereo.  CDs are so last century!

In the same vein, CNet comments WiFi Pushes Beyond the Laptop .  Yep.

And if you're into gadgets, check out  Wired's "The Year's Best Gear So Far".  Excellent stuff!

Tim Bray considers writing software for an established platform to be Sharecropping.  "A farmer who works a farm owned by someone else.  The owner provides the land, seed, and tools exchange for part of the crops and goods produced on the farm."  I think it is a crappy analogy.  You don't have to invent dirt to be a farmer.  The more existing functionality you can leverage, the better your product will be.  Of course you still need your competitive differentiator, but I don't think that has to be at the platform level.  Nor is it essential that the platform be "open".  A lot of successful businesses have been built on Windows and/or Mac.

Ralph Peters: Let 'Em Eat Wurst.  "My heart breaks: Sniffing in Teutonic superiority, German Chancellor Gerhard Schroeder has cancelled his Italian vacation.  Informed that Germany's answer to Bill Clinton wasn't going to grace bella Italia with his presence this year, Silvio [Berlusconi] shrugged and said, 'too bad for him'."  I love it.  [ via LGF ]

Grouchy Old Cripple considers Diversity.  Warning, this is only correct, not politically correct.

David Burbridge asks "whatever happened to punctuated equilibrium?"  The comments thread is an amazing discussion involving Dennett, Gould, and some excellent Darwinian philosophy...  Great stuff.

I am, of course, strongly on the side of Dennett against Gould.  There is no such thing as punctuated equilibrium as a qualitative phenomenon; it is merely a result of differential evolutionary timescales...

Scoble on social software.  "It's sorta like my hatred of eggplant.  I don't hate it enough to not keep trying it, but whenever I try it, I realize I don't like it."  I don't hate eggplant at all, nor social software, but it doesn't do anything for me.  Email, web surfing, RSS, what more does one need?

CNet reports Google cache raising copyright concerns.  Is a search engine cache fair use?  I'll tell you, I've often considered linking to Google's cache when I find interesting content I know will drift behind a paywall.

John Robb left Userland Software, then abandoned his blog.  Mark Pilgrim marks the moment.

This is kind of cool - the "pirate keyboard".  The pro edition has a "belay" button as well :)

 

Monday,  07/14/03  11:44 PM

Are you following the Tour de Lance?  Today featured another close call: Armstrong keeps Tour lead on a harrowing day.  If you're a Lance fan the good news is that last year's runner-up and strong competitor Joseba Beloki is now out after a horrible crash.  The bad news is that Alexandre Vinokourov won the stage and is a mere 21 seconds back.  Lots of exciting racing left!

AOL and Tivo team up.  "America Online and Tivo detailed a new partnership under which TiVo users can program their machines remotely via AOL's online network."  I thought Tivo 2 users could already program their machines via the web.  So what does this add?  Marketing sauce...

Andrew Anker considers McProcessors.  "The microprocessor has come an incredibly long way when it is inexpensive enough to make its way into millions of throwaway toys that come free with a $2.98 meal."  And at the other end of the scale, we have today's laptops...

Electric Plaid - hand-woven textile or computer display?  "Electric Plaid is a revolutionary display technology used to create hand woven, sensuous individual artworks, interior design and architectural surfaces...  textile patterns and colors change magically before your eyes."  It looks pretty cool,but I wouldn't be caught dead wearing it :)

Finally - please welcome Sailing Anarchy to my blogroll.  Yeah, no RSS feed.  But they are really cool anyway, check 'em out.  (Thanks, Peter...)

 

Tuesday,  07/15/03  10:10 PM

Remember the war?  Yeah, that war.  Well Stephen Den Beste surveys current progress, and concludes things are going well.  He thinks the next step will be greater pressure on Saudi Arabia...

Motley Fool: The Twelve Simple Secrets of Microsoft Management.  #1 is Total World Domination: "Some companies focus on the bottom line. In contrast, every single Microsoft employee is single-mindedly focused on winning 100% of their target market."  Very interesting...

New Scientist: Creatures from Primordial Silicon.  Applied Darwinism to optimize silicon circuits!

It's a bird!  It's a plane!  No, it's the Troncycle, a new motorcycle from Dodge.  Okay, it's really called the Tomahawk.  But you can see it was definitely Tron-inspired :)

From mozilla.org we now have the Mozilla Foundation, "a new non-profit organization that will serve as the home for mozilla.org."  So be it.  We can only hope they'll keep the browser wars cookin'; right now they are on life support.  Meanwhile MozillaZine reports AOL cuts remaining Mozilla hackers.  In other words, mozilla.org is on their own.

Volkswagon and Apple have teamed up for a 'Pods Unite' marketing campain.  "VW buyers who take advantage of the promotion will receive a 15GB iPod and a 'connectivity kit.'"  Does this mean you can simply plug your iPod into the dash?  Don't know...

Grokster is releasing Grokster Pro, a $20 ad-free version of their file-sharing client.  Now you can pay to get free downloads.

Gizmodo wonders: if the FAA starts allowing cellphones in flight, will there be a non-talking section?  I hope so :)  Apparently Amtrak has designated "quiet cars" on many of its trains, but it doesn't work.

 

More Bridgework

Wednesday,  07/16/03  09:28 AM

On a UAL flight to Denver...

Okay, you remember the programmers crossing the bridge with the flashlight, right?  The other day I revisited the bridge, and we considered a factor missing from the original problem: the "carry" of the flashlight beam.  The original problem assumed a carry of zero, only the flashlight bearer and anyone traveling with him could see.  If we postulate a carry of 100%, the entire bridge can be lit at once, and the problem becomes trivial:

Alex + Sam -> far side, with flashlight (2 minutes)
Francis + Pat -> far side, lit from far side (8 minutes, total = 10 minutes)

How about a carry of 50%?  During the revisit I showed that the "carry 0" solution would be reduced from 15 minutes to 12½ (changes from carry 0 solution in red):

Alex + Sam -> far side (2 minutes); Alex only goes halfway
Alex -> near side (½ minute, total = 3 minutes)
Francis + Pat -> far side (8 minutes, total = 10½ minutes)
Sam -> middle of bridge (1 minute, total = 11½ minutes, this is the key!)
Sam + Alex -> far side (1 minute, total = 12½ minutes)

Is this optimal?  Well, no.  Mark Smith emailed the following solution:

Francis -> middle + Pat -> far side (4 minutes)
Sam -> far side, lit by Francis (2 minutes, total = 6 minutes)
Alex -> middle, lit by Francis (½ minute, total = 6½ minutes)
Francis + Alex -> far side from middle (4 minutes, total = 10½ minutes)

That looks pretty good!  It is only ½ minute slower than the 100% carry solution.  Is this optimal?  No!  Here's a slight improvement (changes in red):

Francis -> middle + Pat -> far side (4 minutes)
Alex -> far side, lit by Francis (1 minute, total = 5 minutes)
Sam -> middle, lit by Francis (1 minute, total = 6 minutes)
Francis + Sam -> far side from middle (4 minutes, total = 10 minutes)

Amazingly, this 50% carry solution is as good as the best 100% solution.  Or is it?  Maybe we have to check back on that 100% solution...  It sure seemed simple, like it couldn't be improved upon.  But check this out:

Francis -> middle + Pat -> far side, lit from near side (4 minutes)
Francis -> 3/4 + Sam -> far side, lit from near side (2 minutes, total = 6 minutes)
Francis -> 7/8, lit by Alex from near side (1 minute, total = 7 minutes)
Francis -> far side + Alex -> far side (1 minute, total = 8 minutes)

How about that!  With 100% carry all the programmers can cross in the time it takes Francis to cross the bridge by himself, with only two on the bridge at any one time.  That is optimal.  (In fact, the carry need only be 7/8 for the same solution.)

Now let's go back to the 50% solution.  How can we be sure 10 minutes is really optimal?  We do what all nerds do, we write a program!  In such a small solution space it is possible to stochastically examine all possible combinations of movement, seeking a minimum.  I did this - modeling the flashlight beam is a little tricky - and sure enough the 10 minute solution for 50% carry is optimal.  (Please click here if you want to see my code - and sure, you're welcome to do anything you want with it...)

Armed with this program, we can investigate other possibilities as well.  For example, what about 25% carry?  There's a non-obvious optimal solution, which I'll publish "soon"...  I don't know about you, but I don't think I'd expect a technical interview candidate to be able to solve this!

[ Later: Here's the 25% solution... ]

So adding one little factor - the flashlight carry - made the problem way more complicated (and even more interesting).  Want another factor?  What if you're allowed to throw the flashlight?  We'll consider the implications of flashlight "throw" on my next flight :)

 

Thursday,  07/17/03  11:20 PM

In Half Moon Bay, at the C-15 Nationals...

I just knew this was going to happen, but I didn't think it would happen this fast: Cafepress now lets you sell "print on demand" books with no upfront fee.  How long do you think it will take before we're reading about how the publishing industry is threatened by online "booksharing"?

VentureBlog considers VCs and Golf.  Included, the four biggest lies VCs tell:

  1. We knew this was coming.
  2. We have lots of dry powder to invest.
  3. We're doing more deals this year than we ever have.
  4. We think this is a time to build great companies.

It continues, "meanwhile, golf handicaps are plummeting"...

Are you a Tivo fanatic like me?  Then you must visit PVRblog.  Every day.  Without fail :)

Wired: Bionic eyes benefit the blind.  Wow.  "Earlier this year, three people were successfully implanted with a permanent 'retinal prosthesis' by researchers."  How cool is that?

Halley comments on Girlism.  "It will hit you so hard.  It will be SO under the radar.  It's already here.  It's over."  Cool.  I for one am ready, girlism seems much nicer than feminism.

Ottmar on why humans find music to be beautiful.  He thinks maybe music came before language.  Fascinating!

Rob Smith skewers Erin Brockovich.  (As does Time Magazine!)  I have to agree 100%, whatever the merits of her previous "crusades", the Beverly Hills High School cancer scandal is a trumped-up hoax.

Slate: Digging for Googleholes.  "Google may be our new god, but it's not omnipotent."  Well, true.  But it is way better than anything which came before or since.

Finally, you know how I keep talking about blogs vs. media?  Well, there was this tragedy today, an elderly man ran down a bunch of people at full speed in L.A.'s Farmer's Market.  You can read all about it on CNN.  Or you can read all about it on Andy's blog; he was on the scene.  Read the reports and compare...

P.S. Scoble has lost it - he thinks he's an ant.  Oh, maybe he is...  On the internet, nobody knows you're an ant :)

 

Even More Bridgework

Thursday,  07/17/03  11:45 PM

Okay, here it is, the optimal solution for 25% flashlight carry:

Alex -> far side, Sam + flashlight -> 3/4 across (1½ minutes)
Sam + flashlight -> 1/4 across (1 minute, total = 2½ minutes)
Sam + flashlight -> near side, Francis -> 1/4 across (2 minutes, total = 4½ minutes)
Pat + flashlight -> far side, Francis -> 3/4 across (4 minutes, total = 8½ minutes)
Alex + flashlight -> 3/4 across, Francis -> far side (2 minutes, total = 10½ minutes)
Alex + flashlight -> 1/4 across (½ minute, total = 11 minutes)
Sam -> 1/4 across, lit by Alex (½ minutes, total = 11½ minutes)
Sam + Alex + flashlight -> far side (1½ minutes, total = 13 minutes)

You can see how subtle the addition of flashlight carry to the problem really is.  In almost every case, a movement involves the flashlight holder remaining 1/4 from either side.  And notice that as Francis is crossing the bridge, first a programmer goes toward the near side (while he does the first 1/4), and then a programmer comes back from the far side (while he does the last 1/4).  It would be really hard for a human to examine all the possibilities and devise this solution, I think...

(If you have no idea what this is all about, please see the bridge of the four programmers, revisiting the bridge of the programmers, and more bridgework.  The program which found the optimal solution can be found here.)

 

Sunday,  07/20/03  11:10 PM

Well, I'm back.  Sailing in the C-15 Nationals was great because any time spent in a boat is better than any time spent not in a boat.  [ "Ole's Law" ]  Other than that there was no wind, and drifting around pretending to race is frustrating.  But at least it was time spent in a boat...

[former Oracle COO] Ray Lane: Why Oracle-PeopleSoft is a lose-lose.  Well we knew that already, but Ray has tremedous credibility.  Market roll-ups are not good for consumers, and Oracle-PeopleSoft is a market roll-up.  Meanwhile, PeopleSoft seals JDEdwards merger.

(click pic for movie)

Want to see something really coolHere we have a crow who figures out how to bend a wire to retrieve food.  Birds use tools!

In other bird news, my baby birds are flying!  It is so cute to see these little guys flying around, encouraged by the chirping of adults.  (In addition to the surviving parent, apparently other adult birds get involved in cheerleading the kids!)  Stay tuned - I'm going to try to get some pictures...

"The netscape dorm" - Jamie Zawinski's diary from the early days of Netscape.  To me it really gives the flavor of what start-ups are all about - that feeling that you're doing something important which makes everything fun, even when it isn't even fun.  Recommended!

AOL is beta-testing their new blogging facility; Dan Gillmor has one.  Looks pretty cool.  Maybe now people won't ask "what's a blog?" when the see me wearing my "I'm blogging this" T-shirt :)

Tim Bray: The door is ajar.  "Today, the human experience of the Net stands at a crossroads, paths diverging into the future, and nobody knows which one we’ll be on in a year."  Tim makes some interesting points, but I don't think "now" is as big an inflection point as Tim does - things on the 'net are evolving, as they always do, via natural selection...

Jim Moore, in an otherwise-unrelated post, blogs a great line: The best networks win.  Yep, and they win via natural selection; memes are very Darwinian.

This is special: the House of Representatives (our representatives, mind you) is considering legislation to make online file-swapping a felony.  This is so stupid!  File-sharing is a business issue, not something which requires political action.  Why don't they worry about public education instead?

Here's a great RFID application - tracking luggage.  RFID is really "a thing", we're going to hear more and more about it until it becomes taken for granted that everything is trackable.

Anyone tried Microsoft Reader for reading e-books?  It is being given away at the moment, along with 60 best-selling e-books during a 20 week promotion.  Somehow I'm not tempted to try it - yet.

Philip Greenspun: Boing ignores engineering.  "Boeing was famous for being an engineering-driven company, headquartered right next to its factories in the Seattle area.  [then] Boeing became a finance-driven company, run by guys in suits from a new headquarters in Chicago."  Very sad...

Lazlo looks really cool - "an XML-native platform for deploying rich Internet applications into any browser".  Unfortunately it seems a tad pokey, which is often the kiss of death for such technologies...

Larry Wall's seventh State of the Perl Onion.

More later, I have pattern recognition algorithms to debug...

 

Monday,  07/21/03  11:12 PM

Here we go again: "The order has gone out for a team of U.S. quick reaction force soldiers to be sent to Liberia where rebel fighters are attempting to create a "strangle-hold" on the capital."  Fasten your seat belts, and please keep your hands and feet inside the vehicle.

Remember how bizarre it was when Libya was chosen to chair the U.N.'s Human Rights committee?  Well, here's the result: UN farce as Libya judges Israeli rights.  You can't make this stuff up.  The U.N. has careened so far off course it is worthless and indeed counterproductive.

Steven Den Beste has the "microscopic view" of the war...  a lot of detail.  Worth bookmarking for future reference.

pods unite iPodOkay, the Pod's Unite thing is cool.  (A joint marketing venture between Volkswagen and Apple.)  But get this - the link between the iPod and the Bug is a humble cassette adapter.  You think they could have done better, huh?

So, the RSS saga takes another turn, as Dave Winer transfers the RSS 2.0 spec to the care of Harvard University's Berkman Center, where he is presently a fellow.  This solves the problem caused by the spec being in the hands of a commercial venture (Userland Software).  A good move, IMHO.  And in Dan Gillmor's HO as well...

Want to create an AOL journal?  Go hereI did.  Cool!

Tour de Lance update: Armstrong falls hard - and wins!  His lead is still only 67 seconds, much smaller than it has been at the 15th stage of his previous four victories.  There's a lot of racing left!  (I've been linking to Yahoo for Tour news, but check out Lance's own site as well...)

Walt Mossberg reviews the Fossil watch.  This is a watch which includes a fully functional Palm pilot.  As a PDA, he doesn't like it: "The Wrist PDA is much harder to use than other Palms or Palm-compatible devices...  The screen and stylus are simply too small."  But it has a feature he likes a lot: "the most interesting feature of the Wrist PDA has nothing to do with the Palm functionality.  In watch mode you can scroll through and select from a wide variety of different watch-face designs.  This is the first watch I know of that lets you pick the way its face looks and change that look as often as you like."  I wonder how long before someone writes a program to display an aquarium on the watch face :)

You know how hard it is to get radioactive ore, and other nuclear materials?  Well, consider United Nuclear!  They seem to stock everything :)  I am not making this up.

 

Tuesday,  07/22/03  10:05 PM

godless considers the eugenic effects of China's "one child" laws.  In addition to reducing population growth (not to be confused with reducing population), and increasing the man/woman ratio, there appear to be other selective effects, like filtering of genetic diseases and even selection for IQ.  A fascinating experiment only possible in a huge totalitarian country.

Thomas Scott: "On the shores of the United Arab Emirates, arguably one of the coolest (and certainly one of the largest) engineering projects in the world is taking place.  100,000,000 cubic meters of sand and rock is being formed into two huge, palm-shaped islands, each with about sixty kilometers of beach and big enough to be seen from space."  Woa.

This happens to be just outside Bahrain, and I happen to be reading a 50-year old novel by Nevil Shute called Round the Bend which takes place in Bahrain...  Things have definitely changed in that time.  The book is terrific by the way - about aviation, and philosophy, and religion...

Philip Greenspun suggests California be split into six "reasonable size states".  Despite all the many arguments for splitting up California (I've heard many for a North/South split), it will not happen; there are two intractable issues 1) water (North has, South needs) and 2) business tax revenue (South has, North needs).

Palm has introduced their latest handheld - the T2, featuring a "transflexive" display (whatever that means).

Halley thinks we should spend this Sunday with only one handheld device - a rock.  I've got mine ready...  P.S. Rocks can be used for remote communication over limited distances :)

Buy.com has launched an online music store to compete against Apple.  Tracks cost $.79, and are in WMD format (incompatible with most MP3 players!)  So close, but no cigar - MP3 player downloads are critical.  On the other hand they've targeted Windows users instead of Mac users (much bigger base) and they claim to have more music.  Interesting...

NYTimes considers micropayments...  Of all the attempts made so far, only PayPal has been a success, and they are not really micropayment-oriented.  But BitPass and PepperCoin are each making interesting plays...

Joi Ito: Thoughts on micro-content.  "So what's going to happen?  Microsoft will continue to dominate the desktop, but it will become less relevant as consumer electronics companies embrace open standards and use Internet web services and applications to make consumer electronics devices rich with content."  Hmmm...  I don't know if I agree with this.  For sure Scoble doesn't!

Tour de Lance update: Tyler Hamilton wins stage 16, Lance remains 1'7" ahead of Jan Ullrich.  Yeah, that is the same Tyler Hamilton who used to ride with the posties, and who broke his collerbone earlier in the tour.  He won after a 140km breakaway!  Wow.  (That means he was riding alone at the front for 85 miles!)

[ Later: check out this report on Lance's site - what a stage! ]

Want a CD changer but feel they cost too much?  Why not make one yourself - out of wood...  Excellent!  (I am not making this up.)

And while you're in homemade mode, you can do a cool casemod with plasma-plates...  Amazing what people do with their spare time, eh?

 

The Caravan Fallacy

Wednesday,  07/23/03  05:11 PM

A while back I suggested Caravans:

What if you built a feature on a car that automatically kept you as close as "safe" to the car in front of you?  {"Safe" would be determined by your current speed and your car's braking ability, and assuming the car in front of you has really good brakes.}  Call this "caravan mode".

Well, the other day I attended traffic school (!) and the instructor told the class the best thing to do in traffic is to relax and leave plenty of room between your car and the next one.  This makes traffic work more smoothly, he went on to explain.  Uh, no.  This being traffic school, of course I did not correct him (nothing is worse than a pissing contest between the instructor and a student in traffic school).  But his fallacy is a common one - perhaps you believe it yourself - and so I wanted to discuss this a bit.

Note: It may be more relaxing and less stressful and more pleasurable for you if you relax in traffic and leave plenty of room between your car and the next one.  That is up to you.  Just don't think that it is "making traffic work more smoothly" and that it is somehow more efficient.  That is the fallacy.

This hits at a crucial phenomenon which requires explanation - why does traffic move slowly?  Why can't everyone just drive 65mph, regardless of the number of cars on the road?  In fact, the speed at which traffic moves is precisely determined by the spacing between the cars.  The more cars in a lane, the closer together they are spaced.  Being spaced close together makes people nervous, so they slow down.  If all cars on the road were welded together at the bumper, everyone could go 65mph and there would not be any problem!

Think of it this way.  Suppose you have a bunch of cars in a lane, all going 65mph.  They are spaced as close as is comfortable at this speed.  Now add a new car to the lane.  What happens?  The car directly behind the new car slows down, because the driver wants to maintain a safe spacing.  What happens next?  The car behind that car also slows down, for the same reason.  In fact all cars behind the new car slow down slightly, to compensate for the extra space it requires.  Now add another new car to the lane.  What happens?  The same thing.  Keep adding cars and the average speed of all the cars behind the insertion point will keep slowing down.  That's traffic, pure and simple.

If you could make it safer for cars to be closer together, drivers wouldn't feel the need to slow down, and more cars could travel faster.  Consider the lane of cars at 65mph again, and say you are the first car behind the insertion point.  And - you have caravan mode.  This means you are following the car ahead at an optimally close distance, the minimum distance which is safe given the braking ability of your car, the speed of the distance sensors, etc.  (So there will be some extra space in the lane.)  Now a car is inserted.  You don't slow down, because you had the extra space.  You simply follow the new car at an optimal distance.  Now another car is inserted.  Same thing happens.  You can see that many cars can be inserted into the lane before finally you have to slow down.  And until you slow down, nobody behind you will either!  This is the beauty of caravan mode, and why it is optimal.

Furthermore, if each of the cars being inserted also had caravan mode, then the lane would be much more efficient.  You could add a lot of cars at 65mph without impacting the existing cars one bit.

Okay, so much for the fallacy.  This is one of those things that sounds great on paper, but it has to be proven.  I must build a prototype!

[ Later: Caravans Revisited - the future is here! ]

[ Much later: Caravans cont - back to the future ]

 

Wednesday,  07/23/03  11:33 PM

Paving new political ground - again - in California: Davis recall has enough signatures for ballot.  Here we go...

I saw Terminator 3 tonight.  Did not like.  Doesn't have the energy of the previous two, really seemed like a pointless vehicle for action sequences.  Linda Hamilton was missed.  Pales in comparison to the Matrix Reloaded.  Arnold, run for governer.  Please.

LAWeekly: Rarotonga or Bust.  "It only took about five minutes to wipe out any preconceived fantasies we had about island life."

Today Tivo announced Tivo Basic, a free basic service which comes with its PVRs.  You get 3 days worth of programming information, no season passes or wishlists.  Seems like a good "camel's nose under the tent"; I know a lot of people who are put off by any monthly charge.

There are probably six people in the world who think this parody is funny: FOAF splinters into 10 competing efforts.  I'm one of them :)

DaGoddess has the 44th Carnival of the Vanities.  Looks like this week we have a hospital theme.  My pick this week is Blogging Ethics, from the Accidental Jedi.

 

The Lead Bullet - Writing Specs

Thursday,  07/24/03  01:28 AM

Programming is hard

Programming is hard.  Everyone knows this; there are hundreds of books written each year about how hard it is and what to do about it.  Universities teach classes in managing programming projects, because the general difficulty of scheduling software is an acknowledged business problem.  Can nobody do anything to make it easier?

Well, people have tried.  They try all the time, and a lot of pretty innovative improvements to programming technique have come along.  Structured programming, object-oriented programming, functional programming, data-driven programming, even extreme programming have been devised.  New languages have been invented and new system architectures have been derived.  New development environments have been created, including spiffy on-the-fly compilers and interactive debuggers.  All of these things help, no question.  But the thing that helps most is writing good specifications.

Ask any programmer about writing specs, and they'll cringe.  Generally coders don't like to code in English.  So, if spec writing is the one thing that helps, why do programmers hate writing specs?

Writing specs is hard

Yeah, writing specs is hard.  Why?  What makes specs hard?  What makes anything hard?  And why do we resist doing hard things?

Okay, here we go, let's launch into a bit of philosophy.  First, things are easy when you know what to do.  Even if the thing you have to do itself is not simple, the overall task is still "easy", because it is fully understood.  Things are hard when you don't know what to do.  The act of figuring out what to do is usually more difficult and complicated than the "what to do" itself.  The reason spec writing is hard is that it requires figuring out how something is going to be built.  Essentially you must force yourself to be creative; you must derive a solution given a set of constraints.

So that's why writing specs is hard, now, why do we resist hard things?

I believe happiness comes from liking oneself.  Things which make you feel good about yourself are "fun", and things which make you feel bad about yourself are not.  Anything you don't know how to do is necessarily going to make you feel a little less good about yourself.  After all, if you were that good, you'd know what to do!  There is uncertainty; what if you can't figure out what to do?  Or what if you figure it out, but your solution proves sub-optimal?  The fear of failure hangs over any "hard" task.  It is actually must easier simply not to try than to try and fail, so we resist.  (This is related to the whole idea of Trying, see my essay on this...)

Writing specs is good

Okay, writing specs is hard, and we resist it, but why is it good?  Can't we simply avoid doing this thing which is hard :)

Unfortunately writing specs is good for the same reason that it is hard.  It requires figuring out how something is going to be built.  This figuring out is crucial.  It avoids a lot of blind alleys and wasted time, and this is why programming is made more efficient by spec writing.  Most of the time if you know exactly how to solve a programming task, writing the spec for that task is not hard.  It is only when you don't know what to do - when there is creativity involved - that spec writing is hard, and this is precisely when you should write specs.

In the old days (yeah, I'm dating myself here), programmers used to write code on paper first.  There was such a think as "desk checking", which essentially meant carefully reading your written-on-paper code to try to find errors.  Then you would laboriously keypunch the program onto cards, and run the deck.  Keypunching took a long time and fixing errors was difficult, and running a deck took a long time and fixing errors was even more difficult, so it really paid off to spend some time planning up front, and carefully desk checking code.

Now with fullscreen editors and interactive IDEs and incremental compilers and just-in-time debuggers, there is no need to do any planning.  You launch the IDE, you start typing some code, and poof - you run it.  If you have a problem, you figure it out.  The careful up-front planning is lost, as is the efficiency of thinking through a problem and its solution before diving in to implementation.  Writing specs is the best way to get that efficiency back.

Writing good specs is good

So writing specs is good, but certainly some specs are better than others.  What makes a good spec good?

First, you need the right level of detail.  There must be an overall description of the problem to be solved, from the user's point of view.  These are often called functional requirements, and are sometimes packaged as a separate document.  They are often written by product marketing folks rather than programmers.  (They may even be written by customers!)  Regardless, this information is crucial for a programmer.  They must understand the desired behavior of the program, its reason for being, and the other functional considerations.  This is the only way the programmer can develop a good solution.

Beyond the functional requirements, there must be information about the design constraints.  This includes compatibility with other software, tools to be used, target platform, support considerations, performance goals, etc.  The emphasis here should be on describing the constraints and goals of the solution without specifying the solution itself.  As a spec writer you want to leave the programmer as much scope for creativity in devising a solution as possible - especially if the programmer is yourself :)

Too much detail can be as bad as too little.  Overspecification is time-consuming and rarely helpful.  Specs can have GUI guidelines, but they should not contain pixel-perfect screen shots or detailed example reports.  Specs can give design considerations, but they should not dictate a design.

W=UH and specs

Okay, so spec writing is hard, and spec writing is good.  Doesn't this contradict the fundamental equation of life, W=UH?

At first glance it would certainly seem so.  After all, things which are hard, are wrong, right?  Well, no.  The problem is that writing specs cannot be considered in a vacuum.  We have to consider the whole task, which is to program a solution to some problem.  So we have to ask, which is harder:

  1. Programming without a spec
  2. Writing a spec, then programming

Overall, approach (1) is harder than approach (2), and uglier, and hence wrong-er.  Although writing specs is hard, programming without a spec is harder, since the spec makes the subsequent programming so much easier that the entire task considered together is easier as well.

Well maybe you accept that, but you're still troubled by the fact that writing specs is hard, and W=UH.  How can spec writing be made easier?  Here's some ideas...

  • Get as much functional requirement information as possible.  As noted above, much of the difficulty in spec writing stems from uncertainty.  So more information is good.
  • Leverage existing documents and code as much as possible.  Why reinvent the wheel?  Nothing is easier than cutting-and-pasting, both for documents like specs and for programs.  Often crafting a design in such a way as to allow document and code reuse is well worth it.
  • Leverage other people as much as possible.  Is there a product marketing person or salesperson who knows a lot about the problem to be solved?  Ask for their help.  Is there a customer who can help?  Very often customers and prospects will gladly document their requirements, simplifying the spec writing process and making it more likely the problem you're solving is one the customers care about.

If you can actually make spec writing seem easy, then you've truly got it made :)

 

Financial transactions, RSS and OFX

Thursday,  07/24/03  06:28 PM

RSS for financial transactions?

Today Dave Winer linked Deane Barker, who asked about a realtime RSS feed for credit card purchases.  Actually Tim Bray made similar mention a few weeks ago, asking for an RSS feed of his stock portfolio.  Jon Udell indicated [in email] that he'd like to receive higher-order messages from his bank in RSS - for example, periodic email alerts about an account being low, or about newly presented bills.

Introducing OFX

It turns out most large financial institutions support an XML-based standard called OFX.  (Open Financial Exchange.)  This standard was created in 1997 by Intuit, Microsoft, and CheckFree, as a way to interface personal financial managers like Quicken and Money to financial institutions like banks and bill payment services like CheckFree.  Most home banking vendors like Digital Insight support OFX as well, both as clients (they use OFX to get account information from banks) and as servers (they export account information to end-users as OFX).

In addition to account and transaction history, OFX also includes messages for bill payments and bill presentment.  Bill presentment has turned out to be a fizzle so far - there are too few billers which support it, and for consumers it is really only useful if the majority of their bills are presented electronically, so that they can get all their bills in one place.

I was with Intuit's Web Finance group for a couple of years, which included Online Bill Payment.  We worked hard to get billers to signup for bill presentment, which at that time we thought would be the Next Big Thing. We had a deal with AOL, a deal with Excite, etc. (This was 1999.) Quicken and Money have the ability to present bills right in-band, and OFX has the messages.  The big problem was getting billers to agree to present bills electronically.  You'd think billers would be anxious to save printing and mailing costs, but the big billers all value their relationship with their customers, which is currently mostly conducted through their statement.  (These are phone companies, utilities, cable companies, etc.)  Billers just didn't want to turn over that relationship to an online transaction system, even after we put a ton of branding in for them (including HTML links to their websites).  Today there are a number of bills you can get through "online bill presentment", but mostly when you want to pay a bill online, you have to do it through the biller's website, because of the customer relationship issue.

An interesting solution to the "all your bills in one place" was an idea several companies had at once; scan paper bills.  A company called Paytrust still offers a service which does this; overall it was a great idea but proved too expensive for most consumers.  The idea is that you tell all your billers to send your bills to an address as the scanning company, which opens your mail, scans all the paper, and then makes it available online through a website.  This makes it truly possible to get all your bills online, whether paper or electronic.

There are two main things offered by OFX which are slight complications over RSS.  First, there is security; OFX is always exchanged over SSL connections, with validation of server certificates by clients.  Also a client must establish identity through a logon sequence (typically userid/password, validated by server).  Second OFX servers support client-side state.  An OFX client provides the high-water mark of previously seen transactions (all transactions are sequence-numbered by the server), and the server then provides ONLY transactions newer than the high-water mark.  This enables small updates to be easily downloaded from large datasets (e.g. all the history on your credit card would make for a large message).

OFX vs. RSS

Both of these OFX features – security and client-side state – would be useful additions to RSS.  If added, they would bring RSS up to the level of OFX, but would not necessarily add anything to the OFX standard already in place.  There are already a bunch of defined XML tags for modeling financial transactions (these could be incorporated into RSS as a large “financial” namespace).  Additionally there is already software - like Quicken and Money - which “understands” OFX feeds, and incorporates the data seamlessly.  Such software wouldn't necessarily know what to do with RSS versions of the same data.

The idea of client-side state in OFX was really just born of expediency; the OFX designers realized financial institutions would be sending a ton of redundant information if all account history were sent every time. (And the target client base was mostly dial-up.)  There had to be a unique identifier for each transaction anyway (today we would call it a GUID :) and it was simple to have the server sequence-number each item.  Then a client would just keep their high-water mark, and send it on the inquiry request.  The server then could provide only items "newer" than then high-water mark.  If the client was confused or got reloaded or something, they'd just send zero and get everything again, but only the first time.

I actually think this form of client-side state would have value.  Using aggregators like Radio or SharpReader which poll every hour, typically when a blog has an update it is only one or two items.  But currently the aggregator pulls down the whole RSS feed, which could have a month's worth of items in it, and then filters the duplicates.  If the aggregator kept a high-water mark (GUID of last-seen item) for each feed, it could send this on the request (as an optional parameter on a GET) and servers which wanted could use this to optimize their bandwidth by sending only items newer than the high-water mark.  It wouldn't save me much on my blog, but really active blogs like Scripting News would probably save quite a bit of bandwidth over time.  This would be a strictly optional feature for both the client and server - if either doesn't support the feature there is no harm done - but given most RSS feeds are served by a few products (Blogger, Radio, Movable Type) and most RSS feeds are retrieved by a few products (Radio, SharpReader, NewsGator, etc.) the possibility of implementation seems pretty real.

What's next?

OFX is pretty entrenched now, with Intuit, Microsoft, CheckFree, and most large financial institutions already on board.  It isn't going anywhere.  Meanwhile RSS is also pretty entrenched now but not as a protocol for obtaining financial information.

Jon's point about getting alerts as RSS seems really well taken.  Many online services currently present such alerts by sending emails, but putting them in RSS seems very doable.  Of course you might have to add client identification but that isn't too hard - you could simply pass credentials in the HTTP Authorization: header.

I predict more and more business-to-consumer applications will use RSS as a communication mechanism, particularly if security and client-side state are added.  This could be done fairly easily with a namespace extension...

 

 

Thursday,  07/24/03  10:31 PM

Scoble: Linux is not Microsoft's enemy.  "OK, dummy, so if Linux isn't the main enemy of Microsoft, what is Microsoft's biggest enemy?  Analog thinking."  I hate to disagree with Robert, but I doAnalog thinking is the opportunity, not the enemy.  Digital solutions are the future in many fields, offering efficiency and functional advantages, and the competitor in providing many of these solutions is Linux.

Robert was commenting on Doc Searles' "Saving the Net" article, which is well worth a read.  Doc is a little hung up on the "who owns what" issue - this has been a longtime theme for him - but it has definitely been brought into sharp focus by the SCO lawsuits.  (There are actually big companies hesitating to deploy Linux now for fear of being targeted by SCO, which is [I'm sure] exactly what they were hoping for...)  Doc also discusses the infamous "Eldred" case.  "I believe Hollywood won because they have successfully repositioned copyright as a property issue."  I hadn't thought about it, but Doc is exactly right.

In other digital-rights news, Disney announced a distribution deal with Movielink to make recent Disney flicks available online.  Looks like the studios are learning from the record companies' experience!

On the other hand, the RIAA has gone crazy; they are now issuing subpoenas for parents and grandparents of suspected file-traders.  Ottmar Liebert says he's embarrassed to be a musician, but having enjoyed his work I think he should be very proud; it is the silly crazy weird RIAA which purports to represent the artists that should be embarrassed...

Robert X Cringley thinks the solution is Snapster (Son of Napster).  This sounds a lot like what MP3.com tried to do a while back; buy a bunch of albums, keep them online, and let people who already owned the albums listen to them.  He for sees a market cap of $33B...

Steven Den Beste in WSJ: We won't back down.  "The real reason we're in Iraq--and why we will stay."

The Onion has a great parody: Deficit-wracked Maryland calls it quits.  Of course this could be written about California with no parody at all; our $38B deficit is not even funny.  And it looks like Governor Davis is going to be called on it...

David Burbridge discusses the social issues of "growing old".  This is actually the main reason why declining birth rates don't imply declining population growth.  The U.N. usually misses this in their press releases about worldwide population...

If you want to see how this plays out in the U.S., check out this cool interactive map from USAToday, which shows state-by-state breakdowns of demographic information from the 2000 census.

Are senses a zero-sum game?  This post on GNXP suggests that humans lost their sense of smell to make way for more acute vision...  Interesting.  Clearly senses are not quite zero-sum, but there is a "cost" associated with each sense and anything which was not helpful to survival would get selected out.

Bored with conventional sports?  How about quantum soccer?  "the aim is to shape the wave function of a quantum-mechanical “ball” so that the probability of it being inside one of the goals rises above a set threshold."  And I thought Quiddich was cool :)

Southeast Airlines is offering free in-flight WiFi!  Talk about the wave of the future.  They are a small charter airline based in Largo, Florida.  As part of the same service they are offering in-flight cell phone usage.  This seems like such a no-brainer, I could easily see business travelers going well out of their way and paying significantly more for these services in-flight.  [ via Boing Boing ]

Andrew Anker writes about the importance of PR.  "... since PR has a difficult to prove ROI, it is becoming an unused tactic in these capital constrained times."  A great point.  And yet, getting "buzz" around your company and its products is as important as it always was.

And over here we have Darwinian Poetry.  I am not making this up.

Adam Curry's QOTD from Sir Winston Churchill:  "There are a terrible lot of lies going around the world, and the worst of it is half of them are true."  And the other 90% are not!

 

Sunday,  07/27/03  10:51 AM

Happy Anniversary - to me!  And to my wonderful wife Shirley.  We celebrated our 11th anniversary yesterday.  Wow, eleven years.  A lot has happened in that time, to us, and to the world!  Eleven years ago nobody had heard of the Internet, it was not a thing.  And now it is an indispensable part of many lives.  Amazing to contemplate, and to think what the next eleven years might bring...


Lots of catching up to do, it's all happening...

Well, Lance has done it again.  Five straight Tour de France victories.  Absolutely unbelieveable!  This was his toughest one, and in many ways his best.  The time trial yesterday was great; too bad Jan Ullrich fell in the wet conditions, it made for a bit of anticlimax.  But that's bike racing... sometimes you have to survive first, then win.  I think the key point of this Tour was stage 15 in the Pyrenees, when Lance fell hard, and then incredibly got up and powered to a stage win.  He just seems to have an extra gear when he needs it :)

Remember we were talking about Mitochondrial Eve, and how humans were first found about 160,000 years ago in Africa?  Well, turns out humans came to North America much later, only about 18,000 years ago...  There is evidence from Y chromosome studies that the first Americans came over a land bridge from Asia.

pretty womanHere's an interesting post on what makes faces attractive.  [ via GNXP ]  This is an especially interesting discussion considering the natural selection considerations; somehow there must have been selective pressure for "attractive" faces, or we wouldn't find them important in choosing a mate.

Also in GNXP: Genes, Medicine, and the New Race Debate.  [ Originally from Technology Review, but behind a paywall ]  Researchers are using the data from the human genome project to construct a "haploid map", which defines the boundaries of each haplotype block, a kind of grouping of genes along a chromosome.  "The most immediate impact of the HapMap is likely to be the prediction of how a patient will respond to a drug."  One of the holiest grails in biotech right now.

More on RFID; Salon says everything is watching you.  Not yet, but soon...

Recent reports from AOL and SBC seems to suggest DSL is gaining on Cable, in the neck-and-neck race to bring broadband to the U.S.  Interesting.  I've had both, and I can honestly say cable is better.  Faster, anyway, and at least as reliable.  With cable you get 300K+ downloads all the time, whereas with DSL you only get about 100K.  Uploads are slower - and you can't host a server on cable - so that's the downside, but for the average couch surfer that doesn't matter.

CNet report Microsoft considering Music Store.  Excellent, welcome to the party.  Yet another case where MS would follow Apple into a new market / technology, and perhaps yet another case where they'd be more successful over the long haul.

Anil Dash writes about Microsoft: many years of sucking.  He picks on the font installation dialog, which has sucked for ten years.  There are these little backwaters of Windows which never seem to get any attention.  That funky dialog box you get when you first use a help file (which Joel likes so much) comes to mind.  It is probably unfair to judge the entire company, or Windows, by one anachronism, but it is fun...

Check out these amazing optical illusions.  The one at left is my favorite; no matter how hard my brain tries to tell my eyes the lines are straight, they want to say they're curved.  Cool.

 

Third-Party C++ Children

Sunday,  07/27/03  06:09 PM

The problem

Suppose you have an application which provides "core" functionality for other developers.  Suppose you want to expose functionality as C++ classes, rather than via APIs.  Suppose you want to enable extension of those classes by third-parties.  What are the pitfalls?  How do you avoid them?

Discussion

Let's say you expose functionality via a class cBase.  This class can be used "as is", but is really intended to be used as a base class for other classes (created by third-parties):

class cNew : public cBase {...}

The third-party code is going to create cNew objects (your code doesn't know about them), and when your code interacts with these objects you can only treat them as cBase objects, not cNew objects (because, again, you don't know about cNew).

Therefore you have to make any methods you intend to make overrideable as virtual methods:

class cBase {
public:
    virtual ~cBase();         // make destructor virtual
    virtual void myMethod();  // a virtual method

Now in your code you deal with cBase pointers, which are really pointing to cNew objects:

cBase *pObj;                  // pointer to cBase / cNew

pObj->myMethod();             // could call cNew's method

Virtual methods are called indirectly through a vector table in the object; if the pObj pointer was pointing to a cNew object, then the myMethod() pointer would have been initialized to point to cNew's myMethod by the cNew constructor.

This is the intent of virtual functions, and it works great.  So...

Back to the problem

Now suppose you've released cBase into the field, and a bunch of third-party developers have created various cNew classes based upon it.  You cannot change the interface to cBase in any way!  Nope, not even if you're careful to keep all the old methods backward-compatible.  The problem is that if you add a new virtual method to cBase, its vector table is going to get bigger.  The vector table in objects made by existing third-party code will be incorrect (because it won't have the correct number of vectors for cBase).

It is really unlikely that you'll never want to enhance cBase.  Furthermore, it is even more unlikely that you'll be able to distribute an updated cBase header to each third-party developer, and it is astronomically unlikely that they'll update their code and successfully distribute it to each of their users.  In other word, backward-compatibility with "old" third-party code is essential.  What do you do?

The solution

The solution is simple - you extend cBase by deriving from it.  You create a new class for your code's use:

class cBase2 : public cBase {...}

In your code, anywhere you can you should assume you have a cBase object, as in the example above.  If you have code which must "know" whether you have a cBase2 object, then you have to ask the object what it is.  For this you need a getVersion() method.  And you have to build this into cBase:

class cBase {
public:
    virtual int getVersion(return 1);  // returns cBase version

Note that getVersion() is virtual.  Later, when you create a cBase2, you can do it like this:

class cBase2 : public cBase {
public:
    virtual int getVersion(return 2);  // returns cBase version
    virtual void newMethod();          // method only in cBase2

Later there may be a cBase3, and a cBase4, and they will all return different versions.

Now that we have getVersion(), we can write intelligent code to behave appropriately with both "old" and "new" objects:

cBase *pObj;                           // object pointer

if (pObj->getVersion() == 1) {         // if object based on cBase
     // do something intelligent with "old" object
     }
else {
     cBase2 pObj2 = (cBase2*) pObj;    // cBase2 pointer

     pObj2->newMethod();               // now can call new method
     }

This way you will always provide support for those "old" third-party objects that may be out there.  And you can enhance the support for the "new" objects.  Having created cBase2, what do you do with your third-party developers?

Simple: you distribute the cBase2 header (which includes the cBase header) to all third-party developers.  Any developer who wants can take advantage of the new capabilities by deriving from cBase2:

class cNew : public cBase2 {...}

And the old school developers who don't want or need the new functionality can continue to derive from cBase, with no loss of support.

This technique benefits your developers, too; they might well have modules which need to detect "old" modules at customer sites, and can use the getVersion()method to do it.

That's it - please let me know if you have questions or suggestions.

 

 

Monday,  07/28/03  11:22 PM

Anyone understand why the Sony Glasstron didn't become a huge hit?  Why aren't they everywhere and being used for everything?  I don't get it.  (Although curiously, I have no desire to get one :)

This category might end up being like PDAs.  Before Palm a bunch of companies tried to make "palmtops", but none found the right formula.  Then Palm did - they became a huge success - and suddenly we have dozens of companies in the space.

The SETI@home people have published a skymap of the most promising signals found so far.  No E.T.I. yet...

The U.N. has released their 2003 Human Development Reports.  A great mine of information.  I can't believe how high the life expectancies are - in Japan, the average child born today can expect to live to be 81!  To maintain that average, there must be a lot of people over 90, and even over 100...

Here's a fascinating article: Johnny can't add (but Suresh Venktasubramanian can).  "Here is a pattern I've noticed in countless organizations at the high end of the research spectrum.  In the personnel lists, certain groups are phenomenally over-represented with respect to their appearance in the general American population: Chinese, Koreans, Indians, and Jews."  It isn't politically correct to notice, but it sure rings true.  Meanwhile BusinessWeek notices The Gender Gap, which I've written about before.  "In every state, every income bracket, and every racial and ethnic group, women reign, earning an average 57% of all BAs and 58% of all master's degrees in the U.S."  Among other effects, these highly educated women will of course - on average - delay child rearing, thereby slowing their effective birth rate and exacerbating Unnatural Selection.

Wired reports: "Engineers at the University of Calgary have developed a pill that, once swallowed, will determine how healthy or ill the patient is, and will release just the right amount of medicine accordingly."  Wow.  Sounds like something out of a movie.  Oh, yeah, it was.

Remember the Apple Cube?  Well apparently it is alive and well, and still being sold!  The little boxes are loved by their owners and coveted by collectors.  Apple "only" sold 150,000 of the cubies, so it was a commercial failure, but everyone who's seen one agrees it was an artistic success.

Mitsubishi engineers have unleashed their latest creation: a beer glass which signals it is empty using RFID.  (Okay, now do you believe me that RFID is everywhere!)  "It is a common problem – you are in a bar or restaurant with your drink almost gone and you are desperately hoping that one of the staff will notice and offer you a refill."  I am not making this up.

Lindows has announced a $169 PC!  No hard drive, it boots from a CD.  Probably a pretty decent machine if all you do is surf and do email.  And this price brings PCs into a whole new market.

Check out virtual putt-putt golf.  This is really cool! 
[ via Silflay Hraka ]

Probably only of interest to three [nerd] readers, but...  I *finally* changed my RSS feed to contain absolute URLs.  This matters to some aggregators which can't resolve relative URLs, so if you're using one of them, you'll be happy.  I also incorporated the "Dublin Core" namespace for some fields (like <dc:creator>) which don't have baseline RSS 2.0 analogues.  If you don't know what any of this means, don't worry; that's probably healthy :)

 

Wednesday,  07/30/03  10:44 PM

Charles Krauthammer in Time: The Sleepy Superpower Awakes.  An interesting discussion about the changing military strategy of the world's only superpower post-9/11.

Steven Den Beste is in rare form considering fanmail from flounderers:

"Well, let's try a little thought experiment.  Let's schedule a debate, and invite a lot of voters.  The first speaker stands up and makes a case for one position, laying out his explanation of why the problem happened, and then saying what he thinks needs to be done to solve it, and explaining why he thinks it will help.  Then he sits down.  His opponent, on the left side of the stage, stands up, grins at the audience, and pulls his pants down and moons the first speaker.  He then returns his pants to their customary position and returns to his seat.  End of debate.  If the audience was not partisan ahead of time, which advocate is more likely to have convinced them?"

I love it.

Here's a strange feedback loop...  The Houston Chronicle reports: "Global warming, which most climate experts blame mainly on large-scale burning of oil and other fossil fuels, is interfering with efforts in Alaska to discover yet more oil."  [ via collision detection ]

Clay Shirkey ponders the backchannel.  "It doesn't matter if the Wifi backchannel is a bad idea; it's not going away."  I had the exact same reaction he did to the famous "calculators in school" debates, and I have the exact same reaction he does to the WiFi backchannel.  It is what it is - move along.

John Robb thinks AOL's new strategy is a lot like Time Warner's old strategy - exemplified by the famous pathfinder.com debacle.  "For those that don't remember Pathfinder circa 1996, it was an attempt by Time Inc. to bundle and repurpose all of its media properties into a single destination site.  It was a monumental failure.  Its return in AOL 9.0 is testament to the evaporation of AOL's braintrust."

Dave Winer: What changed with RSS?  "Okay, so RSS needs defenders and explainers.  Good news, it has them."  This is the kind of thing Dave is talking about: How to Create an RSS Feed With Notepad, a Web Server, and a Beer.  I suggest Heineken Dark.  Meanwhile, Mark Pilgrim gives an Atom API primer.  Although I think Pie -> [N]Echo -> Atom is getting another new name...

Dave also claims to be working on an the long-delayed unified spec for the MetaWeblog API.  Excellent.  As someone who has tried to code for it, I could have used it.  Heck, by the time I was done, I could have written it, and almost did :)

Ottmar Liebert has experience with the Sony Glasstron I blogged about: "I thought the image quality wasn't very good - you could see the pixels - and using it made my stomach queasy!"  So be it, another device ahead of its time, technology-wise...

Here's another cool gadget: the Prismiq.  "Play MP3s and video files, view photos, stream Internet radio, chat with friends, and browse the Web - all from the comfort of your home entertainment center."  Can anyone seriously doubt that this type of device will be part of every TV at some point in the near future?  [ via PVRBlog ]

And here's another technology of the near future: the Canesta light keyboard.  This addresses the biggest UI restriction of handheld devices; you could easily imagine this type of keyboard becoming part of every 'phone and PDA.  It might not have the same tactile feedback as a "real" keyboard, but it is much better than a little teeny thumbboard.

BW ponders Verizon's Gutsy Bet.  We're talking fiber to the home, the last mile.  "'This is not a trial.  It's a deployment,' says Bruce S. Gordon, president of Verizon's consumer division.  'The decision has been made, and it will happen.  There's no going back.'"  Excellent.  There may be a day when cable modems and DSL seem as anachronistic as, well, dial-up modems.

Meanwhile, Cox tests Internet Phone Service.  "Cox Communications will begin testing different voice over Internet Protocol (VOIP) telephone subscription plans later this year."  Yeah, I bet VOIP will work great once we have fiber to the home :)  So will multiplayer gaming.

Wrapping up, from the WSJ we have the latest trend: spotting trends!  I am not making this up.  "Suppose that all of a sudden, everyone, everywhere stopped following trends.  Would that in itself constitute a trend?"  How the heck did we keep up with all these trends - like avoiding trends - before the Internet :)

 
 

Return to the archive.