Thursday, September 30, 2004

For Brian

Brian Levine is a friend and co-worker. We've worked together for several years at Iris, Blue Ripple and now IBM. Despite Brian's well-earned reputation for speaking his mind, he has yet to set up a weblog. I thought for sure that once he saw my blog he'd be convinced that clearly anyone can do this.

Brian's father, Milton Levine, passed away a few months ago. Brian has set up web pages for friends to read about his father and to share the thoughts of family and friends. You can read it here.

Is It Safe?

I have a new dentist. He's great. I had an appointment this morning to have a filling replaced. A dental procedure is an odd social experience. You are unable to speak clearly. You willingly let someone sticks sharp instruments and a high-speed drill into your mouth. You can't see what's going on. The dentist and assistant speak dental jargon so you don't really know what they're doing.

Is it safe?Normally I let my mind drift away from the procedure. But this morning I starting thinking about movies. Given the context, I immediately thought of Marathon Man and the evil Dr. Szell.

If you remember the film, at one point Szell has taken Dustin Hoffman's character (Babe) hostage. Babe doesn't really know what's going on. Szell needs to know if Babe's brother, a government spy, has told him anything. He needs to know if it is safe for him to go to pick up a large cache of diamonds in a safe deposit box. Szell uses a dental drill on a strapped-down Babe:
Szell: Is it safe?... Is it safe?
Babe: You're talking to me?
Szell: Is is safe?
Babe: Is what safe?
Szell: Is it safe?
Babe: I don't know what you mean. I can't tell you something's safe or not, unless I know specifically what you're talking about.
Szell: Is it safe?
Babe: Tell me what the "it" refers to.
Szell: Is it safe?
Babe: Yes, it's safe, it's very safe, it's so safe you wouldn't believe it.
Szell: Is it safe?
Babe: No. It's not safe, it's... very dangerous, be careful.
Before you get the wrong idea let me reiterate. I have a great dentist. And no, he never asked "Is it safe?".

Hitchhiker's Guide to the Galaxy: The Adventure Game

The BBC website has a Flash version of the Hitchhikers' Guide to the Galaxy text-based Infocom adventure game. The Infocom game was released in 1984. It's fun in a retro sort of way.

Wednesday, September 29, 2004

Really Big Boats

Jim Clark, founder of SGI and Netscape, has a new boat. It's the world's largest three-masted schooner. It's called "Athena" and is almost 300 feet long with a keel 18 feet deep. The mast is so tall, it barely fits under the Golden Gate Bridge. That's really big. But Athena isn't as large as Paul Allen's 400-foot mega-yacht. Nevertheless, I think Clark beats Allen on style points. The Athena looks beautiful. (Via Om Malik)

Does Your Code Suck?

Chances are that some of your code sucks. It's okay to admit it. Some of my code sucks too. Dave Astels enumerates what aspect of your code may suck (e.g. it isn't testable, it's hard to read, etc.). One of the comments to Dave's post references a pretty good rant by Michael Feathers on unit testing. Whether you use stubs, mock objects or some other approach, there's a huge win when you're able to test your code in isolation. And your code will suck less.

Grand

Blogger tells me that I've got over 1,000 posts now. I feel like I ought to do some scheduled maintenance. Change the oil, rotate the tires, whatever. Maybe I'll finally get around to redoing the layout...

Boiling Oceans For 128-Bits

As described in this article, ZFS is Sun's new 128-bit file system for Solaris 10. Some companies already have datasets on the order of a petabyte (250 bytes). So we're only 14 doublings away from the 64-bit storage limit. That's why they went with 128-bit.

Will 128-bits be enough? According to this article, it will have to do, at least with earth-based storage:
In particular, it has been shown that 1 kilogram of matter confined to 1 liter of space can perform at most 1051 operations per second on at most 1031 bits of information ... A fully-populated 128-bit storage pool would contain 2128 blocks = 2137 bytes = 2140 bits; therefore the minimum mass required to hold the bits would be (2140 bits) / (1031 bits/kg) = 136 billion kg.

