Saturday, June 10, 2006

Dogly Thoughts

Hat tip to my friend Tom B.

The Philosophy of Dogs

The reason a dog has so many friends is that he wags his tail instead of his tongue.

— Anonymous

...

Don’t accept your dog’s admiration as conclusive evidence that you are wonderful.

— Ann Landers

...

If there are no dogs in Heaven, then when I die I want to go where they went.

— Will Rogers

...

There is no psychiatrist in the world like a puppy licking your face.

— Ben Williams

...

A dog is the only thing on earth that loves you more than he loves himself.

— Josh Billings

...

The average dog is a nicer person than the average person.

— Andy Rooney

...

We give dogs time we can spare, space we can spare and love we can spare. And in return, dogs give us their all. It’s the best deal man has ever made.

— M. Acklam

...

Dogs love their friends and bite their enemies, quite unlike people, who are incapable of pure love and always have to mix love and hate.

— Sigmund Freud

...

I wonder if other dogs think poodles are members of a weird religious cult.

— Rita Rudner

...

A dog teaches a boy fidelity, perseverance, and to turn around three times before lying down.

— Robert Benchley

...

Anybody who doesn’t know what soap tastes like never washed a dog.

— Franklin P. Jones

...

If I have any beliefs about immortality, it is that certain dogs I have known will go to heaven, and very, very few persons.

— James Thurber

...

If your dog is fat, you aren’t getting enough exercise.

— Unknown

...

My dog is worried about the economy because Alpo is up to $3.00 a can. That’s almost $21.00 in dog money.

— Joe Weinstein

...

Ever consider what our dogs must think of us? I mean, here we come back from a grocery store with the most amazing haul — chicken, pork, half a cow. They must think we’re the greatest hunters on earth!

— Anne Tyler

...

Women and cats will do as they please, and men and dogs should relax and get used to the idea.

— Robert A. Heinlein

...

If you pick up a starving dog and make him prosperous, he will not bite you; that is the principal difference between a dog and a man.

— Mark Twain

...

You can say any foolish thing to a dog, and the dog will give you a look that says, 'Wow, you’re right! I never would’ve thought of that!'

— Dave Barry

...

Dogs are not our whole life, but they make our lives whole.

— Roger Caras

...

If you think dogs can’t count, try putting three dog biscuits in your pocket and then give him only two of them.

— Phil Pastoret

...

My goal in life is to be as good of a person my dog already thinks I am.

— Unknown

Loterie Nationale

Most of the time, spam emails just tick me off. My email address is public enough that it has been discovered by just about every purveyor of ripped email addresses, and as a consequence I get hundreds of these damned things every day. I use Thunderbird as my email client, and its built-in junk mail filters do a bang-up job — but still, a few get through every day. This morning I found this gem in my inbox, having escaped Thunderbird’s junk filters:

NOTIFICATION FROM THE LOTERIE NATIONALE

We are delighted to notify you of the result of the LOTERIE NATIONALE quarterly award program. In accordance with the world lottery ordnance, you authorized as an official lottery prize winner to immediately file in for your claims upon receipt of this mail.

This is an online promotional program organized by LOTERIE NATIONALE. A total number of various individual email addresses and companies alike were entered for the Free Lotto Automatic Subscription Ticket Game. Details were submitted by international email service providers/marketing companies including public service providers strictly for this exercise. No ticket was sold.

Bear in mind that prizes will strictly be remitted to winners that officially file in for their claims within the given time frame. To begin your claim process, you are advised to immediately contact our program coordinator with the details below.

MRS. JANET DAAL.

Global Consult

Tel: +31 [redacted]

Email: [redacted]@excite.it

Note that all winnings must be claimed within 10 working days from the date of this notification; any unclaimed prize will be returned to the treasury of the organizing firm as unclaimed prize.

(NB) You are to file in for the claim of Two Million Five Hundred Thousand United States Dollars ($2,500,000.00) under category “A”. Here are your winning details:

Batch Number: LN-DN0TR764

Ticket Number: LN-TW09XV51

Ref Number: LN-883M09

Lucky Number: 554-20-501

Serial Number: LN/ERS

Congratulations once more and thank you for being part of our quarterly promotional program.

Yours truly,

KARL SCHOLTEN

The first thing that caught my eye — and what stopped me from deleting it immediately, as I usually would — was the phrase “world lottery ordnance”. Now I’m sure they really meant “world lottery ordinance", but the spelling they actually used raises all sorts of humorous questions. How, exactly, do you turn a “world lottery” into some kind of heavy weapon? Hmmmm… Perhaps you print a bazillion lottery tickets, pack them into a nice aerodynamic casing, and then drop them on some terrorist’s head? Hah!

The second paragraph is typical of these spams: a pathetic attempt to make a plausible case for why I should have been randomly selected to win $2.5M, in a way that benefits no company or government. And of course there’s the line calculated to build a sense of urgency: I have only 10 days to take action, or I’ll lose all this money!

You gotta love all the official sounding details, too. Not only do I get a ticket number, but also a batch number, a serial number, a reference number, and even a lucky number. Wow! This must be for real, with all that specific information on it!

I redacted the (Italian) email address and (Dutch) phone number, because I don’t want to be responsible for anyone actually contacting this scammer. I’m not sure what would happen if you did contact them, but most likely it would involve getting your bank or credit information — I can’t imagine what else they’d be after.

It never ceases to amaze me that such unsophisticated spams actually work — but they must, or nobody would go to the trouble of sending them off.

"World lottery ordnance”. Heh.

Friday, June 9, 2006

Formative Events

This is the second of an intended series of posts on the formative events in my life. Search for “formative events” to see all of them.

It’s hard for me to overstate the importance of the role that reading has played in shaping my life. I don’t remember exactly how and when I learned to read, or gained reading skills, but I do know this: I learned to read proficiently, with an adult-level vocabulary, years earlier than the other kids I grew up and went to school with.

Certainly part of the reason for my early reading skills was simply practice (more on that in a moment). But I know there was something else at work as well: I was a painfully introverted little kid, and books were a comfortable, certain, and accessible escape for me. Early in my reading I had the ability to completely lose myself in the book I was reading. If it was a fiction book, my whole world became the world in the book; if it was a non-fiction book, I got totally focused on the subject at hand (no matter what it was!). The scary and hurtful real world was gone. I was in another place for so long as I could read without interruption. It was (and still is!) almost another state of being for me. In my youth, this alternate reality was a much better reality than (most especially) school, and I was mightily attracted to it. When I read about addiction, some of the symptoms resonate with me — I think some might classify me as a “reading addict"…

