Wednesday, June 30, 2004
Lisp and Java
A lot of developers I know got started with C/C++ and have moved on to Java. The programmer's toolbox gets bigger and richer with Java but there's always more to learn. In this article, Dan Milstein shows how one of the more powerful features of Lisp, the ability to treat functions as data, can be approximated in Java. This feature, also known as functions as first-class objects, can be particularly useful when dealing with collections. In the article, Dan's example shows this technique in use doing queries via JDBC.
Doomsday algorithm
The Doomsday algorithm for calculating the day of the week makes use of the fact that in each year, April 4th (4/4), June 6th (6/6) August 8th (8/8), October 10th (10/10) and December 12th (12/12) are all the same day of the week. This day of the week is called Doomsday. The name makes the algorithm sound more dire than it is. It's really just a trick to make it easy to calculate the day of the week for any day by knowing the day of the week for one day in each month. The algorithm was invented by John Conway, also known for the Game of Life.
Talking Dogs
That's right, these dogs can talk!. Actually I think if dogs could talk what they would say something more like this (Via Mena Trott)
The Reality of Running Away from Stuff
In The Mummy Returns, a hero outruns the sunlight streaming over the horizon. Sunlight moves across the horizon at the speed of the rotation of the earth. So could the hero outrun it? Nope. Not even close. The fastest recorded speed for a human is around 22 mph in a 100 yard dash. The earth's rotation speed is around 1078 mph. Similar mishegas occurs in other actions films such as The Chronicles of Riddick.
Idris Hsi has created a chart showing maximum speeds for some of the more common hazards that movie characters run away from measured against the fastest speed that a human can achieve. (Via BoingBoing)
Idris Hsi has created a chart showing maximum speeds for some of the more common hazards that movie characters run away from measured against the fastest speed that a human can achieve. (Via BoingBoing)
BugMeNot
Are you tired of news websites that insist that you register before showing you an article? Me too. Fortunately there's BugMeNot.com. Enter a URL and it will offer one or more username/passwords to use instead of registering. There's also a BugMeNot Bookmarklet that you can use that will automatically display username/password information for the current web site.
Yeah, I know that using accounts like these can skew registration data but when I click on a link and, say, The Kansas City Star wants me to register, having BugMeNot is useful. (Nothing against The Kansas City Star, it's just not a paper I would otherwise read).
Yeah, I know that using accounts like these can skew registration data but when I click on a link and, say, The Kansas City Star wants me to register, having BugMeNot is useful. (Nothing against The Kansas City Star, it's just not a paper I would otherwise read).
McDonald's lost the Big Mac "secret sauce" recipe
McDonald's secret sauce recipe is supposed to be a closely guarded corporate secret like Coca Cola's secret formula. Apparently like forgotten passwords, the recipe was too secret. McDonald's actually lost the recipe. Over the years they had modified it to cut costs and lost track of the original. How could this happen? Wouldn't you think it would be stored in a safe or archived somewhere? Fortunately Fred Turner, who had worked alongside McDonald's founder Ray Kroc in the company's early days, recalled the name of a California supplier who had helped develop the sauce 36 years ago. The supplier recovered the recipe. Not so secret after all.
Actually, they could have just done a Google search. In two minutes I found this one that claims to be from a 1968 McDonald's Manager's Handbook (36 years ago).
Actually, they could have just done a Google search. In two minutes I found this one that claims to be from a 1968 McDonald's Manager's Handbook (36 years ago).
Tuesday, June 29, 2004
The Taligent Effect
Don Box coins a new term
The story is somewhat more complicated than that. Taligent was started as a joint Apple/IBM venture to build a brand new operating system from the ground-up using object-oriented technology. The core team of 150 software engineers came from Apple's "Pink" project which was developing the next generation Macintosh operating system.
As time went by, it was decided that people didn't really want a new operating system, but that rapid application development was still important. Taligent software became a layer on top of existing operating systems such as AIX, Windows NT, etc. This set of common application frameworks was called CommonPoint.
As Chris Double points out, Taligent produced good work and CommonPoint was pretty nice. Unfortunately, Taligent ended badly and the only tangible results are those three books. (This isn't entirely true, the incredibly useful ICU package was developed by Taligent and is widely used).
Apple never benefited from Taligent. After a few failed attempts to produce a next generation Macintosh OS themselves, they bought NeXT and morphed NeXTStep technology into Macintosh OS X. OS X has a much more pragmatic design. It's based on the Mach kernel and BSD Unix. OS X includes OO frameworks such as Cocoa but it's otherwise a conventional OS.
Why did Taligent fail? I didn't work there so I can't say for sure. I don't think it was solely because the team was adhering to a software trend. It's more likely that a combination of bad decisions and missed opportunities contributed to their failure. Here are my thoughts:
Update: According to Marc Canter, the other joint venture started at the same time as Taligent, Kaleida Labs, failed in a similar way. Marc uses an interesting term to describe the experience. The UrbanDictionary defines the term as having a military origin. In radio communication or polite conversation it's often replaced by the NATO phonetic acronym "Charlie Foxtrot".
Don's claim is that all Taligent ended up creating was three beautifully produced books from Addison Wesley, no useful software.The Taligent effect is what happens when a group of people put adherence to a software trend first and lose sight of the value of shipping software that people will actually use.
The story is somewhat more complicated than that. Taligent was started as a joint Apple/IBM venture to build a brand new operating system from the ground-up using object-oriented technology. The core team of 150 software engineers came from Apple's "Pink" project which was developing the next generation Macintosh operating system.
As time went by, it was decided that people didn't really want a new operating system, but that rapid application development was still important. Taligent software became a layer on top of existing operating systems such as AIX, Windows NT, etc. This set of common application frameworks was called CommonPoint.
As Chris Double points out, Taligent produced good work and CommonPoint was pretty nice. Unfortunately, Taligent ended badly and the only tangible results are those three books. (This isn't entirely true, the incredibly useful ICU package was developed by Taligent and is widely used).
Apple never benefited from Taligent. After a few failed attempts to produce a next generation Macintosh OS themselves, they bought NeXT and morphed NeXTStep technology into Macintosh OS X. OS X has a much more pragmatic design. It's based on the Mach kernel and BSD Unix. OS X includes OO frameworks such as Cocoa but it's otherwise a conventional OS.
Why did Taligent fail? I didn't work there so I can't say for sure. I don't think it was solely because the team was adhering to a software trend. It's more likely that a combination of bad decisions and missed opportunities contributed to their failure. Here are my thoughts:
- Corporate politics must have played a role. Who was going to use this OS? When the Pink team left Apple to join Taligent where did that leave Apple's core business? Apple's value is a combination of software and hardware innovations. If they allowed a jointly-owned third-party control the OS (which could also run on non-Apple hardware) where was Apple's unique value?
- In hindsight, the choice of C++ as an implementation language was a mistake. More dynamic OO languages such as Java, Objective-C, C#, etc. would be more suitable for what Taligent was building but didn't exist at the time (except for Objective-C which NeXT used). There's a long thread on Hack The Planet where people (including ex-Taligent developers) debate this issue.
- Another factor in Taligent's failure was that it was too ambitious. There were no early public successes to build on. There were lots of good ideas in CommonPoint but few people could see them. You needed hefty hardware to develop with CommonPoint and it was an all-or-nothing world.
- Apple and IBM have very different corporate cultures. They both can produce amazing products but in very different ways. Combining developers and management from these two companies was probably very difficult. Since I work for IBM and only known second-hand what Apple was like then I won't comment beyond that.
Update: According to Marc Canter, the other joint venture started at the same time as Taligent, Kaleida Labs, failed in a similar way. Marc uses an interesting term to describe the experience. The UrbanDictionary defines the term as having a military origin. In radio communication or polite conversation it's often replaced by the NATO phonetic acronym "Charlie Foxtrot".
Monday, June 28, 2004
Another Yeti Game
This game is the fifth in the Yetisports series. This time around the Yeti uses a flamingo as a golf club to "drive" a penguin through the African bush. Course obstacles include giraffes, elephants, snakes, etc.
The Terminal
I saw The Terminal last weekend. I enjoyed it more than I had expected. It's not a great film but has some good acting and cinematography that nearly make up for a weak plot. The film's story of a foreigner stranded in an airport is very loosely based on the bizarre true story of Merhan Karimi Nasseri, a man who was trapped by his lack of papers in Charles De Gaulle Airport in Paris for over eleven years. In 1999 he was finally given permission to leave the airport but decided that he didn't want to leave. He remains in the airport terminal, now sixteen years after he first arrived there.
Lock Picking for Beginners
I have no interest in picking locks but if I did I'd start with Greg Miller's collected references. He also has some good advice on how to get started. He recommends a reference by an unknown MIT author who calls himself "Ted the Tool". The reference is called Guide To Lock Picking. It reads like a chapter from The Way Things Work except that it's really about exploiting flaws in the way things work.
Out in left field
The phrase "out in left field" means out of contact with reality or confused. The term refers to the left field of baseball, but how did it acquire its current meaning? According to this article, there are a couple of theories. First that in older ball parks, left field was deeper than right field; that the left fielder must play farther back when the batter is right-handed. A second theory comes from Chicago: the Chicago Cubs once played in a park called West Side Park, and just beyond the left-field fence in West Side Park was an insane asylum called the Neuropsychiatric Institute. The implication was that anyone out in left field was crazy. Sounds like an urban legend. Since sometimes the phrase is "way out in left field", it seems that it's more likely to be based on the location of the left fielder.
Sunday, June 27, 2004
BMW Product Recall
BMW Product Recall Ha!
In Boston, using your turn signals seems to be a driving faux pas, BMW or not. Actually telling drivers behind you what your car is going to do next spoils the surprise or something.
In Boston, using your turn signals seems to be a driving faux pas, BMW or not. Actually telling drivers behind you what your car is going to do next spoils the surprise or something.
Mountain Dew Spy vs. Spy
Mountain Dew is using the MAD Magazine comic strip "Spy vs. Spy" for a series of television commercials. I loved Spy vs. Spy. The strip had a simple premise: two spies forever trying to one-up and double-cross one another. The Mountain Dew commercials give a flavor of the series, but it's better in cartoon form.
Quick Reference Cards
Here a list of handy Quick Reference Cards for markup and programming languages.
LZW compression patent expires
According to Dan Bricklin, the LZW compression patent has expired in the US, Canada, much of Europe and Japan as of June 20, 2004. What's the big deal? LZW compression is used in the GIF image format. Using a patented compression algorithm in a widely available data format (with an aggressive patent holder, Unisys) has been an issue for commercial software that manipulates GIF images for more than a decade now. Attempts to replace GIF with license-free image formats such as PNG haven't been too successful. GIF seems to be here to stay.
I'm not sure that software developers are completely in the clear on this one yet. The wording on the Unisys web site regarding the LZW patent is too legalese for me. Has the patent expired everywhere or not? And even if it has expired, how does this expiration apply to existing licensing terms regarding LZW compression?
Note for the curious: LZW stands for Lempel-Ziv-Welch. Abraham Lempel and Jacob Ziv first published their approach to data compression in 1977. Terry Welch's refinements to the algorithm were published in 1984. The US patent 4,558,302 was issued to Unisys on June 20, 1983 (expiring 20 years later in 2003).
I'm not sure that software developers are completely in the clear on this one yet. The wording on the Unisys web site regarding the LZW patent is too legalese for me. Has the patent expired everywhere or not? And even if it has expired, how does this expiration apply to existing licensing terms regarding LZW compression?
Note for the curious: LZW stands for Lempel-Ziv-Welch. Abraham Lempel and Jacob Ziv first published their approach to data compression in 1977. Terry Welch's refinements to the algorithm were published in 1984. The US patent 4,558,302 was issued to Unisys on June 20, 1983 (expiring 20 years later in 2003).
Unintended Mysteries
I often stash mail, pictures, etc. in a book while I'm reading it. Apparently this common practice can have unintended consequences. Sometimes a book's owner forgets to remove stashed items before selling it. This article in the Wall Street Journal describes some of the unintended mysteries that can start when something is left in a used book.
G5 Liquid Cooling
Apple's latest Power Mac G5 computers use liquid cooling rather than traditional heat sinks. Some people might find this a bit odd or extreme. Personally I like the idea of a computer with plumbing. Too bad they can't rid of the fans as well. I'd prefer a soft background gurgling sound over fan noise any day.
Segway
I finally got a chance to try a Segway. We had some passes to Heritage New Hampshire and since the Segway was designed and built in the state, they had one to take for a spin. It's just about as natural and cool as others have mentioned. There's an odd feeling initially but it passes quickly. I can't imagine what use I'd ever have for one but it sure is fun.
Sunday, June 20, 2004
Peonies
We have quite a few peonie plants around our yard. They've been producing large beautiful flowers for the past couple weeks. Peonies must have been the result of selective breeding. I can't imagine that a wild plant would produce a flower so large to cause the stem to bend over nearly to the ground under its weight, especially when it rains.
Friday, June 18, 2004
Boil the ocean
The phrase ""Boil The Ocean" describes an attempt at something that is way too ambitious, effectively impossible. The first time I heard the term was several years ago from an IBM developer. I thought it was an IBM-ism but I've been hearing it more and more outside of IBM. A Google search turns up an early use of the phrase that really captures its meaning:
Classic.When asked by a reporter what to do about U-boat sinkings during World War I, Will Rogers is said to have responded: "Boil the ocean". "But how would you do that?" the reporter continued. Without a beat Rogers replied, "I'm just the idea man here. Get someone else to work out the details."
Wednesday, June 16, 2004
Richard Feynman and The Connection Machine
Daniel Hillis wrote this interesting recollection of his experiences with Richard Feynman at Thinking Machines . I've read Feynman's books but didn't realize that he had had anything to do with the Connection Machine. In addition to being incredibly bright, both Feynman and Hillis are gifted at being able to explain complex ideas simply; a rare gift.
When the zombies take over, how long till the electricity fails?
The Straight Dope has never shied away from answering tough questions. Case in point: When the zombies take over, how long till the electricity fails?
Tuesday, June 15, 2004
Newsmap
Newsmap is an application that visually reflects the constantly changing landscape of the Google News news aggregator. A treemap visualization algorithm helps display the enormous amount of information gathered by the aggregator. Very cool.
The Hex Clock
Dividing time into unwieldy units (24 hours per day, 60 minutes to the hour, 60 seconds to the minute) seems to bother a lot of folks who would prefer that we use more "natural" number bases. People who are fond of base ten insist that we move to Internet Time. Internet Time divides the day into 1000 "beats" (and no time zones). Folks who are fond of hexadecimal want us to switch to Hex time which is expressed as a hexadecimal fraction (from 0 to 1) showing how much of the day has passed.
Proponents of Internet or Hex time seem to imagine the rest of us as backwards as Grandpa Simpson:
But the truth is, messy and difficult as the current time system is, so far we're unimpressed with these alternatives. Not to mention the cost of switching over.The metric system is the tool of the devil! My car gets forty rods to the hogshead and that's the way I likes it!
Iron Pyrite Build
When a software product is finalized (burned on CDs, posted to the web site, etc.) we usually say that it's "gone gold" There seem to be differing opinions of where this term came from. My guess is that it's related to the gold masters that were used in the recording industry years ago.
Software builds that lead up to the gold code are often called "gold candidates". In other words, this candidate may or may not be gold, The Lotus Improv development team used a more colorful term for this: Iron Pyrite build. Iron pyrite is commonly known as Fool's Gold. I'm not sure if that term originated with the Improv team or not. This was back in 1991. Has anyone else heard this term used before or since then?
Software builds that lead up to the gold code are often called "gold candidates". In other words, this candidate may or may not be gold, The Lotus Improv development team used a more colorful term for this: Iron Pyrite build. Iron pyrite is commonly known as Fool's Gold. I'm not sure if that term originated with the Improv team or not. This was back in 1991. Has anyone else heard this term used before or since then?
Kite Aerial Photography
Scott Haefner's photos were taken by suspending a remote controlled camera from a kite. I really like this one of the International Fountain in Seattle. He's also got a nice set of 360° VR panoramas here.
Update: Before considering sending your expensive digital camera aloft on a kite, consider what might happen if something goes wrong like this
Update: Before considering sending your expensive digital camera aloft on a kite, consider what might happen if something goes wrong like this
Saturday, June 12, 2004
Dirty Thirties 2004
Our relatives who live in Kansas sent us these amazing pictures taken in Western Kansas a couple weeks ago.
These images are reminiscent of the dust storms that took place in the Dust Bowl of the 1930s. Midwesterners called this period the "Dirty Thirties". The sky would darken. Houses would fill with dirt. The wind could create dirt drifts several feet high. You can see dirt drifts in the photo with the stop sign.
![]() | ![]() |
![]() | ![]() |
Friday, June 11, 2004
Therein Lies The Rub
I was wondering about the origin of the phrase "therein lies the rub". It turns out to be slightly misquoted Shakespeare (from Hamlet):
But misquoted or not it still didn't make any sense to me. What's getting rubbed? Ah, I see now. The phrase uses "rub" in its less common definition as "obstacle" or "snag" rather than the more common usage of applying pressure to a surface.Devoutly to be wish'd. To die, to sleep;
To sleep: perchance to dream: ay, there's the rub:
For in that sleep of death what dreams may come,
When we have shuffled off this mortal coil,
Must give us pause: there's the respect
That makes calamity of so long life;
World's 100 Largest Economic Entities
Here are some interesting economic statistics. Of the world's 100 largest economic entities, 51 are corporations and 49 are countries. The rankings are in terms of GDP / sales. The top-ranked corporation on the list is General Motors at #23. IBM is listed at #53 ahead of such countries as Ireland, Pakistan, New Zealand, etc. I was a bit surprised not to see Microsoft on the list but their global influence exceeds their annual sales. In the year these statistics were collected (2000), Microsoft's sales were about half those of the 100th entry on the list.
Chicken Switch
Recently I was talking to an engineer who works for IBM on a "bring up" team in Austin. His team gets the very early versions of new POWER processor chips and shakes out the bugs. One term he used that I hadn't heard before was "chicken switch". They use this term for switches that can disable optimizations on the chip (such as caches) to isolate problems. When you throw all of the "chicken switches" you put the processor in "tinkertoy mode". If it still isn't working the problem is likely to reside elsewhere, in external memory for example.
We do the same sort of thing in software -- provide settings to disable caches and other forms of optimization in order to isolate problems. On the Notes/Domino team we referred to switches like these as NOTES.INI settings for want of any better term.
Maybe we could start using "chicken switch" as the name for such things?
Related etymology: a Google search found that "chicken switch" is also a military term used by test pilots for the emergency eject button on aircraft. The term was also adopted by astronauts in space capsules.
We do the same sort of thing in software -- provide settings to disable caches and other forms of optimization in order to isolate problems. On the Notes/Domino team we referred to switches like these as NOTES.INI settings for want of any better term.
Maybe we could start using "chicken switch" as the name for such things?
Related etymology: a Google search found that "chicken switch" is also a military term used by test pilots for the emergency eject button on aircraft. The term was also adopted by astronauts in space capsules.
The Uncanny Valley
In the late 1970s, the Japanese roboticist Masahiro Mori discovered that the more humanlike his robots became, the more people were attracted to them, but only up to a point. Beyond that the response suddenly becomes strongly repulsive. When a robot is sufficiently non-humanlike then the humanlike characteristics tend to stand out. When a robot is 99 percent humanlike, we focus on the missing 1 percent. Mori called this abrupt plunge the Uncanny Valley, the paradoxical point at which a simulation of life becomes so good it's bad.
Now video game designers are starting to struggle with this issue as well. Ultra-realistic renderings of humans can make games less engrossing. Apparently Comic-strip artists have known this for years. We identify more deeply with simply drawn cartoon characters (like Dilbert) than more realistic ones.
Now video game designers are starting to struggle with this issue as well. Ultra-realistic renderings of humans can make games less engrossing. Apparently Comic-strip artists have known this for years. We identify more deeply with simply drawn cartoon characters (like Dilbert) than more realistic ones.
President Reagan
Since Ronald Reagan's funeral and burial are today, I thought I'd post my recollections of the Reagan era.
I was at MIT when President Reagan was elected and during his early presidency. MIT is located in the People's Republic of Cambridge
so the local perspective on Reagan was somewhat skewed. He was viewed by many students as foolish and potentially dangerous. The presidential candidate of choice at MIT was John Anderson. Obviously, he didn't prevail. During the election and after I was focused on an all-consuming research project so I didn't pay much attention to politics. I didn't keep up with the news. I didn't own a television. I first heard of the assassination attempt on President Reagan from a television monitor as I walked through the main lobby to get to my lab. I can remember seeing that video clip over and over and over...
I've become a little more politically-minded since then. Mostly I just try to up with the news and form my own opinions. The world structure is very different than it was during the 1980s. President Reagan had a larger role in that change than any other individual. And he did this as a man in his 70s -- he became president just short of his 70th birthday. A surprising fact is that Reagan was born six years before John F. Kennedy but became president twenty years after Kennedy.
I was at MIT when President Reagan was elected and during his early presidency. MIT is located in the People's Republic of Cambridge
so the local perspective on Reagan was somewhat skewed. He was viewed by many students as foolish and potentially dangerous. The presidential candidate of choice at MIT was John Anderson. Obviously, he didn't prevail. During the election and after I was focused on an all-consuming research project so I didn't pay much attention to politics. I didn't keep up with the news. I didn't own a television. I first heard of the assassination attempt on President Reagan from a television monitor as I walked through the main lobby to get to my lab. I can remember seeing that video clip over and over and over...
I've become a little more politically-minded since then. Mostly I just try to up with the news and form my own opinions. The world structure is very different than it was during the 1980s. President Reagan had a larger role in that change than any other individual. And he did this as a man in his 70s -- he became president just short of his 70th birthday. A surprising fact is that Reagan was born six years before John F. Kennedy but became president twenty years after Kennedy.
Ray Charles
Ray Charles passed away yesterday at age 73. One of the facts mentioned in the reports of his death that I hadn't heard before was that his original name was Ray Charles Robinson. He shortened it to Ray Charles so that he wouldn't be confused with the boxer Sugar Ray Robinson
I saw Ray Charles perform live twelve years ago at the Boston Garden. The event was Lotus' 10th Anniversary celebration. Ray was terrific as you'd expect. He had amazing energy and vocal power. He performed at the end of the evening and followed a somewhat unusual act. The previous act was a performer in a shiny gold dress and long black hair singing (actually lip-synching) to Aretha Franklin's R-E-S-P-E-C-T. After a few seconds of silence from the audience it was clear to all that the performer was Jim Manzi, president and CEO of Lotus.
I saw Ray Charles perform live twelve years ago at the Boston Garden. The event was Lotus' 10th Anniversary celebration. Ray was terrific as you'd expect. He had amazing energy and vocal power. He performed at the end of the evening and followed a somewhat unusual act. The previous act was a performer in a shiny gold dress and long black hair singing (actually lip-synching) to Aretha Franklin's R-E-S-P-E-C-T. After a few seconds of silence from the audience it was clear to all that the performer was Jim Manzi, president and CEO of Lotus.
Thursday, June 10, 2004
Fun with Fingerprint Readers
According to this article in the Crypto-Gram newsletter, Tsutomu Matsumoto, a Japanese cryptographer, made fake fingers by molding real fingers in gelatin. He was able to fool biometric fingerprint devices about 80% of the time. He tried these attacks against eleven commercially available fingerprint biometric systems, and was able to reliably fool all of them.
Since biometric fingerprint devices are used to keep an attacker out of a facility, getting a mold of the finger of someone who has valid access would be a little hard to accomplish. But Matsumoto's more interesting experiment involves latent fingerprints. He could take a fingerprint from a piece of glass and transfer it to a transparency sheet. Then, he takes a photo-sensitive printed-circuit board and uses the fingerprint transparency to etch the fingerprint into the copper, making it three-dimensional. He then makes a gelatin finger using the print from the printed-circuit board. This technique fooled fingerprint detectors about 80% of the time. Amazing.
Since biometric fingerprint devices are used to keep an attacker out of a facility, getting a mold of the finger of someone who has valid access would be a little hard to accomplish. But Matsumoto's more interesting experiment involves latent fingerprints. He could take a fingerprint from a piece of glass and transfer it to a transparency sheet. Then, he takes a photo-sensitive printed-circuit board and uses the fingerprint transparency to etch the fingerprint into the copper, making it three-dimensional. He then makes a gelatin finger using the print from the printed-circuit board. This technique fooled fingerprint detectors about 80% of the time. Amazing.
Wednesday, June 09, 2004
This Is Broken
This Is Broken is a collection of places, things and websites that are "broken". Most of the entries concern confusing, misleading or just outright bad design. The street signs in my town (Arlington, MA) qualified for an entry. While I'll agree that street signs in Arlington are pretty bad, the same can be said for nearly every town and city in Eastern Massachusetts.
O'Reilly's History of Programming Languages poster
This O'Reilly poster is intersting. It shows a timeline of the fifty years that computer programmers have been writing code including fifty of the more than 2500 documented programming languages. It's based on a diagram created by Éric Lévénez. Now where can I find 17 x 39 inch paper to print it out?
Tuesday, June 08, 2004
Doug Engelbart 1968 Demo
On December 9, 1968, Doug Engelbart and the group of 17 researchers working with him in the Augmentation Research Center at Stanford Research Institute presented a 90-minute live public demonstration of the online system, NLS, they had been working on since 1962. Given the relatively primitive state of computer technology in the 1960s, the demo, which can be viewed in chunks in these video clips, is amazing. Visionary stuff.
Reverse Polish Notation
Reverse Polish Notation is a notation in which the operators follow the operands (postfix operators). Hewlett-Packard calculators support this for data entry which makes complex calculations a lot easier to do. But why is this called Reverse "Polish" Notation? Where does Poland come into this? So-called Polish Notation (using prefix operators as in Lisp) was invented in the 1920's by Polish mathematician Jan Lukasiewicz. In the 1950s, Charles L. Hamblin proposed a scheme in which operators followed operands. He called it Reverse Polish Notation. Why wasn't the scheme called Reverse Lukasiewicz Notation? Probably because most non-Slavic speakers can't pronounce Lukasiewicz. (It's pronounced Wu-cash-ay-vich). Clearly Lukasiewicz was robbed.
No Hungarian .NET
Back in the early days at Microsoft, Charles Simonyi introduced an identifier naming convention that adds a prefix to the identifier name to indicate the type of the identifier. This system became widely used inside (and outside) Microsoft and came to be known as Hungarian notation mainly because Simonyi is originally from Hungary.
Fast forward to .NET. Apparently Microsoft's .NET Naming Guidelines have largely abandoned using prefix characters (the notable exception being interfaces, whose names are to be preceded with an uppercase I. .NET has adopted a naming scheme that's very similar to Java's. (Via The Farm)
Fast forward to .NET. Apparently Microsoft's .NET Naming Guidelines have largely abandoned using prefix characters (the notable exception being interfaces, whose names are to be preceded with an uppercase I. .NET has adopted a naming scheme that's very similar to Java's. (Via The Farm)
USS Shangri-La
My parents were in town for Memorial Day weekend. In the spirit of the holiday, my son asked my Dad about his experiences during World War II. We videotaped his recollections. He enlisted as a 17 year-old, joining the Navy near the end of the war. He served aboard a few different ships including the aircraft carrier USS Shangri-La in the Pacific.
It's a bit odd that a war ship was named after a place of complete bliss and delight and peace but there's an interesting story there. When the Doolitle Raid on Tokyo took place four months after the Japanese bombed Peal Harbor, President Roosevelt was asked where the planes had taken off from. Not wanting to tip off the Japanese as to how the attack was carried out, he answered, "From Shangri-La". Thereafter, the USS Hornet, which was used to launch the raid earned the nickname "Shangri-La" The Hornet was sunk in 1942, The USS Shangri-La, an Essex class carrier, was launched in 1944.
After the war ended, my Dad remained in the Navy until 1946 when he decided to return to civilian life. In retrospect, it was a wise move. Shortly after his departure, the Shangri-La participated in Operation Crossroads, the atomic bomb tests conducted at Bikini Atoll. Several studies have shown increased mortality rates among sailors who witnessed the tests at Bikini.
Update: One other Shangri-La factoid I forgot to mention, President Roosevelt established a retreat in the Catoctin Mountains of Maryland in 1942 and called it Camp "Shangri-La" after the mountain kingdom in James Hilton's book Lost Horizon. It was renamed Camp David in 1953 by President Eisenhower in honor of his grandson.
It's a bit odd that a war ship was named after a place of complete bliss and delight and peace but there's an interesting story there. When the Doolitle Raid on Tokyo took place four months after the Japanese bombed Peal Harbor, President Roosevelt was asked where the planes had taken off from. Not wanting to tip off the Japanese as to how the attack was carried out, he answered, "From Shangri-La". Thereafter, the USS Hornet, which was used to launch the raid earned the nickname "Shangri-La" The Hornet was sunk in 1942, The USS Shangri-La, an Essex class carrier, was launched in 1944.
After the war ended, my Dad remained in the Navy until 1946 when he decided to return to civilian life. In retrospect, it was a wise move. Shortly after his departure, the Shangri-La participated in Operation Crossroads, the atomic bomb tests conducted at Bikini Atoll. Several studies have shown increased mortality rates among sailors who witnessed the tests at Bikini.
Update: One other Shangri-La factoid I forgot to mention, President Roosevelt established a retreat in the Catoctin Mountains of Maryland in 1942 and called it Camp "Shangri-La" after the mountain kingdom in James Hilton's book Lost Horizon. It was renamed Camp David in 1953 by President Eisenhower in honor of his grandson.