To operate at the 1031 bits/kg limit, however, the entire mass of the computer must be in the form of pure energy. By E=mc2, the rest energy of 136 billion kg is 1.2x1028 J. The mass of the oceans is about 1.4x1021 kg. It takes about 4,000 J to raise the temperature of 1 kg of water by 1 degree Celsius, and thus about 400,000 J to heat 1 kg of water from freezing to boiling. The latent heat of vaporization adds another 2 million J/kg. Thus the energy required to boil the oceans is about 2.4x106 J/kg * 1.4x1021 kg = 3.4x1027 J. Thus, fully populating a 128-bit storage pool would, literally, require more energy than boiling the oceans.
I love crazy stuff like this.

BlueGene/L is #1

Today, IBM unveiled the new leader in the fastest supercomputer race. BlueGene/L can perform 36 teraflops (1012 floating-point operations per second). This surpassed the mark set by Japan's Earth Simulator built by NEC (which achieved 35.86 teraflops). The prototype BlueGene/L is powered by 16,000 IBM PowerPC chips. While the margin over the Earth Simulator is small, BlueGene/L is also a much smaller and more efficient design. The full Blue Gene/L machine that's being built for Lawrence Livermore will have a peak speed of 360 teraflops. It's scheduled to be completed next year.

Java imports

Here's an aspect of Java imports that I've gone back and forth on. Now I'm firmly in one camp and thought I'd post about it.

An explicit import in Java does a couple of things. First it provides a short name for a class in another package (e.g. List rather than java.util.List). Second, it documents an external dependency (e.g. this class uses java.util.List). This is great and so much nicer than the "header file hell" of C/C++.

But what does a wildcard import mean? (e.g. import java.util.*;). It's intended as a convenient way to avoid multiple import statements but it introduces ambuguities with duplicate short names. For example, if I import java.util.* and java.awt.*, which List class I get depends on the order of the import statements. This doesn't work well as packages evolve. Code that compiles today may break tomorrow. Second, it doesn't properly document which classes from these packages I actually use. So I do not use wildcard imports. This isn't as onerous as it may sound. Here's why:
  1. I rarely type import statements anyway. I let Eclipse handle them for me. Eclipse does a much better job of managing and organizing imports automatically than I can.
  2. The Eclipse 3.0 Java editor automatically folds imports so that I don't have to look at them if I don't want to.
  3. A class with dozens and dozens of import statements may indicate too much coupling of classes and may need refactoring.
  4. Explicit imports are easy to scan for using simple text tools. You won't catch classes that are dynamically loaded via Class.forName() but it will find everything else. This is a good thing.
So what do you think?

An End to Computer Viruses and Spyware?

Dru Nelson has written an essay that posits that an end to computer viruses and spyware is near. It's an interesting read. Dru believes that two fundamental changes can make this happen: 1. Hardware and OS-level integrity enforcement (e.g. page-level execute permission bits) and 2. All code that is run on a system is signed.

The execute permission stuff is interesting. For Win32, this takes advantage of the No-Execute (NX) feature of AMD64 processors. As long as the OS itself implements the page execute bits properly, this should substantially reduce code injection exploits.

I'm more skeptical of signed code. There are a number of issues:
  1. Certificate authorities are businesses. Their main interest is taking your money for generating certs. Can you really trust who is behind the certs that they issue? For example, a few years ago VeriSign issued two certificates to someone posing as a Microsoft employee.
  2. The average user doesn't understand the implications of security trust alerts (e.g. "Do you want to trust John Doe Software or not?"). And even if they did, human nature being what it is, users quickly get used to clicking "Yes". The case where they shouldn't trust signed code will be missed.
  3. If adequately trusted certs are expensive or onerous to acquire then small vendors, freeware, shareware, etc. will dry up.
  4. What do we do with all of the useful unsigned code that exists today? In many cases, it's impractical to retroactively sign the code. Disallowing unsigned code to run is likewise impractical. And once you let some untrusted code run, how do you avoid exploits?
I'm not saying that signed code is worthless. It's a very useful concept but it's no panacea. Other technologies such as sandboxed or "managed" code will help eliminate exploits as well. In the meantime, use a firewall, keep virus definitions up-to-date, scan for viruses and run malware checkers frequently. That's the price we pay for our "always connected" world.