But practice was also important, and while I can’t remember it precisely, it must have been practice that got me the reading skills that first allowed me to get into that other place. Our home — despite being on a farm, with a lower-than-average disposable income — was a rich source of reading material. Our livingroom had a large built-in floor-to-ceiling set of bookshelves packed with books, and we had a set of overflow bookshelves in our cellar — hundreds, perhaps thousands of books. And I devoured them all. I mean that last bit quite literally: I read every single book in our house — even an encyclopedia — cover-to-cover, and sometimes multiple times. My parents had some books hidden away, presumably because of their adult content, but I found all those, too (sorry, mom <smile>). I remember my frustration, at something like 12 or 13 years old, that I could find no more fresh reading material at home. Fortunately that’s about the same time I discovered lending libraries, and they became the source for my reading “fixes”.

Some of those books at home still stand out in my memory. The encyclopedia has a special status, for it was my introduction to the idea that one could acquire new knowledge by reading. It was also my introduction to the very notion that knowledge had been organized, and that there were named areas of knowledge (history, botany, mechanics, physics, etc.) that could be further explored. It may sound silly now, but for me at the time that was a huge revelation — I was so naive that I simply had no idea this was the case. My parents subscribed to Reader’s Digest Condensed Books, and we had hundreds of them on our bookshelves. Each of these books was a hard-cover volume of some 300 or 400 pages, with a “condensed” version of (on average) about five novels in each volume. Today I wouldn’t dream of picking up one of those things, for fear that the novelist’s art had been rudely trashed. But imagine what it was like for me as a kid, romping through hundreds of novels, in a form that was highly digestible for someone with a short attention span. By the time I was about 10 or 11, I could easily read an entire volume in an evening — a rate of five novels a day. We could have a debate about the quality of that experience, but you certainly couldn’t argue with the breadth of exposure it gave me. Those volumes introduced me to dozens and dozens of authors whose work I have enjoyed my whole life. Finally, there was a collection of books that my family inherited (my fuzzy memory says from my dad’s side) — kids books from the late 1800s and early 1900s. These were simply marvelous, and a nearly-endless source of pleasure for me: books like the Uncle Wiggly series, the Wizard of Oz series, and so on. Many had gorgeous color “plates” that I can still remember. I loved these books, reading each of them many times.

Somewhere along the line, certainly by the time I got to high school (Steinert High School in Hamiltion Township, NJ — alma mater of Sam Alito, our newest Supreme Court Justice — and no, I didn’t know him; I did know his sister Rosemary, who was in my class), I realized that I was reading a lot more than most kids were — and that I what I read, I read much faster. This was brought home to me in a way that was both exciting (because I got some recognition, a rare thing for me at school) and extraordinarily uncomfortable (recognition and introversion don’t mix well). I can’t recall the exact details, but sometime in my senior year there was an awards ceremony. The entire senior class was gathered in the auditorium, and one by one names of students who had excelled in some fashion were called to receive their public congratulations and a certificate. I remember sitting in the audience watching this as the select few of my fellow students were called up: highest grades, most improved, sports heroes, etc. Then I heard my name called — and I cannot convey in words just how profoundly shocking that was. I couldn’t imagine what I could possibly be recognized for — certainly not my grades, which were mediocre. I had gotten very high scores on SATs and the National Merit Scholarship, but there was nothing unique about that in our very large high school — several other students had equivalently high scores. And that agonizing walk to the stage, and up onto it — I can still recall the introverted pain of that march to my doom. When I got to the podium where our principal was handing out the awards, he started blathering about my “special” award, one they’d never done before, to recognize an achievement they’d never anticipated: I had checked out vastly more books from the school library than any student had ever done before. I don’t remember the numbers any more, but I do remember the principal saying that the number was 8 times my nearest competition. I knew that I read a lot, but I really didn’t realize that my reading volume was anything remotely like that exceptional. The librarian (one of my few adult friends), it turns out, had lobbied for this recognition. She also was the only person who knew that not only had I checked those books out, but I had read them — she often quizzed me about them, and even occasionally read one on my recommendation. She knew I’d read every last one of those books.

Two categories of those high-school books stand out for me: science fiction (in general), and Isaac Asimov’s incredibly wide-ranging series of non-fiction books on science and technology. The science fiction (and fantasy) became, for many years, my favorite escape mechanism. Isaac Asimov wrote science fiction, but he also wrote hundreds of non-fiction books, many of them aimed at young people. He had a special talent for making science and technology understandable — and fascinating — for me. Once I discovered them in our library, I read all the volumes we had, and then lobbied our librarian to get more. She’d either buy them, or borrow them from other libraries, just for me — in fact, this collaboration of ours on Isaac Asimov’s books, when I was in the tenth grade, was the beginning of my friendship with her — and that friendship was very important to me (and a couple of other social rejects) in high school, as she and her library were my refuge from the many ugly experiences I had in school. To my shame I cannot remember her name, but I remember her, and very fondly.

Well, this certainly turned into a long post!

That’s the story of the beginning of my lifelong reading habit. It hasn’t stopped or even slowed down; not at any point in my life. For example, when stationed on a ship in the Navy, I read the entire contents of its rather small library. Of course <smile>. And I read more now than I ever have, though much of my reading is now online. But I still read several print books every week, between 8 and 10 on average. I tend to go on binges — fiction for a few weeks, non-fiction in a particular subject area for a few weeks. Currently I’m on a political and history binge, reading everything I can get my hands on about the war on terror (there’s a surprising amount of good material out there already)…

Thursday, June 8, 2006

Formative Events

Intro

Every adult can look back at their life and identify some key events that determined the path their life has taken. These are what I’m calling “formative events”.

For myself these formative events come in several flavors. Some have a nature such that I might have been able to identify them as formative events even as they happened. Others I can only identify long after the fact. Some have an element of intention about them; others are accidents — fate, some would say. But what they all have in common is that (at least now) I can look back and say “If that hadn’t happened, my life would have been much different."

The purpose of this (intended) series is to chronicle those formative events in my life. I’m going to write about them not in any organized way (for I’ve never organized these thoughts and memories before), but in whatever haphazard fashion I happen to think of them.

