Things learned when searching Google

While looking for something else entirely, I tripped over some general computer knowledge pages at http://vlaurie.com/ which included the surprising bit of trivia that there is a kind of font editor shipping in XP, but not well known.

It is the Private Character Editor, and is intended to allow an end user to design characters in the Unicode range dedicated for private use. This is the recommended place to put a company logo character, for example. Apparently, there is a mechanism in place in Windows to allow characters built in this tool to be logically attached to individual fonts.

The private character editor is not found in the start menu. To launch it, click Start, Run, type eudcedit in the box and click Ok. If you want to create a shortcut to it, it seems to live in %SYSTEMROOT%\System32\eudcedit.exe

The private characters can be retrieved for use in a document with the aid of Character Map. Of course, once you use a private character in a document you are faced with a different dilemma, namely how to let anyone else use the character too... I'll leave that as an exercise to the reader.


An impressive single-tasker

We've all had the experience of taking a string of Christmas lights out of the box, testing them to prove they work, stringing them up, and finding that now they don't work. Until now, I haven't known of a better solution than to inspect each bulb individually, which is a painful process.

This year, I found the right tool for the job: the Lightkeeper Pro.

Its advertising, packaging, and even its documentation reads like a Super Bass-o-Matic '76 commercial. But actually does work as described. Honest!

Within its vaguely gun-shaped package is a bulb remover, a 60 Hz hum tracer, a bulb tester, a fuse tester, storage for spare bulbs, and a flashlight.

But wait! There's more!

The real magical feature is the piezoelectric light string repair device. Just remove any bulb from a dark segment, plug the gun in where the bulb was, and pull the trigger. After a couple of pulls, the string is likely to just turn back on. All except the bad bulb, which you can then replace.

Now how much would you pay?

Remember, all this can is done with the string installed and power on. And with only one short trip up the ladder to the top of the eaves.

MSRP is $25, but it can be had for $20 or so in stores like Amazon, Target and Lowes. Even if you don't need one this year, grab one in the post-season sales and add it to your toolbox. You'll thank me next year when you pull the lights back out of storage.


Comics that remind me of a certain someone

One art form that seems specifically designed for the world wide web is the comic strip. A daily three-panel strip at a legible resolution fits neatly on a page, and even a Sunday special rarely requires a scroll bar.

More importantly, the web permits an artist a degree of editorial freedom that can never be had from formal syndication. It also has a potentially world-wide audience, and with a loyal, multi-lingual fan base can even end up translated into multiple languages. This might be the earliest media product to demonstrate that self-publication is practical and that the old distribution channels may not keep their monopolies forever.

Independent music is following a similar path, podcasting has already had a visible effect on radio (although in that medium it seems like the old distributors are embracing the new channel from the outset), blogging has visibly impacted the traditional print media, and there have lately been several attempts at film and video production targeted specifically at online delivery.

Here are a few comic strips I've noticed, some of which have characters and settings that strongly remind me of people I know.

Specifically who these remind me of is left as an exercise for the reader...

Girl Genius

Adventure, Romance, Mad Science!


A steampunk manga written Phil and Kaja Foglio and drawn by Phil Foglio. You might recognize Phil as the artist behind the covers for the first editions of all of the Myth Adventures books. Many of the pages are full of background details and inside jokes that probably are best appreciated in the print editions. Six volumes are available as graphic novels, and volume seven is currently in progress.


The dreams that we have had
Are gonna prove that we're all mad
And that's okay


The story of Narbonic Labs by Shaenon K. Garrity ran from mid 2000 through the end of 2006. It is formatted as a three to five panel daily strip, and Sunday specials.

It is presently being rerun as a Director's Cut with commentary from the artist about each strip, and a weekly podcast. The entire run is also available without the commentary, and four print volumes were issued.

User Friendly

Impairing productivity since 1997.

"Tech support, ghost in the machine speaking."


An inside view into the workings of a (fictional) small ISP called Columbia Internet. It is written and drawn by J.D. "Illiad" Frazer, and much beloved by working geeks. It is notable for its long run, with new strips appearing seven days a week (at midnight, Pacific time since Columbia Internet is located in Vancouver, B.C.).


A webcomic of romance, sarcasm, math, and language.