Tuesday, September 28, 2004

Turn Right Here

1976 GolfShortly after getting my first job after college, I visited a couple of ex-roommates who lived on Long Island. We went out to a comedy club and then drove around for a while in my old Volkswagen Golf. One of them was giving me directions. While driving down a dark side street he said: "turn right here". It was pretty dark and I turned on to what I thought was the street. In reality I had turned onto the tracks for a rail line. The car went down an incline and we stopped in the gravel on train tracks. D'oh.

We got out and started to argue about the meaning of "turn right here". Obviously, as the driver, I was at fault but I wasn't about to admit that. Then we moved on to a more pressing topic: "So when does the next train come through?". We probably weren't in any danger of "death by train" but it was late at night and he wasn't sure if it this was a commuter rail line or for freight trains. In any event, worrying about trains when you're stuck on train tracks is hard-wired by years of exposure to cartoons and movies. To add to the drama, we heard a couple of rumbling noises off in the distance. Hmm, is that a train?

We decided to try to get under the Golf and push it up the incline, off the tracks and back onto the road. Fortunately the Golf is a light car so this was easier than we expected. We piled back in, drove off and never spoke of it again.

Shaun of the Dead

I saw Shaun of the Dead last night. It's billed as a romantic comedy with zombies (a Rom Com Zom?) The idea for the film was inspired by an early episode of the Channel Four series Spaced. Shaun and his roommate Ed are slackers, coasting through life. Shaun has a crappy job at an electronics store. Ed has no discernible occupation. They spend most of their time at the pub or playing videogames. They barely notice when the world outside is filled with zombies.

While zombies may not seem to be a good premise for comedy, this film is quite funny. George Romero, creator of the original Undead epic, "Night of the Living Dead", agrees. If you're in the mood for a rom com with some zom, go see it.

Monday, September 27, 2004

Cleaning pennies with taco sauce

Why is taco sauce effective at cleaning pennies? Michael Pusateri has figured it out. My son did an experiment in camp last summer with vinegar and salt but I didn't know why this worked. The explanation at the end of Michael's post tells the full story.

Looking Through A Glass Onion

The other day when I mentioned the musical version of The Last Starfighter, I wanted to link to a story from last year on The Onion about George W. Bush being inspired to enter politics after seeing the film. Unfortunately, access to articles in The Onion that appeared earlier than the last four issues now requires "premium" access. Bummer.

Ah, The Internet Archive has it cached.

Sunday, September 26, 2004

Bonjour paresse (Hello Laziness)

The general manager of my first software company was French. He was brought in to manage the company after it was acquired by a French multinational. He used to tell us how happy he was to be working in the United States after dealing with the bureaucratic mess at companies in France.
I thought of him when I heard about the book Bonjour paresse (Hello Laziness) which currently occupies the number one spot on Amazon's French website.

The author, Corinne Maier, works as an economist at state-owned Electricité de France. Her book is a slacker's bible; a manual for those who devote their professional lives to the sole pursuit of idleness. Here are her ten commandments for the idle:
  1. You are a modern day slave. There is no scope for personal fulfillment. You work for your pay-check at the end of the month, full stop.
  2. It's pointless to try to change the system. Opposing it simply makes it stronger.
  3. What you do is pointless. You can be replaced from one day to the next by any cretin sitting next to you. So work as little as possible and spend time (not too much, if you can help it) cultivating your personal network so that you're untouchable when the next restructuring comes around.
  4. You're not judged on merit, but on whether you look and sound the part. Speak lots of leaden jargon: people will suspect you have an inside track
  5. Never accept a position of responsibility for any reason. You'll only have to work harder for what amounts to peanuts.
  6. Make a beeline for the most useless positions, (research, strategy and business development), where it is impossible to assess your 'contribution to the wealth of the firm'. Avoid 'on the ground' operational roles like the plague.
  7. Once you've found one of these plum jobs, never move. It is only the most exposed who get fired.
  8. Learn to identify kindred spirits who, like you, believe the system is absurd through discreet signs (quirks in clothing, peculiar jokes, warm smiles).
  9. Be nice to people on short-term contracts. They are the only people who do any real work.
  10. Tell yourself that the absurd ideology underpinning this corporate bullshit cannot last for ever. It will go the same way as the dialectical materialism of the communist system. The problem is knowing when.