Part 1

A conversation with my mother about my cousin Mike brought this event back to mind. It’s an event I’ve thought of many times over the years, as it had a huge impact on the direction of my life — but I would never have known it at the time.

This event occurred during a visit to my Uncle Earle’s home in northern New Jersey, in the early 1960s when I was about 10 or 11 years old. Uncle Earle (who died several years ago) was my father’s eldest brother, some ten years his senior. He had a career as an electrical engineer, starting back in the days of vacuum tubes; eventually he became the editor of EDN (Electronic Design News) magazine. I’m actually not sure what Uncle Earle was doing, career-wise, at the time of this event, but all that matters in this context is that he was an electrical engineer.

Parts of my memory of this event are quite fuzzy, especially about how it got started. Uncle Earle had a study, or office, or something like that, where he worked on things at home. I was in this room, looking around, and I saw a strange object on a shelf, between some books. This object consisted of a rough sphere (about the size of a softball) of some stuff wrapped up in black electrical tape, with a rat’s nest of bare wires emerging from the top. Interspersed in that rat’s nest of wiring were some tiny neon lamps — and every once in a while, one of them would flash briefly. Years later I built one of these things myself. I’ve forgotten the details, but basically it was some kind of an oscillator coupled with a voltage-multiplier; when the voltage out of the multiplier reached the neon’s breakover voltage it would flash, the voltage would drop, and the cycle would start over.

I was standing there staring at this “thing” when my Uncle Earle walked into the room. He was a very tall, thin man, and I was a little frightened by him — I’m not sure why. I knew, of course, that he was my father’s brother…but he wasn’t anything like my father. I remember that I expected to be in some kind of trouble when he caught me looking at the “thing”.

But instead, he noted my curiousity and started asking me a bunch of questions. This caught me completely by surprise, especially the nature of the questions: he was trying to find out if I was particularly interested in electronics, or even more generally, science and technology. And I was particularly interested in those areas (in other installment, I’ll explore the “whys” of that a bit more) — but nobody had really paid much attention to that before. The closest thing was when my father gave me an old crystal radio that he had built — but he couldn’t explain anything about how it worked.

After a few minutes of questions, Uncle Earle had me come sit down next to him at his desk (or perhaps it was a table, I’m not sure). The next hour or so is something I have a much clearer memory of — not really the precise happenings, but the nature of those happenings. What Uncle Earle did was to give me a very broad, very high bandwidth “introduction to electronics”. A whole lot of what he lectured me about went right over my head, of course. But a few things stuck like glue; they were revelations to me. Perhaps the key one, which seems almost funny at this distance: that you didn’t have to be some kind of Einstein to understand electronics. Anybody — including me, even as a kid — could do it. Another: that you didn’t have to be rich to pursue electronics as a hobby — components could be purchased relatively cheaply, and TV repair shops would give you old dead TVs for free that were chock full of perfectly good components. There were also some very basic electronics concepts that he managed to convey to me, in general form: Ohm’s law, and more generally, the notion that one could predict with certainty how a circuit would behave; and the general notion of what an amplifier actually does. He even put together a very simple circuit — I still remember exactly what it was — to demonstrate Ohm’s law to me. He hooked up a 6V lantern battery in series with a 270 ohm resistor and a 100 ohm resistor, then went through the math to predict the voltage divider’s result, then showed me with a meter that it matched. Amazing stuff for me as a kid. And my Uncle Earle, in that hour or two, covered a huge amount of ground.

I left that room with my brain going a mile a minute, filled with ideas and questions about electronics. And electronics has been a lifelong interest of mine, a continuous thread in my life from that event onward. Over the next few years, I learned much more completely many of the things that my Uncle Earle introduced me to on that day. I scrounged parts from TV shops, exactly as he suggested. I built power supplies, audio amplifiers, and (eventually) radio transmitters and receivers. I did all kinds of experiments (scaring the hell out of my mother, who banned them from our basement and made me perform them in a shack detached from our house). I learned some rudimentary design skills, successfully building a high voltage power supply (using vacuum tube rectifiers) and a primitive super-regenerative receiver of my own design. All of these things I’m sure I would never have done had it not been for my Uncle Earle taking an interest in my interest on that day. And while I’m not actively working in electronic design as a career today, my electronics background did lead rather directly to programming (more on that in another installment).

Years later — in the 1980s sometime — I had a rare telephone conversation with Uncle Earle. I brought up this event with him, as I was curious how he remembered it. He didn’t remember it at all! He did remember the neon lamp blinker, but had no memory of sitting down with me to “talk electronics”. But he was very amused to hear how much impact that event had had on me…

Right after that event, while my head was still spinning, I walked outside the house and smack into another formative event. One of my cousins (Mike, I believe) was tossing a frisbee back-and-forth with my brother Scott. But I had never heard of a frisbee before, and what I saw looked like magic to me: a bright orange disc flying around in a very stable, predictable way — for astounding distances. My first thought was that the frisbee was powered somehow; it’s low-drag flight was very counter-intuitive to me at that moment. I remember getting the frisbee in my hands, and discovering — to my great surprise — that it was simply an orange plastic molded disc (by Wham-O!). And I wanted to know why that damned thing could fly like that.

What made this a formative event was that desire to know why, which (when I got home) turned into my very first adventure in research. I turned first to the encyclopedia we had at home, but didn’t get very far at all, as I had no idea how to look it up (because, amongst other things, I had no idea that the word “aerodynamics” existed!). Frustrated, I asked my teacher at school — who sent me to the library and the librarian. The librarian was someone I knew well, as I checked out a lot of books (more on that in another installment) — but up to that point I had no idea that a librarian could help you find answers to questions (remember, this was in the days before Google!). Our school’s librarian was a sweet little old lady (I can’t recall her name) who was, I think, very bored. She absolutely leapt on this chance to help with some research, and lickedy-split we had a stack of juvenile science books that discussed basic aerodynamics. For the next few days at home, I happily discovered things like Bernoulli’s law, drag vs. lift, and so on — and came away with at least a rough idea of why frisbees could fly so well. It took me a long time, I remember, to figure out that the rotation of a frisbee has little to do with its aerodynamics, but everything to do with its stability — but figure it out I did.

This was a very satisfying experience for me…the very first time I asked “why” or “how” about something in the world of technology or science, and was able to get the answer. It was the first example of many such experiences in my life, a major pattern, really, that continues to this day.