Stick figures and geek humor written and drawn by Randall Munroe. It starts with scans of art drawn when he was supposed to be taking notes in classes, much of that early art is reminiscent of Antoine de Saint-ExupĂ©ry and Le Petit Prince. Most of the later art is in a minimalist stick-figure form which allows the absurdity to shine without distraction.

From the site: "Warning: this comic occasionally contains strong language (which may be unsuitable for children), unusual humor (which may be unsuitable for adults), and advanced mathematics (which may be unsuitable for liberal-arts majors)."


Rory, Cat, Requiescat in Pace

Rory's face Rorschach (Rory)

b. ca. January, 1991
d. August 27, 2007

A Faithful Feline Forever.

On the twenty-seventh day of August, 2007, at four hours past noon, our cat Rory died of heart failure. He was nearly 17 years old. Rory is survived by his companions in feline mischief Emily and Apostrophe, and by Michelle and I, his faithful staff.

A snapshot taken by Annette in 1991, scanned by Shal recently.Rory (short for Rorschach) was born to an unknown mother cat sometime during the winter of 1990-1991. When he wandered into Shal and Annette's yard that spring, he was estimated to be only about three months old. Rory came to live with Michelle and I within a few days. He came to us with a clean bill of health and his first round of kitten vaccinations thanks to Rory, asleep in a bookmark crop.Annette and Dr. Sylvia Domotor. Dr. Domotor has been his first choice of veterinarian for his entire life, and she was with him when he died. We named him Rorschach because the tabby patch on his body was shaped like a perfect ink blot. He quickly became Rory for day-to-day usage, at least partly out of an urge not to have to spell Rorschach all the time.

Rory explaining why he has a bone to pick with us on our return from a ten day vacation.As a young cat in our condo, he amused us by following us everywhere, sitting on my shoulder, and sleeping curled up tightly in my armpit. That first spring he was too small to climb the stairs easily, but stubbornly managed them one step at a time anyway.

Ross and Rory tucked under the covers.When we moved the following winter to our current house, naturally he came along. We weren't too worried about the relocation because he had never been allowed to be outside unsupervised. The move itself was uneventful, and with one minor exception he immediately took over the new, larger, space.

Rory on an upper shelf above the spice rack in a kitchen cupboard.His first experience with ceiling fans unfortunately coincided with his first experience with large expanses of linoleum flooring. The new house came with a ceiling fan in the dining room, and linoleum over the entire dining and kitchen spaces. On his first exploration of the house, he was uncertain about the cold flooring. About the second time he wandered into the dining room someone had turned the fan on. He got out into the center of the floor, then realized something was wrong. Hunkered down, he scanned the room for the threat, saw the large, moving fan blades, and panicked. At that point, he learned that it is not easy to accelerate from a standstill on clean linoleum....

Rory lurks in a paper bag, waiting for his moment to spring out and be Once we were all well established in the house, Emily wandered onto our doorstep. When she and Rory touched noses through the screen door, we decided that it might be safe to capture her and add her to the family. After she got a quick visit to Dr. Domotor, we solved the often thorny problem of introducing the second cat to the house by leaving on vacation for two weeks. When we returned, neither cat was speaking to us, but they were fast friends and remained so to the end. Rory and Ross sound asleep, sharing a pillow, nose to nose.For his last weeks at home, Emily was helping to clean Rory up after syringe feedings, and generally grooming him in his last few days.

Our third cat, Apostrophe, was also a stray. We watched him grow up from a clumsy kitten barely able to walk without tumbling, into a lanky, amiable klutz. He argued persistently for months that there was room for at least one more cat inside, and we finally relented and moved him indoors full time after the second trip to a kitty ER to have punctures on his backside cleaned out. Rory, backlit in a high-key exposure.Rory took the addition of a third in stride, and in time they too became fast companions.

So, Rory, requiescat in pace. You touched many lives, and are missed by all who knew you.


RFID Passports Revisited

I've written about RFID and passports before, but have let most of the recent news about its interaction with the new biometric passport standards slip. But I can't pass up the latest tidbit.

The problem with RFID in general is that you can't make reasoned arguments against it without sounding like a kook that is afraid of black helicopters and mind probes. The thing is, that there really are some serious issues raised by the widespread adoption of RFID that simply are not possible if simpler (and cheaper, and more suited to the application) technologies like 2D barcode are used instead.