It's intended to be funny, like Dilbert, but a lot of this is reality for some people. An NPR interview with Maier can be found here.

Of course, the "pursuit of idleness" isn't unique to France. Given the lukewarm state of the job market in the United States, I've heard that lots of people are just biding their time in jobs that they despise. There's even a term for this. It's called warm-chair attrition.

Spiders From Mars

The kids and I were looking at spider webs this weekend. We have a couple of persistent garden spiders in the front yard. One has been building webs near the side of the driveway all summer long. One time it built a web stretched from a shrub onto the side of our minivan. On Saturday its web stretched across the walk to our main entrance. We had to knock down the long end of the web to get by. The web partially collapsed and the spider scurried away. This morning he was back with a new web.

This time his web avoids crossing the walk. He had flung his line up into the ornamental cherry tree. It's amazing how light and strong spider web lines are.

How do spiders create such huge, complex webs working alone at night? It's a clever piece of engineering programmed into the spider's brain. Here's an animation that shows how the spider gets started and lays out the web. The web begins when the spider tosses out a long line and waits for it to stick to something. Wherever it sticks, the web gets built. There's a lot left to chance. The spider's diet depends on a random harvest of bugs flying through its web and getting snared. In a sense, a spider is the ultimate entrepreneur. No bugs and the spider dies. But sometimes they score big.

A second spider has a web between a shrub and our house. Same species. We noticed that he would either stand in the middle of the web or hide under a ledge. In the latter case, he had a line tied to him and whenever anything touched the web he would instantly spring out and investigate. A bug in the web would get wrapped up in seconds and left on the web. A leaf or other debris would be cut from the web and discarded. Last night he caught something really big.

It's a little hard to see. The spider is under the ledge. It's not clear what he caught. It's wrapped up in silk. Maybe a large fly? He still has a line connected to the web but he ignored any web activity. There were a couple of small flies caught in the web. He probably had enough food for the rest of the season.

Talking about spiders reminds me of an essay I read in a Psychology course in college. Scientists gave psychoactive drugs to spiders. The spiders would spin their webs in different ways depending on the drug. Spiders given marijuana made a reasonable stab at spinning webs but appeared to lose concentration about half-way through. Those on speed would spin their webs with great gusto, but apparently without much planning leaving large holes. You can see examples of the drug-altered webs here. Note: The spider specialist from the Natural History Museum in London who's quoted in the article, Paul Hillyard is the brother of someone I used to work with. I remember thinking how odd it was to devote an entire career on spiders. Now, years later, here I am writing about them.

Saturday, September 25, 2004

Sky Captain and the World of Tomorrow

I saw Sky Captain and the World of Tomorrow last night. I didn't originally intend to see it but the reviews were very positive. The trailer makes the film seem campy. It's not. It feels like a 1930s serial done with modern technology. Except for the actors, the film is entirely synthetic. It's the retro-future vision of writer/director Kerry Conran. He started out with a six-minute demo of computer-generated robots trampling through New York City. For a first film it's very impressive work. I just wish the script was better. It's beautiful to look at and there are some spectacular action scenes but they don't have a decent story to move along.

Friday, September 24, 2004

Inside the new iMac G5

Let's say that you just got a new iMac G5. Lucky you. What is your first impulse? Me, I'd unpack the box and set it up. This guy decided to take his apart first. Good for the rest of us who are curious about the innards but it probably voids his warranty. I like the little cooling fans. (Via Slashdot)

Thursday, September 23, 2004

The Garden of Peace Memorial

The dedication ceremony for The Garden of Peace Memorial is being held this afternoon in Boston. The memorial will commemorate victims of homicide. Kathleen Mary Dempsey is one of those victims. She was murdered in her Lexington home in 1992 by an unknown attacker. Ms. Dempsey managed to call 911 for help but the call was dismissed as a prank by the dispatcher. Five hours later, another dispatcher reviewed the tape and sent help. By then she had died. I didn't know her but I came to know her story.