And all because my cousin threw a frisbee.

Zarqawi

Sat down to read the news (online, of course) with my morning cup of (wonderful Pannikin) coffee this morning, and the first thing I read was:

Abu Musab al-Zarqawi is dead! Confirmed!

Oh, man, that’s a nice way to wake up. Is there a man on this earth who more deserved to be killed? I think not…

In addition to removing an evil and dangerous player from the world’s stage, this event also has tremendous symbolic value. For the Iraqis, it’s a concrete, tangible, and much-needed victory in the bitter war they’re fighting. For all the supporters of al Qaeda, worldwide, it’s an equally concrete and tangible defeat that can’t possibly be spun as anything else. One can also hope that al Zarqawi’s removal represents a significant and irreplaceable loss to al Qaeda’s leadership; only time will tell on that one.

This is one of those moments when I almost wish I was a religious man. I’d like to believe — better, to know — that al Zarqawi was roasting on a spit somewhere for all eternity. It galls me to know that his radical Muslim supporters believe that he’s now enjoying his 72 virgins and a beer. But in the end, I’ll settle (quite happily) for just taking great satisfaction in knowing that SOB is dead.

Congratulations to all of those men and women (from the news, I understand that contributions came from Americans, Iraqis, and Jordanians) whose service made al Zarqawi’s death today possible.

Almost lost in the glare of the al Zarqawi news is that Iraqis have another reason to celebrate today: their prime minister has finally announced agreement on the final cabinet ministers, including the all-important defense minister. The Iraqis finally have a democratic government all their own. That infant democracy now has a team in place that can make a go at self-government. We Americans have a lot riding on their success — not just the obvious issue of Iraqis taking over their own defense, but also the strategic value of a successful representative democracy in the Arab Middle East. We need the new Iraqi government to be capable, honest, and effective just as much as the Iraqis themselves need it…

Wednesday, June 7, 2006

Wow!

Simply amazing!

Globalization

Hat tip: Jim M.

Question: What is the truest definition of Globalization?

Answer: Princess Diana’s death.

Question: How come?

Answer: An English princess

with an Egyptian boyfriend

crashes in a French tunnel,

driving a German car

with a Dutch engine,

driven by a Belgian who was drunk

on Scottish whisky, (check the bottle before you change the spelling)

followed closely by Italian Paparazzi,

on Japanese motorcycles;

treated by an American doctor,

using Brazilian medicines.

This is sent to you by an American,

using Bill Gates’s technology,

and you’re probably reading this on your computer,

that uses Taiwanese chips,

and a Korean monitor,

assembled by Bangladeshi workers

in a Singapore plant,

transported by Indian lorry-drivers,

hijacked by Indonesians,

unloaded by Sicilian longshoremen,

and trucked to you by Mexican illegals…

That, my friends, is Globalization!

My monitor is Japanese, but…heh!

Internet Archive

A friend emailed me commenting about finding something he posted on the Web long ago:

I never imagined that it would still be available 10+ years later. I wonder if our blogs will always be available? Given the vastly distributed nature of the Net, it seems likely that our words will exist until earth doesn’t!

This immediately made me think of the Internet Archive, an interesting resource on the web that I hadn’t visited in a long time. From their “about” page:

The Internet Archive is a 501(c)(3) non-profit that was founded to build an “Internet library", with the purpose of offering permanent access for researchers, historians, and scholars to historical collections that exist in digital format. Founded in 1996 and located in the Presidio of San Francisco, the Archive has been receiving data donations from Alexa Internet and others. In late 1999, the organization started to grow to include more well-rounded collections. Now the Internet Archive includes texts, audio, moving images, and software as well as archived web pages in our collections.

Libraries exist to preserve society’s cultural artifacts and to provide access to them. If libraries are to continue to foster education and scholarship in this era of digital technology, it’s essential for them to extend those functions into the digital world.

Many early movies were recycled to recover the silver in the film. The Library of Alexandria — an ancient center of learning containing a copy of every book in the world — was eventually burned to the ground. Even now, at the turn of the 21st century, no comprehensive archives of television or radio programs exist.

But without cultural artifacts, civilization has no memory and no mechanism to learn from its successes and failures. And paradoxically, with the explosion of the Internet, we live in what Danny Hillis has referred to as our “digital dark age."

The Internet Archive is working to prevent the Internet — a new medium with major historical significance — and other “born-digital” materials from disappearing into the past. Collaborating with institutions including the Library of Congress and the Smithsonian, we are working to preserve a record for generations to come.

Open and free access to literature and other writings has long been considered essential to education and to the maintenance of an open society. Public and philanthropic enterprises have supported it through the ages.

The Internet Archive is opening its collections to researchers, historians, and scholars. The Archive has no vested interest in the discoveries of the users of its collections, nor is it a grant-making organization.

At present, the size of our Web collection is such that using it requires programming skills. However, we are hopeful about the development of tools and methods that will give the general public easy and meaningful access to our collective history. In addition to developing our own collections, we are working to promote the formation of other Internet libraries in the United States and elsewhere.

The Internet Archive started out with a simple idea: to take periodic “snapshots” of the world wide web — the whole thing — and preserve them for eternity. Add to that some search tools, and you’ve got yourself an interesting resource. From the above description, they’ve obviously expanded the scope of their mission.

Before the web, electronic communications were almost universally ephemeral. For ancient and venerable hackers like me, this means that anything we did in electronic form in the 1970s or 1980s is likely gone, and gone forever. Actually in my case there’s one shining exception: a Basic interpreter I wrote in the late 1970s ("Tarbell Basic") has been “rescued” by depraved hobbyists, and the source code is posted now on the web. But that’s very much an exception — all the other things that I did are gone, so far as I know. Work on electronic media, where there are no scraps of paper left over, has this ability to just disappear.

The advent of the world wide web, though, changes things considerably; these changes are aided by cheap storage media. The Internet Archive now has 55 billion pages stored. If I estimate that each page averages 100 kilobytes (including photos, etc.), then that requires a total of 5.5 terabytes to store (without considering compression possibilities). I have over 3 terabytes of storage in my home office (I know, I’m not normal!). I won’t call that a trivial amount of storage, but it’s certainly not expensive — well under $10,000. Think about that for a moment: for under $10,000, anyone could buy enough storage to keep a history of the entire world wide web. Amazing!