In short, the advantage of RFID is that the tag's information can be retrieved without the operator needing to actually see the tag. The disadvantage of RFID is that the tag's information can be retrieved without the operator needing to actually see the tag. But that actually isn't the reason for today's bit of ranting.

The ICAO is the agency of the UN that sets standards for passports, which are generally adopted by the member nations, including the US. The ICAO established a standard requiring that passports carry biometric information about the holder in addition to the usual date of birth, full name, and issuing country which is about all the information that passports classically carry.

Apparently, a typical bit of biometric info to include is an image of a fingerprint. Rather than storing an encoded hash of a matching print that would require a border checkpoint to use an equivalent (usually patented if not trade secret) technology to match a bearer's print, someone chose to store a simple image of the print. Since it is important to use as little space as possible to store the image, JPEG2000 is used to compress a photograph of the fingerprint. If you are going to store a fingerprint in a document with a hoped-for lifetime of 10 years, that is all reasonable.

Unfortunately, the makers of the passport readers all appear to have used JPEG2000 implementations that have some (or all) source code in common. In particular, there is a known bug in the JPEG2000 implementation that makes it vulnerable to a buffer overrun attack.

A determined individual demonstrated recently that he was able to use off-the-shelf technology to clone a copy of a passport's RFID chip. That is bad enough. But his latest revelation is worse: he was able to modify his cloned copy of a passport's otherwise valid RFID tag to include a fingerprint picture that exercises a known buffer overrun attack on JPEG2000. That tag has been demonstrated to crash every passport reader it has touched.

Today's attack is just a denial of service. The passport station would be crashed, and under normal conditions it could be restarted relatively easily and wouldn't crash again until another bad passport was brought through. (Of course the fiasco at LAX the other day involving 10000 people stuck on the tarmac outside of the customs barrier for as much as seven hours could be the result of that denial, especially if the official reaction to such a crash was institutionally stupid.)

But one of the better ways to inject code of the attacker's own choosing into a device is to carefully craft a buffer overrun attack so that rather than crashing the targeted system, it actually takes it over. At that point, you have code provided by an attacker running inside a passport terminal. These terminals are networked, and it is not inconceivable that such an attack could have effects that are both subtle and far reaching.... I'll let you fill in your own risks from that point.


Mooning Again

Since I last mentioned the Lua programming language in these pages, it has seen a surge in visibility. Yes, I know that is a coincidence, because I am pretty sure I don't have enough readers of my random musings to have had an effect.

But it is interesting to see that it has sustained its place in the TIOBE top 20 at the respectable position of #15 this month. Since TIOBE doesn't appear to keep an archive of each month's scoreboard, here is the list as of August, 2007:

Rank Language Ratings
1 Java 21.768%
2 C 15.699%
3 Visual Basic 10.646%
4 C++ 10.111%
5 PHP 9.696%
6 Perl 5.320%
7 C# 3.987%
8 Python 2.749%
9 JavaScript 2.575%
10 Ruby 1.906%
11 PL/SQL 1.833%
12 SAS 1.389%
13 D 1.251%
14 Delphi 1.222%
15 Lua 0.645%
16 COBOL 0.600%
17 ABAP 0.587%
18 Lisp/Scheme 0.585%
19 Transact-SQL 0.549%
20 Ada 0.537%

A couple of things struck me about this list of languages. One is the absence of FORTRAN despite the continued presence of COBOL and SQL, both more venerable. This month, FORTRAN is found down at #21, or just pushed out of the top 20. The presence of D in the ranking at 13 (D is the 13th letter for the numerologists in the audience) is amusing at least partly because Walter Bright, D's creator, is a friend of a friend. I am sad to see that Java continues to dominate, but heartened to notice that the C/C++ family if counted as one language would both push Java down a notch, and allow FORTRAN to return to the top 20.