In 1997 I served on a jury for a civil case brought by her estranged husband against New England Telephone. The claim was that negligence on the part of the 911 operator had contributed to her death. I didn't know about it at the time but it was a big case that had taken years to come to trial. The lawyers challenged quite a few people from the potential juror pool. Neither side challenged me so I remained.

It was a long and difficult trial. I had served on juries twice before, both relatively minor criminal cases that were over in a day or two. In this case there were a lot of witnesses and hours and hours of testimony. On the jury, we were each allowed to keep notes in a notebook which was surrendered at the end of each day. The notebooks were destroyed after the trial. There were expert witnesses on both sides including Dr. Michael Baden, a well known forensics pathologist. A lot of the testimony was graphic. There were crime scene photos and autopsy reports. And then there was the tape of the 911 call. We had to listen to it over and over. It was so horrible. The fact that no one had been charged with this murder made it even worse. It was a civil case but with much of the testimony and evidence that you'd have in a criminal case. The big difference was that there was no murder defendant.

At the same time that this trial was underway in Middlesex County Courthouse, sentencing in the Louise Woodward case was going on. It was a media circus. The courthouse was surrounded by satellite trucks, worldwide media, people supporting and protesting Woodward, etc. Surreal.

After several days of testimony and several hours of deliberation the jury found that the phone company was negligent but did not award damages because the negligence did not contribute to Ms. Dempsey's death.

It was a tough decision. We argued back and forth. We kept listening to the 911 tape to decide whether we believed that the 911 operator had done her job or not. We reviewed the medical testimony from both sides as to whether she would have survived the attack even if the 911 operator was negligent. Based on the evidence that was presented, we came to a decision that we all felt was consistently supported by the evidence and testimony. Our job was narrowly defined within the law and the judge's instructions. I'm sure that Ms. Dempsey's family was disappointed by the verdict. Obviously we didn't experience the pain felt by her family and friends but we all felt pain during this trial. And it's so sad that's there's no closure. The attacker was never caught; the crime is still unsolved.

As I said, the case was against New England Telephone (Bell Atlantic by the time of the trial, now Verizon). We never heard testimony from the original dispatcher. I learned after the trial that the family had earlier settled a suit against the Town of Lexington for negligence. The dispatcher who had dismissed the call as a prank was clearly negligent.

One positive outcome of this case was that it was catalyst for an enhanced emergency response system in Massachusetts. During the trial one of the issues was that the 911 operator had location information but the dispatcher never asked for it. With the new system, calls are immediately directed to a dispatch center and the dispatcher gets the caller's location directly.

The Secret Behind the iPod's Scrollwheel

Ask any iPod user what they like the most about their device, and they'll probably mention the scrollwheel. Here's the story behind the evolution of the scrollwheel on the four generations of iPods. Apple designed to first-generation scrollwheel that physically rotates but has relied on Synaptics for the touch sensitive versions that were used after that.

The Last Starfighter: The Musical

Here's an idea: how about a musical inspired by the movie The Last Starfighter?

About the only musicial connection I can think of from TLS was Robert Preston who played Centauri. He was probably best known as Harold Hill in The Music Man.

Keep New

Bloglines has a new feature that lets you mark a single blog entry as unread. When reading feeds, at the bottom of each entry is a checkbox labeled "Keep New". Check it and that entry is marked unread, and will stay that way until you uncheck the box. Thanks Bloglines!

Wednesday, September 22, 2004

Sugar Clouds

Astronomers have found a cloud of frozen sugar near the center of our galaxy. A cloud of sugar? Sounds pretty harmless.

Hey wait, that's no cloud. It's the Stay-Puft Marshmallow Man! (Geeky Astronomy link via BoingBoing)

Molly-guard

I'd never heard this term before. A molly-guard is a shield to prevent some idiot from accidently pushing the Big Red Switch. It originally referred to an improvised plexiglass cover for the swtich on an IBM 4341 after a programmer's toddler daughter (named Molly) frobbed it twice in one day.