But back to my friend’s question… I looked up “www.jamulblog.com” in the Internet Archive, and they did have a few pages archived — but only a very few, and quite old. I’ve submitted a request for them to archive my blog, but a notice I read makes me suspect it won’t work — it seems the Internet Archive won’t attempt to archive “live” sorts of pages. I suspect this exclusion was forced upon them by blogs — especially machine-generated spam blogs, which generate millions of new (and completely worthless) pages every day, just for the purpose of getting Google hits and displaying some ads.

I hate spammers, almost as much as I hate ground squirrels. But at least I can shoot the damned ground sqiurrels!

Tuesday, June 6, 2006

D-Day

Forty-two years ago today, on June 6, 1944, the largest military operation ever attempted unfolded on the beaches of Normany, France. Hundreds of thousands of soldiers, sailors and airmen — in tens of thousands of planes, ships, landing craft, tanks, and other vehicles — attacked the well-defended German positions. The scale of this operation, even by today’s computerized standards, was staggeringly large. Success was far from certain: Eisenhower (the commander of the Allied efforts) had a letter prepared to release, apologizing and taking the blame for failure. Commanders at every level were well aware of the unlikely combination of circumstances that would be required for success.

It was, of course, a resounding and glorious success. How different our world would be had those brave men failed!

At this remove it’s very hard to imagine what it must have felt like to be one of the men involved in that operation. You’d know, of course, that the hopes of the free world rode on your shoulders. You’d know that domination by evil would be the price of failure. Those sound like powerful motivators; absent in today’s discussions of the war on terror. But you’d also know — surely this much trickled down to even the front-line grunts — that your enemy was well-positioned, superbly armed and equipped, in fortified positions, and led by first-class officers. You’d know there was a good chance you’d be injured or killed. It’s difficult to conceive of a more frightening context.

And yet they went anyway, in their legions, charging up those beaches past the bodies of their dead comrades, and through the screams of their injured buddies. They fought over the beach, up the cliffs, and in the hedgerow country beyond to establish a secure foothold from which to launch an assault on the enemy’s homeland. Thousands died; tens of thousands were wounded. Heroic actions became almost routine; legends were born by the minute. But they persevered and they prevailed, these awesome men; the forces of evil were ravaged.

I can scarcely credit the courage and determination of those men. But I certainly can remember and honor it, on this anniversary.

I hope you will as well.

Some resources on D-Day: here, here, here, here, and here.

Monday, June 5, 2006

Tradeable Gasoline Rights

When I saw Martin Feldstein’s name on this article I read it with some interest — after all, Mr. Feldstein is a famous and well-respected economist, and professor at Harvard…

From today’s WSJ ($), by Martin Feldstein:

The rapid rise in the price of gasoline has produced calls for tougher fuel economy standards on new cars and trucks. Although reduced gasoline consumption would be good for the environment and for national security, such a regulatory change would be a mistake. A far better approach would be a system of tradeable gasoline rights, or TGRs. These could be distributed in a way that actually raises the income of a majority of households while giving everyone an incentive to reduce gasoline consumption.

In a system of tradeable gasoline rights, the government would give each adult a TGR debit card. The gasoline pumps at service stations that now read credit cards and debit cards would be modified to read these new TGR debit cards as well. Buying a gallon of gasoline would require using up one tradeable gasoline right as well as paying money.

The government would decide how many gallons of gasoline should be consumed per year and would give out that total number of TGRs. In 2006, Americans will buy about 110 billion gallons of gasoline. To keep that total unchanged in 2007, the government would distribute 110 billion TGRs. To reduce total gasoline consumption by 5%, it would cut the number of TGRs to 104.5 billion.

Mr. Feldstein has gone off the deep end.

The key indicator is this sentence fragment: “The government would decide how many gallons of gasoline should be consumed per year…"

Where, pray tell, did our founding fathers envision that role of government included limiting our consumption of a freely available resource?

And how in the world did an economist manage to talk himself out of letting the free market handle the job all by itself, by allowing higher prices from scarcity to throttle demand?

I am so surprised by Mr. Feldstein’s piece that I’m wondering if it might be an elaborate satire on his part, published with the complicity of the WSJ.

But the simpler explanation is that he’s simply nuts.

Sunday, June 4, 2006

Battle of Midway

Sixty-four years ago today, the naval battle now known as “The Battle of Midway Island” commenced. It lasted for four long days:

From the U.S. Navy’s official Midway history site:

The Battle of Midway, fought over and near the tiny U.S. mid-Pacific base at Midway atoll, represents the strategic high water mark of Japan’s Pacific Ocean war. Prior to this action, Japan possessed general naval superiority over the United States and could usually choose where and when to attack. After Midway, the two opposing fleets were essentially equals, and the United States soon took the offensive.

Japanese Combined Fleet commander Admiral Isoroku Yamamoto moved on Midway in an effort to draw out and destroy the U.S. Pacific Fleet’s aircraft carrier striking forces, which had embarassed the Japanese Navy in the mid-April Doolittle Raid on Japan’s home islands and at the Battle of Coral Sea in early May. He planned to quickly knock down Midway’s defenses, follow up with an invasion of the atoll’s two small islands and establish a Japanese air base there. He expected the U.S. carriers to come out and fight, but to arrive too late to save Midway and in insufficient strength to avoid defeat by his own well-tested carrier air power.

Yamamoto’s intended surprise was thwarted by superior American communications intelligence, which deduced his scheme well before battle was joined. This allowed Admiral Chester W. Nimitz, the U.S. Pacific Fleet commander, to establish an ambush by having his carriers ready and waiting for the Japanese. On 4 June 1942, in the second of the Pacific War’s great carrier battles, the trap was sprung. The perserverance, sacrifice and skill of U.S. Navy aviators, plus a great deal of good luck on the American side, cost Japan four irreplaceable fleet carriers, while only one of the three U.S. carriers present was lost. The base at Midway, though damaged by Japanese air attack, remained operational and later became a vital component in the American trans-Pacific offensive.

The full story of Midway Island could be a Tom Clancy novel for all its drama, technology, larger-than-life characters, luck, turning point nature, and heroic actors. It’s very sad for this history buff to know how few young Americans know this story…