The real surprise is Lua. A year ago, TIOBE had hardly heard of the language. Last December, Lua just slipped on to the top 50 list, at a position quite near to Objective-C (near and dear to Mac OSX developers--interestingly, Objective-C hasn't budged much at all since December, since it is sitting at #50 exactly today). Lua crossed into the top 20 list by landing at 18 in July, and clearly it is on track to improve its current standing again for September.

The full story on what the TIOBE index is calculated from is found here. In short, they run hand tuned queries against all the major search engines for each language, count the significant hits, and do a lot of statistics to arrive at the score for each language. The final ranking is then simply the list of languages sorted by their scores.

In case my biases aren't clear, Lua is my new favorite language especially when combined with just enough C to get the job done. The majority of my productive work is done in C, Lua, and Perl, with the occasional diversion to C++ and on rare occasions, Java. Although I have not personally used any of the .NET family, I firmly believe that .NET is to be preferred to Java any day.


And Now, in Cat News

Rory in 2002

I haven't written much in this space before about the cats that actually own my house and run my life. That is mostly because I have been more interested in technical topics or entertainment. The existence of cats and that they are in charge was generally not germane to either of those topics.

Lately, our oldest cat Rory (short for Rorschach for the perfect ink blot mark folded along his spine) has himself become the source of technical musing. He went lame, and the lameness developed into mild paralysis of his hindquarters. Concern for his health resulted in a trip to the vet, where attempts to cure the immediate problem revealed deeper problems and resulted in a lengthily stay. He returned home for a week, but has had further difficulties and had to return to professional care.

Because of these difficulties, we have had the opportunity to see more of the inside of a well-run veterinary hospital than we ever had before.

Some background might help here. All of our cats have been seeing the same vet since they were found and adopted. All three were originally strays that volunteered for the strenuous post of indoor cat with a small household staff to keep in order. Their vet is Dr. Sylvia Domotor who now operates Dr. Domotor's Animal House in Monrovia employing several other vets and a sizable staff. She has been their vet since well before she founded her own practice. The cats remained her patients because we have always approved of her handling of them. For that matter, we have had nothing but good experiences with all of her other vets and with the rest of her staff.

And as we go through these difficult times with Rory's health, we are touched again and again by their kindness and professionalism.


Rosemary's, Mac King, and Spamalot

We just returned from a short jaunt to that great blinding spot in the desert, Los Vegas. The trip was designed to let us stuff ourselves silly, and see some silly shows. It was a complete success.

We had a phenomenal dinner at a small restaurant well off the strip called Rosemary's. The whole experience was wonderful, with just the right combination of good service, great food, and good beer. We both had the night's five-course tasting menu, including matching beers in my case. Every detail of the service, presentation, plating, food, (and matching beer selection) was perfectly executed. My only note for a return visit would be to go easier on the early beers... four 150ml servings and a smaller dessert beer do add up, especially when cleverly served in half-full 300ml mugs. The dessert course for two was a sampler of half-servings of pretty much the entire dessert menu which itself is a menu item they call their Dessert Storm. It is highly recommended if you manage to have room for dessert and can't make up your minds.

We had a very fine lunch at a hard to locate Thai restaurant called Lotus of Siam (known to foodies as LOS). It too is well off the strip, although in this case you could easily drive right past it due to the mini-mall it sits in having its face turned away from the street. Those in the know order lunch off the menu, although their buffet certainly looked and smelled good.

For entertainment in between sessions of overindulgence in food, we managed to see the classic cars at the Imperial Palace, Shrek 3, Mac King's afternoon show at Harrah's, and Spamalot at the Wynn. 

Each of those probably deserve separate reviews, but...

Mac King is a friendly down-to-earth guy who's performs as a bit of a hick in an ill-fitting plaid suit. The show is fun, and in between bouts of silliness he does some seriously good magic and gets really strong reactions even from the relatively jaded (and quite often slightly tipsy) Vegas audience. Be warned, however, that his style is not the classic gentleman magician...

Spamalot is the Vegas version of the Broadway Musical (somewhat loosely) derived from the classic Python film Monty Python and the Holy Grail. For Vegas it seems to get an extra dose of showgirls, is cut a little shorter, and runs without intermission. Fans of the film are pretty certain to find most of their favorite bits and lines preserved, although some of the longer sequences from the film have been simplified. The result was a very effective translation of the experience of the film into the completely different medium of live theatre.

Back at home, we find ourselves in need of a vacation from our vacation...


New look for my ranting

To confirm the obvious, Ross Randomly Rants has a new look. Blogger revised its systems a while back, and recently pushed all of us into their new format. Since they allowed us to preserve our existing templates and page designs, this change probably had little or no visible effect aside from requiring some people to have Google accounts.

Here at ranting central, I finally got around to finding out what new features were available if I flipped my blogs to the new layout system from the old template system. The key feature that pushed me over the edge is that new Blogger has post labels. Labels are a lot like what we call tags over at Flickr: an ad hoc mechanism for categorizing blog posts.

Once I went back and re-read all the old posts and dropped a few labels on them, I realized that the blog itself needed a way to tell visitors what labels I had used and as a result a way to find posts with particular labels attached. Although there might be tricks available to show the labels in an old Blogger template, it was much easier to bite the bullet and flip to the new layout system where a list of the labels in use in my blog is a stock widget.

Then I got greedy. At Flickr, we are used to tag clouds as the best way to display a collection of tags. A cloud lists all the tags, but uses font size and color variation to signal which are used more than others. This produces a more interesting display than a flat list with counts of posts. A little searching around produced a page at phydeaux3 that did exactly what I wanted. I don't know who phydeaux3 is, but their fine script deserves credit.

I hope the change to a cleaner overall look is for the better, and now all that remains is to remember to actually label my posts in the future.


MOOve over business cards

Long-time users of Flickr have probably already heard of MOO, but since the short-lived free promotion has long since expired I thought I would share my experience with them and one of their products. The executive summary is that I am very happy with their product and service.

Moo is a printing company in England that is providing a novel service. They make custom printed social cards and invitations using photography and text of your choice. But, that doesn't really sound all that novel, does it?

The difference is that they have optimized their print workflow to permit many different photographs to be used in a single print job, with printing on the reverse side that relates to both the user and the photograph itself.

They have also chosen two unusual formats for their products. Their oldest product is a kind of social card with a photo on the face and writing (up to six lines of text) and logos on the back. The text can be fixed (name, URL, phone number, email, address, or whatever else seems appropriate) or derived from the photo itself (title, date, and similar). The card is nominally 1:2.5 in aspect ratio, and my box measures 2.8cm by 6.9cm (which works out to 1:2.47). If you are keeping score, this is somewhat less than half the size of a standard US business card (5.1cm by 8.9cm, 2" by 3.5" or 1:1.75 aspect ratio). The paper used is a heavy matte-finish coated stock so the cards don't feel flimsy at all. Boxes of 100 run about US$25.

Their new product is larger, at 10cm square. It seems to be aimed at invitations and announcements, and is significantly more expensive than the classic MOO card.

They are particularly well integrated with Flickr. It was extremely easy to create a MOO account, connect it to my Flickr identity, and select an entire set of photos as the starting point for my order. Since I selected about 25 photos, the minimum order of 100 cards got 4 copies of each photo.

Their automated workflow emailed me to confirm the order within minutes, and again to confirm that it was in the hands of the Royal Mail about one week later. It arrived in my mailbox in California only five days after the email. For my US$25, I received a very nicely printed stack of cards. Since I didn't happen to include any text that was derived from the photo itself, I didn't test its ability to make the fronts match the backs but all the cards do have my info and none have anyone else's info on the back. They even included my Flickr avatar on the back!

I've given away a handful already, and expect to hand out more in the days to come.


Raving about a moon

Lua logo

Several months ago I tripped over a little language called Lua. It seemed like a novel idea, but its absence of curly braces and lack of ++, += and similar operators felt uncomfortable after years of C, and I didn't look very close. Then I started to notice it hiding in the most unlikely places, culminating in Adobe Photoshop Lightroom where the development team claims that over 40% of LR is implemented in the Lua programming language. It seemed like it was worth a second look (along with SQLite, the database engine behind LR, but that is another subject altogether) so I started to play with it.

In a word, "wow".

Lua is a scripting and extension language designed to be easily embedded in a host application. It has a simple C language API that permits the application to easily call functions and manipulate lua values. It also makes it easy to call C functions from lua code, and to add those functions by dynamic linkage to a running program from shared libraries (DLLs on Windows).

Lua was invented by a resourceful group at a Brazilian college to serve needs they saw for configuring and extending applications. Since it was a successor to an earlier language called Sol (Portuguese for Sun), it got named Lua (Portuguese for Moon).

As I see it, several properties of the language have contributed to its success. First, the Lua team has chosen to use the MIT license which is an open source license that also permits effectively unrestricted use in commercial products. This has made it legally possible for commercial developers to consider using the language in their products; and probably as a result of this leniency a significant number of commercial product teams are regular contributors to the lua programming community.

Second, Lua is implemented in standard C, sticking to the subset of the C language that has identical semantics if compiled as C++. The Lua language itself is compiled for a virtual machine and can be saved as (non-portable) bytecode before execution in the VM. Since it is possible (and encouraged) to write lua programs that don't need to compile new code at runtime, it is easy to separate the compiler from the interpreter and distribute only pre-compiled byte code files. Because of this, it is amazingly portable. It is found inside a shocking number of game consoles, PC games, more general products like LR, and even a wide array of embedded systems. In an embedded system, it is most likely to have the compiler stripped off to reduce the amount of code and data space required in a limited environment.

Third, and certainly not last, lua is a very expressive language. The designers have emphasized mechanisms over policies, and as a result although lua is not an object oriented language, you can use its core metatable features to implement object oriented features such as single and multiple inheritance, private data, and object and class methods. Functions are a first-class value, and hence can be stored in variables, passed as arguments to functions, and even be generated (as closures) as the return values from functions.

The core language provides numeric and string data types, along with nil, tables, functions and threads, and two kinds of data wrappers for opaque data belonging to the C side of the fence. The language provides an incremental garbage collector that can be tuned to avoid long stalls for collection.

The C API makes it easy to provide wrappers for third party libraries and system calls that can be loaded on demand. By putting the most demanding inner loops and algorithms into C libraries and leaving the overall program structure to lua, powerful utilities can be built quickly.

My first project in Lua was a serial protocol debugger for a new feature for one of Cheshire's projects. In about 1500 lines of lua and another 1500 lines of C (and only a couple of days work) I was able to build an interactive serial port debugging tool that could log traffic, load and save the logs, send arbitrary data to the device, send random data to the device, and play saved files at the device at an adjustable rate. Building something like that from scratch with C++ and MFC would have taken a lot longer and may never have been as feature rich.

Since then I have built a protocol analyzer for an unrelated Cheshire project with a much more complex packet based protocol, and even built a live status monitor with meters and displays. I have created my own generalized C language host application so that I can deliver an installable windows application as an executable, a few DLLs, and a nest of lua scripts. When my host engine is ready for public view, I will be releasing a version of it back to the Lua programming community as my thanks.

Learn more about Lua at www.lua.org where you will find links to the language itself, its reference manual, books published by its authors, and of course links to the most prominent bits of the lua community: the lua wiki and luaforge.

The tools I've built for Windows would not have been possible without some of the other work contributed by people associated with Lua's creation: IUP for portable user interface design, CD for 2-D graphics, and IM for image processing.


A Box of (slightly) Puzzling Mystery

So I get home from work the other day, and a small, white, cubical mailing carton is waiting on the doorstep. Since that isn't all that unusual, it got nudged inside without much thought. A little later, Michelle noticed it and wondered what I had ordered since it wasn't hers after all.

Looking at the label didn't answer any questions. It was, indeed, addressed to me. My name was spelled right. The return address was a complete unknown and I am pretty sure I haven't been shopping on eBay (actually I know I haven't since I don't have an account there at all... that's Michelle's bailiwick).

A Puzzle Box

So we open the carton, and this is what we found inside neatly wrapped in plastic, bubble wrap, and air bladders. It is a very nicely made puzzle box, about 11.8 cm by 8.2 cm by 5.3 cm, covered with intricate inlay patterns.

There was no packing slip, so the plot thickens.

Proof that it can be opened.

I've seen this sort of thing before, so I know that opening it is just a matter of patiently searching out which bits of which panel will slide, and then solving the maze to get the box all the way open. An inscription found inside. It is possible its not right side up in this photo, however.This turns out to be a well made a fourteen step box, counting the final removal of the cover. Aha! There's a rolled up sheet of note paper inside. Perhaps that will answer the obvious question... but alas, it only answers questions for those who can read Japanese, and I cannot.

The one remaining clue is the return address: someone at U of Waterloo, in Canada. Perhaps Google will shed some light. Expecting to find someone known to the puzzle community, perhaps an importer of well crafted puzzle boxes, I give that a try. My unknown benefactor is clearly the first search result... but he has no obvious connection to puzzles, woodwork, Japan, or me.

 Except for one minor thing. He's one of a very small community of people who deeply understand quantum computers, another of whom almost certainly knows both of us, lives in Japan, and furthermore knows I collect things like this box and would be amused by a good puzzle.

Thanks, Rod, for the mysterious box...


Saving What?


I keep meaning to research and write a meaningful and coherent piece about the madness that is called Daylight Saving Time in the US, and Summer Time in other places, but I keep finding clocks I've forgotten about.

My wristwatch that keeps accurate time by listening to radio broadcasts on WWVB (tune the right kind of receiver to 60000 Hz out of Boulder, CO for a bit stream pulse width modulated on the carrier carrying "official" accurate time data provided by NIST from their atomic clocks) and disciplining its local oscillator naturally failed to have a signal and didn't actually reset itself. Anecdotal reports have it that I am not alone in that experience. Beating it firmly with its user manual got it to go reacquire the time signal and reset.

And don't even get me started on the consequences of the law passed in 2005 that changed the DST start and end date rules on the theory that this will save energy. I don't happen to know what our 20+ year old PDP-11 (still happily running RT-11 and TSX+ and patched to correctly handle Y2K) chose to do. Since the PC on my desk is the only one at the office running a "supported" version of Windows, it was the only one that got an "official" patch applied.

The only change that should be made to the DST rule is to eliminate it entirely. Sure, there would be some amount of confusion as devices nationally are patched to forget about DST, but that is a small price to pay for never having to worry about it again.

I have a real problem understanding how giving the entire country Jet Lag twice a year saves anything worthwhile. If some activities are better performed in daylight, then just don't do them in the dark.



And I though LA Traffic was bad...

I was following up on a recent article on an open source project that builds Windows Installer packages (.msi and .msn files) called WiX and wandered off to its lead developer Rob Mensching's blog where he had this post about driving in India: Its like Frogger!

That post links to this video at YouTube.  All I can say is that I'm surprised the 2 minute clip doesn't include at least one fatal injury ;-)