I once worked in a large computer lab that had a very large Big Red Button on the wall. There was no sign on the button and one day someone decided to push it. Bad idea. It cut power for the entire lab. Arrrgh! To prevent a reoccurence, a clear plastic cover was made (which I now know was a molly-guard). And we made a sign threatening bodily harm to anyone who pushed the button unless the lab was on fire or something.

Snot Slower

Does an object's speed through a fluid depend on its viscosity? According to this article, apparently not. At least when the object is human-sized. Experimenters dumped 300 kilos of guar gum, a thickening agent, into a 25-meter swimming pool, creating a liquid twice as thick as water that "looked like snot". Timed results of swimming in this liquid vs. regular water differed by no more than 4%. The article doesn't indicate how they managed to coax their 16 volunteer swimmers to do laps in a pool of filled with a "snot like" liquid.

Feed Me

I've noticed that my web reading habits have changed dramatically over the last six months. My entry points are either an RSS feed or via search. There are exceptions. I buy stuff or browse for books, music or gadgets. But when I want information to come to me I use RSS feeds. When I want something specific, I do a search. Remembering a search phrase is sometimes better than using a bookmark. Blogs or news sites without feeds don't get my attention anymore. Back when RSS aggregators first started appearing I was skeptical. But Bloglines changed my mind. I can use it from anywhere (including my Treo 600) and I don't have wait for it to query all of my feeds. It already pings feeds on a scheduled basis, why do it just for me? For my own blog, I prefer server-based aggregators. They are kind to RSS feeds. I'd rather have a single hourly check from a single server than 1000 checks from individual clients.

Slide Rules Ruled

When I was a kid, my Dad taught me how to use a slide rule. By the time it would have been a useful skill, pocket calculators had became the norm. Slide rules seem like odd relics now but slipsticks (as they were called) had been used for centuries before cheap calculators came along. As professor James Alleman says in this Wired article, "The slide rule ruled."

Quantrix

In an earlier post I mentioned Lighthouse Design. After Lotus stopped developing Improv on NeXT, Lighthouse came out with a very similar product called Quantrix. I never got a chance to play with it but the screenshots and feature set looked like they had cloned Improv. The original Lighthouse Design applications for NeXTstep including Quantrix can be downloaded from here. Of course you'll also need to find a working NeXT system to try them out.

There's newer company that's called Quantrix. Their CTO was one of the original Lighthouse developers. Quantrix has developed a new product called Quantrix Modeler. It's written in Java and runs on Windows and Mac OS X. It's also very similar to Improv. Even their formula language syntax is the same (or very similar). They're going after the "financial and quantitative modeling" market so it's more expensive than basic office productivity software.

I exchanged email with Quantrix's QA and Support manager, Mike Salisbury. The trademark on Quantrix had expired so they were able to use it. Sun didn't have any objections to what they were doing. They also have a patent license agreement with IBM for the multidimensional concepts in Improv. The patent is here. When I get some free time I'd like to give Quantrix a try.

Apple Advertising and Brochure Gallery

A very nice collection of Apple's print ads starting with the Apple 1, through the Macintosh and also including Newton and NeXT ads. Here's Improv on pages 4 and 5 of the NeXT ad. I have this Newton poster rolled up in a cardboard tube somewhere . It's a stylish ad but every time I see it, I think, "Boy, that screen is going to be toast if that guy sits down." (Via Engadget)

Eclipse Wiki

An Eclipse Wiki has been started. It doesn't have a lot of content yet but could be useful. I learned one thing already: there's a COBOL IDE Eclipse subproject. Yow.

The History of 911

How did 911 become the universal emergency number in the United States? It's interesting to note that Britain implemented their 999 emergency telephone system back in 1937 but it took more than 30 years (1968) for the US to develop a similar system.

Tuesday, September 21, 2004

Lotus Improv

Lotus Improv for NeXTI realized on my drive to work this morning that I'd let an anniversary slip by without comment. Ten years ago last month Lotus Improv was cancelled. I was a developer on the project so obviously I wasn't too happy. Improv was the reason I joined Lotus in the first place. And customers missed out on a great product. Improv 3.0 had a lot of new features and was on a 32-bit platform again. (Improv 1.0 was on NeXT, 2.0 and 2.1 were on Windows 3.1).