From an historical perspective, of course the most important thing about the Battle of Midway Island is that it is the beginning of the Allied victory in the Pacific war against the Japanese Empire. Since the preceding December 7, when the Japanese struck Pearl Harbor, the Americans and their allies had been subject to six months of almost unrelentingly bad news in the Pacific. There were many knowledgeable and informed people at the time who were uncertain the Allies would be victorious — the Japanese Army and Navy had a definite air of invincibility about them. Those were dark days indeed for Americans. About the only positive news before Midway was Jimmy Doolittle’s amazing raid on Tokyo, just two months earlier. That raid, while terrific for morale, had little military significance. Midway, on the other hand, was an unqualified and very significant military victory:

Battle of Midway: 4-7 June 1942: Combat Intelligence Released as of 14 July 1942

21. The following is a recapitulation of the damage inflicted upon the enemy during the battle of Midway:

(a) Four Japanese aircraft carriers, the Kaga, Akagi, Soryu, and Hiryu were sunk.

(b) Three battleships were damaged by bomb and torpedo hits, one severely.

(c) Two heavy cruisers, the Mogami and the Mikuma were sunk. Three others were damaged, one or two severely.

(d) One light cruiser was damaged.

(e) Three destroyers were sunk and several others were damaged by bombs,

(f) At least three transports or auxiliary ships were damaged, and one or more sunk.

(g) An estimated 275 Japanese aircraft were destroyed or lost at sea through a lack of flight decks on which to land.

(h) Approximately 4,800 Japanese were killed or drowned

22. Our total personnel losses were 92 officers and 215 enlisted men.

Of course I was not there at the time — I wasn’t born until 10 years after Midway — but I have read extensively about the period. One thing comes through loud and clear: both in the military sphere and in the civilian world, the victory at Midway had an electric effect. It was a proof point that America and her allies could prevail; that the Japanese were anything but invincible.

Midway was also a triumph for our intelligence services, in particular the cryptanalytic team who cracked the Japanese codes. For anyone with a technical bent, the story of how that team cracked the codes is fascinating (and entirely declassified — so the complete, authoritative history is available). Likewise, the story of how they deliberately used disinformation to figure out that a particular code phrase referred to Midway Island is just as thrilling.

But most of all, when I think of the Battle of Midway Island, I think of the “Greatest Generation” — the courageous generation of my parents — who lived through such dark days (Hitler, Stalin, Hirohito, and Mao all at the same time!), rallied and persevered through months and months of unmitigated bad news, until finally one day they were victorious. Can you even begin to imagine the joy and relief every American must have felt on that happy day?

The Battle of Midway was the first uplifting step on the path to that day of victory. And today is the sixty-fourth anniversary of the first step…

Able Ajax

Geek alert!

If you’re not a Javascript/Web developer, skip quickly to the next post — that will minimize the pain. If you are a Javascript/Web developer, you might be interested in this.

I’m working on an application now that has several different needs (and almost certainly more to come) that all fit the same pattern: quite large tables (100s of thousands of entries) that need to be viewed, scanned, filtered, and sorted. The entries in these tables represent real-world electronic trading events; it’s vital for the information to be up-to-date and accurate.

My first stab at a solution for this took advantage of the fact that modern web browsers are fully capable of displaying truly gigantic HTML tables in an IFRAME element, making a nicely scrollable (horizontally and vertically) UI element. However, there were quite a few shortcomings with this approach. First, the HTML was generated at the server and delivered to the client in a GET; this means that every change in the view required a complete download of that portion of the table that was being viewed — definitely not a zippy operation, and quite a server load as well. Second, a little thing but very annoying: the table headers scrolled right off the screen unless you were at the very top of the table. Third, and probably worst of all: when the table had more than about 8,000 rows, it was completely unreasonably slow — and the client’s CPU utilization went to 100% (always a bad thing!).

Some investigation on the third problem led me to an interesting discovery: the browser (Firefox 1.5 in my case) uses a fairly inefficient algorithm to insert a row into a table. It doesn’t matter whether the row is being parsed from an HTML document or is being inserted by client-side Javascript code operating directly on the DOM — it’s still slow. From the behavior, I think it’s an n^2 algorithm; I speculate that they are copying the entire table on every insert operation.

After a little thought I realized that the real root of my problem was that I was trying to render thousands of table rows just to see 30 or 35 of them. There had to be a better way!

The approach I chose relies heavily on Ajax techniques. First, I wrote some stuff to fetch the underlying data and store it in Javascript arrays. I used JSON as the encoding on the messaging layer, as this is very lightweight on the client side (as it’s natively supported by Javascript). This code queries the server on a configurable interval to get the data; the end result is that the array in client memory is up-to-date within that interval. This stuff was easy to write (prototype.js is my friend), it is very fast, and it imposes almost no measurable load (other than a few 10s of megabytes of RAM consumed).

Then came the really tricky Javascript part — tricky for me, anyway, as I am no Javascript guru. I created an object (I call it ViewManager, and it has some associated objects for filtering, sorting, and so on), whose purpose in life is to maintain a small (e.g., one screenful) table that is a view onto the much larger underlying array of data. Using HTML and CSS, I created a vertical scroll bar that is entirely operated by my Javascript, rather than by the browser. The HTML table seen by the browser has only 30 or 40 rows in it (the size can be changed by the user by dragging a corner) — this renders blindingly fast, with practically no CPU consumption. When the user scrolls around in the table, what’s happening under the covers is that the ViewManager object gets told to move around on the large array of data, and it simply re-renders the entire HTML table as needed to simulate this.

Because my code is managing the table’s presentation, it’s a snap for me to keep the headers on top — that works fabulously well. I handle filtering and sorting by keeping a secondary array whose elements represent the items actually being viewed, in the order that they should be viewed. Each element of this array contains an integer index to an element in the main data array. This arrangement allows me to sort and filter without actually modifying the data table — and this means I can very conveniently always return to a normal unsorted, unfiltered view. With a data array containing 500,000 items, a sort and/or filter operation takes well under one second — awesomely zippy compared to the initial method. And best of all, the server is completely uninvolved in this!

I was pleasantly surprised at how easy all this code was to implement. It’s very reminiscent of low-level GUI implementations, especially in the event-driven nature of it. The trickiest bits turned out to be accurately figuring out where an object happened to be rendered on the screen — in a browser like Firefox, the user can do things like change the font size, or resize the window, and that will re-render the screen, sometimes in unexpected ways. I’ve not found good documentation on stuff like this, so I ended up doing quite a bit of reverse-engineering and experimentation — but that’s ok, I learn a lot every time I do something like that…