Aside from that digression, WiX looks like an interesting way to build reliable installation kits for both large and small tools without being obligated to buy yet another developer tool or distort the build process. Being command line based, it should integrate nicely with traditional Makefile builds, and comes with task definitions to fit with the new class of build tools (in particular Ant and MSBuild) that describe projects in XML.

I am currently using Inno Setup as my installation creation tool of choice, but it doesn't always play well with others since it creates executable installers rather than MSI packages. It too is open source, free, and it does integrate with Makefiles, so I don't have that much incentive to change tools.


More ad hominem attacks on skeptics

Today, the Boston Globe published an article by Ellen Goodman: No change in political climate. In it, she repeats an ad hominem attack that I am seeing used increasingly. She writes:

I would like to say we're at a point where global warming is impossible to deny. Let's just say that global warming deniers are now on a par with Holocaust deniers, though one denies the past and the other denies the present and future.

My problem is with the phrase "global warming deniers" which has been gaining currency lately and was clearly coined to evoke images of Holocaust deniers such as the deranged person who attacked Elie Weisel today. Worse, she makes the comparison explicit and even states that they "are now on a par with Holocaust deniers".

That is the worst kind of ad hominem statement. Hurling personal insults at those who disagree with your position does not make your argument correct. In the eyes of some people, it actually weakens your argument by damaging your credibility.

In addition, it is hugely offensive to many people to misuse the memory of the Holocaust in this way.

Science is properly about debate, skepticism, questioning, and explanation. Science is not about consensus. Labeling those who are skeptical about the extraordinary claims about anthropogenic climate change as "deniers" serves only to silence debate through intimidation, not to advance the cause of science.


My Favorite Professor

Dr. Ron Ayres passed away earlier this month. Ron was among the top three teachers I was fortunate enough to take classes from at Caltech, and a good friend. The Los Angeles Times carried the notice last week, and my good friend and classmate Rod Van Meter has a copy of it on his blog.

Ron's work was influential in the early development of silicon compilation, and he helped create the MOSIS service to provide foundry services to individuals, research groups, and small companies. He was also a cellist, a beach bum, and a good friend.

As Rod notes, Ron was the very first person to receive a PhD in Computer Science from Caltech.

Ron's sense of humor was unique: When I first met him in about 1986, he was driving a Renault Le Car, with a vanity license plate that read LA CDR. Extra credit if you can name the language in which this was funny...

Ron will be sorely missed by all of us whose lives he touched.