Ten years later not much has changed in the spreadsheet world. Microsoft Excel dominates the market (although OpenOffice Calc is quite nice and free too). Excel has more bells and whistles than it had back in 1994 but it's fundamentally the same application. There are fancier financial modeling tools but the average spreadsheet user is stuck with the same old two-dimensional grid of cells that Dan Bricklin first conceived for VisiCalc. This is fine for simple models but it starts to break down as things get more complex. This where Improv really shines. Even now, more than ten years since the last release, it's easy to find praise for Improv.

Jonathan Schwartz

Jonathan Schwartz is president and COO of Sun Microsystems. He's got a blog. He's a bright guy -- except for his tendency to diss my employer. I don't know him but he seemed familiar to me. I finally figured out why. Back when we were developing Improv for NeXT there was a small company called Lighthouse Design that developed cool NeXTstep applications. Jonathan was a product manager and then president of Lighthouse (see a picture here). We'd see them at product demos and NeXT conferences. Improv moved on to other platforms shortly before NeXT discontinued making its own hardware. But Lighthouse kept building more cool NeXTstep and then OpenStep applications. In 1996 they were acquired by Sun Microsystems.

What happened next is unclear. I don't think that Sun really knew what to do with Lighthouse. They also bought another OpenStep application startup called Sarrus Software. Sarrus had ported their calendaring application called "Pencil Me In" from OpenStep to Java. I talked to one of their developers back then. They used the Netscape IFC toolkit which was modeled after the NeXTstep AppKit. That made it easy to move from OpenStep to Java. Great, except that Sun didn't want two GUI toolkits for Java so they "partnered" with Netscape on development of Swing which effectively killed off IFC. The Lighthouse and Sarrus folks were put into the Java Applications Group under Jonathan Schwartz. As far as I know Sun never released any Java desktop applications based on these acquistions.

Rich text clipboard support in Eclipse 3.0

Eclipse 2.x supports rich text copy/paste clipboard operations. Quite nice for including code snippets in documentation. But the feature seemed to disappear in Eclipse 3.0. Now if just supports plain text. What happened?

It's a bug that first appeared in M9 according to this link. It doesn't seem to be fixed in the 3.0 release. The problems is related to folding code. Code folding is enabled by default. If you disable code folding then Eclipse puts rich text on the clipboard again. I hope they fix this in a point release. Code folding for imports and inner classes is very nice.

Monday, September 20, 2004

Super Computing Circa 1954

Just as a point of reference for my earlier post. The most powerful computer on earth in 1954 looked like this. It's IBM's Naval Ordnance Research Calculator (NORC). More pictures can be found here.

Friendly Fortran

This photo is an obvious Photoshopped fake. It claims to be a prediction from 1954 of what a "home computer" would look like in 2004. "With teletype interface and the Fortran language, the computer will be easy to use...". Pretty funny.

We can feel smug about how much more has been accomplished beyond predictions from the 1950s but in some areas we've clearly fallen short. It's the Jetsons' Syndrome. Where are the personal jet packs and flying cars? (Via Metafilter)

Out Damn Spot!

We had lots of wind and rain over the weekend from the remnants of Hurricane Ivan. Some of the fruit from an ornamental cherry tree in our front yard was blown down and squashed onto the back of my car. The juice created small dark spots. I thought it would just rinse off but it really stuck to the paint. I had to use Tar/Sap/Bug remover and a lot of scrubbing to get it off. A lot tougher than I expected. Is this what they make Sharpie ink from?

Note: click on the Hurricane Ivan link. It's a cool photo of the hurricane as viewed from the International Space Station.

Squares 2

Squares 2 is a nice little Flash game. Kill some time while you're waiting for a build to finish.

Constant Patience

The unfortunate soul in this story: really needs to think about getting more fiber in his diet. I can't imagine passing out from a bout of constipation but I can relate to the pain. Two years ago I had a kidney stone slowly pass. Anyone who has ever endured a kidney stone attack will tell you how painful it can be. Pain so severe that you double over. Pain so strong that it brings you to your knees. In fact, the pain is most often compared with the pangs of natural childbirth. Not fun.