The bottom line on this experience: a modern web browser, using Ajax techniques, can do just about anything that an old-fashioned WIN32 GUI can do, with just as much interactivity and zippiness. The only exception I am currently aware of is for graphical elements that you’d really like to create on the client — Javascript provides no tools for manipulating or creating images. But the vast majority of the business applications I’ve worked on had no such requirements. Without such a requirement, for me choosing a web client over a thick-client GUI application is a no brainer. With such a requirement, I’d be looking very hard at other approaches, either server-side or with client side Java applets. I’d also be looking for someone’s add-on to Javascript for image manipulation…

Saturday, June 3, 2006

Thumbs

Miki (our rambuctious little field spaniel puppy) and I were just playing in our living room. He decided that my right thumb was a chew toy, and those little puppy teeth are sharp! Before I could extract my thumb from his mouth (actually it was partway down his throat!), those little razors he calls teeth had raked a couple of nasty gashes down the length of my thumb.

I washed them out and discovered that if I carefully held my thumb perfectly straight, the blood didn’t gush out quite so badly. In fact, with just a bit of pressure for a couple of minutes, the bleeding stopped altogether. This meant that I could safely leave the kitchen sink and head for the bathroom, where I knew we kept a package of bandages. Debbie was out grocery shopping, so I was on my own.

Here’s where the challenge was: I had to get three bandages (to cover the length of the two cuts) out of the box, out of their paper wrapper, and remove the little papers that cover the sticky part — all without bending my thumb and starting the gusher all over again. Does that sound easy to you? Or at least feasible? Trust me: it is not easy…and in fact I could not do it at all. I eventually gave up trying, and just bent my thumb to get the job done and let the blood run into the bathroom sink. Once I had three bandages lying sticky-side-up on the counter, I straightened my thumb, reapplied pressure, and stopped the gusher again. Then I was able to put the bandages on with just my left hand; that wasn’t too hard.

It’s amazing how dependent we are on such a simple little thing like a thumb bending…

I remember another similar revelation about thirty years ago. This was a much more impactful situation: I had broken my right wrist rather badly, and I had a cast (the old-fashioned plaster kind) from my shoulder to my hand, with only about half my fingers protruding. The cast was strapped such that my forearm was held against my chest. I’m right-handed, so the only hand I could use for the eight weeks I was in a cast was my left hand. Everything was more difficult, even simple little things you’d never imagine, like opening a door (or a hatch on the ship I was stationed on; I was in the U.S. Navy at the time). Driving my stick-shift car was only possible when I rigged up a shift lever extension (a buddy welded it up for me) that let me use my left hand to shift — and I had to let go of the steering wheel to do that. Taking a shower was really challenging. For me the worst of all was trying to do my job (as an electronic technician): trying to use tools like soldering irons or pliers with my left hand was unbearably awkward and totally frustrating.

Not being able to bend my right thumb is much less of a problem, not least because within a day or so it will have healed enough to use again. But it sure is a reminder of all the human characteristics that we just take for granted, day in and day out…

Imminent Employment

I don’t think I’ve blogged about this before, but I’ve actually been unemployed for the past eight months — I was laid off from my role as CTO of FutureTrade this past October. Unemployed, in my case, does not mean without income: I’ve been consulting for several companies, and I’ve had a generous severance package from FutureTrade. So this period has not been one of hardship for us, thank goodness — and in many ways it has been quite enjoyable. For one thing, all of the consulting work has been done from my home office…and I just love the work environment here. But most importantly, all of the consulting work has been honest-to-goodness hands-on engineering. I haven’t had this much fun earning a living for a good many years!

But now one of my consulting clients has decided to offer me a job, and I’ve accepted their offer. As of this Monday (June 5), I’m officially employed. I can hear the snarky comments already — what on earth was this company thinking? They worked with me for a while as a consultant, and they still wanted to hire me? What is wrong with this place?

The company is Conifer Securities. And all snarking aside, I am just tickled pink to join a company with (a) a real need for someone with my skills and experience, (b) that is willing to have me work from home, (c) needs the skills and experience that I most enjoy employing, and (d) has a great bunch of folks (whom I already know!) to work with. Conifer is located in San Francisco, some 650 miles from me, but I don’t anticipate this making any difference at all…

Curta Calculator

When I was in high school (in the mid '60s), there were no electronic calculators. We did our math either by longhand (which I’m still fairly competent at) or with slide rules. As I was very interested in electronics, practical mathematics (algebra, trigonometry, and simple calculus) was an essential skill. I got fairly good at using a slide rule (more on that another day), but Dr. Brown (my high school physics teacher) had something even better for many purposes: a Curta mechanical calculator. He let me use it a few times, and I just loved it — but its cost was way over anything I could imagine my parents buying for me (a couple hundred dollars, as I recall), so I never even mentioned it to them.

The Curta was almost magical — it could add, subtract, multiply and divide numbers with up to 8 digits of precision (and answers to 14 digits). It used no batteries, and had no motors or electronics. The Curta worked through dozens and dozens of mechanical parts interacting in a complex way. You could hold it in one hand easily, working it with the other — and with a little practice, you could calculate far more accurately than is possible on a slide rule, and darned near as fast.

Oh, how I wanted a Curta.

Now I have one, thanks to a winning bid on eBay. Of course it doesn’t hold a candle to today’s miraculous calculators (not to mention personal computers). But it is still a marvelous little gadget, a testament to Curt Herzstark’s mechanical engineer genius. And it’s fun to use it! Just for fun, I will divide 48772.33 by 4.5538848 … and the answer (which took me 53 seconds to compute) is: 10710.049. Of course I confirmed that answer in about 5 seconds on Windows Calculator (and got a more precise answer), but that’s not the point!

Summer Is Here

It’s certainly no surprise to us that the temperature is 90 degrees (Fahrenheit) by 9 AM — this happens every summer. But it shocks us every year when the lovely spring weather (last weekend it was in the low 70s) gives way to our blast-furnace summer norms. This is the season when the house air conditioner is a prerequisite for life, not merely a luxury.

The graph at right (click for a larger version) shows the past week’s temperatures (in red, left scale) and relative humidity (in green, right scale). Last Saturday the high was 64, Sunday it was 73. Each day this week got progressively hotter; yesterday peaked at 90 and today is predicted to be in the high 90s or low 100s. Last night the humidity never went over a few percent; this tells you that it is very dry indeed, and all the surface water has evaporated — this is what happens just before our hottest days.

I went out to work this morning quite early, to take advantage of the relative cool. But even at night it was 74, and the temperature spiked as soon as the sun rose. By 8:30, working with my Husqvarna weed-whacker, I was panting from the heat, sweating profusely, and feeling light-headed. I quit work outside for the day at 8:30 am! Tomorrow I plan to be out at daybreak (about 5:30 am) whacking away — it’s a good thing my neighbors are some distance away!

Friday, June 2, 2006

Entitlement Mentality

If you died as one of the random victims of 9/11, your heirs are compensated (on average) over a million bucks. If you die as an American soldier volunteering to fight in the war on terror, your heirs are compensated a tiny fraction of that amount.

Doesn’t seem right, does it?

By Rush Limbaugh:

I think the vast differences in compensation between victims of the September 11 casualty and those who die serving our country in Uniform are profound. No one is really talking about it either, because you just don’t criticize anything having to do with September 11. Well, I can’t let the numbers pass by because it says something really disturbing about the

entitlement mentality of this country. If you lost a family member in the September 11 attack, you’re going to get an average of $1,185,000. The range is a minimum guarantee of $250,000, all the way up to $4.7 million.

If you are a surviving family member of an American soldier killed in action, the first check you get is a $6,000 direct death benefit, half of which is taxable.

Next, you get $1,750 for burial costs. If you are the surviving spouse, you get $833 a month until you remarry. And there’s a payment of $211 per month for each child under 18. When the child hits 18, those payments come to a screeching halt.

Keep in mind that some of the people who are getting an average of $1.185 million up to $4.7 million are complaining that it’s not enough. Their deaths were tragic, but for most, they were simply in the wrong place at the wrong time. Soldiers put themselves in harms way FOR ALL OF US, and they and their families know the the dangers.

We also learned over the weekend that some of the victims from the Oklahoma City bombing have started an organization asking for the same deal that the September 11 families are getting. In addition to that, some of the families of those bombed in the embassies are now asking for compensation as well.

You see where this is going, don’t you? Folks, this is part and parcel of over 50 years of entitlement politics in this country. It’s just really sad. Every time a pay raise comes up for the military, they usually receive next to nothing of a raise. Now the green machine is in combat in the Middle East while their families have to survive on food stamps and live in low-rent housing. Make sense?

However, our own U.S. Congress voted themselves a raise. Many of you don’t know that they only have to be in Congress one time to receive a pension that is more than $15,000 per month. And most are now equal to being millionaires plus. They did not receive Social Security on retirement because they didn’t have to pay into the system.

If some of the military people stay in for 20 years and get out as an E-7, they may receive a pension of $1,000 per month, and the very people who placed them in harm’s way receives a pension of $15,000 per month.

I would like to see our elected officials pick up a weapon and join ranks before they start cutting out benefits and lowering pay for our sons and daughters who are now fighting.

When I first read this, I worried that it might be an urban legend — so I ran it by Snopes. It really is a piece of commentary from Rush Limbaugh, from early 2002. And it’s mostly accurate (only the bits about the Congressional pensions are wrong — that is a persistant urban legend, repeated here by someone who really ought to know better). In reality, Congressional pensions are generous, but nothing like as generous as Rush would have you believe. The worst thing about the Congressional pensions is the way they’ve removed themselves from the Social Security system — in effect saying it’s good enough for us, but not for them. Hypocrites!

If the families of each of the soldiers we’ve lost in Iraq and Afghanistan were compensated at the same level as the 9/11 families, that would add less than $3B to the cost of the war on terror. That sounds like a lot of money, but it’s actually a small fraction of the war’s overall cost. Even a percentage of that — say a quarter — would represent a huge increase in compensation for the soldiers' families. That’s something I would certainly support, and I would think that politicians would have a hard time saying “no” to it. But I must be wrong, because nothing remotely like that has happened.

When I was in the U.S. Navy lo these many years ago, there was another conflict still raging: Vietnam. I remember well how the Navy made relatively cheap life insurance available to all the sailors headed for the war zone. I was single at the time, so insurance wasn’t a consideration for me — but every family man I knew signed up for the maximum amount (as I recall, that was $100,000). I wonder if the same thing is being done today?

Hat tip to reader (and relative!) Mike Dilatush.

Thursday, June 1, 2006

Puppy Class

Miki (and us!) had a very good time at the final puppy class on Tuesday night. There was a bit of training, but mostly it was contest, fun, and games.

I took some time at the beginning of the class to walk around and get some “portraits” of our classmates. Maverick is the gray-and-black dog — he’s huge, and is just learning how to play well with others. His owner has the biggest treat bag (the size of a grocery shopping bag) we’ve ever seen, and its easy to see why. Gracie is the golden retriever; a very pretty dog, and very attached to her family. Sadie is the black poodle — beautiful and bubbly, always happy.

'Tis a fine class of pooches!

The first event was “recall” — meaning that someone holds your dog (and pretends to be a tree — Bree’s challenge for us humans) while you walk away some distance. Then you call your dog, and the goal is to have the dog run to you. Apparently this is a challenge for some puppies, but not for any in our class — no matter how far apart Bree put us, all of our puppies ran straight to us. Bree declared Miki the winner because “…he has such a cute butt”. Now that’s a good example of female logic!

Last week Bree (our instructor) challenged all of us to train our dogs to do a “trick” of our choice; demonstrating our trick was the next event. I spent hours over the preceding weekend in an attempt to do just that, but I failed miserably. The closest we got to a trick was to train him to reliably lay down, sit up, and spin either left or right, all on a gesture (and the promise of a bit of hot dog!). But that didn’t count. On the theory that he might accidentally retrieve something for us, we tossed out a toy for him — which he promptly pounced on, but just laid down to gnaw on it. Oh, well, so much for Miki’s trick! Some of the other dogs did some very credible tricks — I was most most impressed with Gracie (the golden retriever), who would roll over and do high fives with the little girl who trained her. They were terminally cute together…

The final event — and by far the puppies' favorite — was “play time"! We just let them go, two by two, to have a rough-and-tumble good time. And a great time was had by all!

Now I have to get back to work, so without further ado here are all the photos of the class…