Monday, February 28, 2005

Maybe kinda like a Torus...

H. David Dalquist, who invented the wonderful Bundt Pan, died recently. Let's not think about the shape of his coffin ...

Sunday, February 27, 2005

Downhill all week (with acceleration!)

You know how it is. The week starts with the best of intentions, but it never finishes that way. I may have figured out why. Look at the work week this way:
Monday, Tues, WTF.

Friday, February 25, 2005

A case of possibly scrambled brains:

I regret that I never flew on the Concorde, but I will never forget one tale of someone who did. The president of a French company whom I shall call Pierre was eager to make a big contract with our group. We were working in NYC, planning a large financial product. One Friday morning, Pierre took the Concorde to see us and nail everything down.

The Concorde carried him swiftly to New York, where he hopped into a cab and got miserably stuck in traffic. Short phone messages between Pierre and our principal guy (whom I’ll call Terry) increased the frustration; Pierre was making little progress.

Now Terry’s wife was pregnant. She did not mind his gallivanting all over the country for his financial work, but they had agreed he was to be back in St. Louis every weekend. Pierre had not arrived, and Terry had to fly home. Here’s how he solved the problem:

Terry rented a jet plane large enough for four people to sit at a table and meet. When Pierre showed up, they hopped into a limo and limped back to the airport. They then flew to St. Louis, meeting on the plane. The deal was set by the time they arrived. Pierre flew at once back to NYC, got back onto the Concorde and returned to Paris. I wonder how well he felt when he got off the plane.

Thursday, February 24, 2005

Encourage people to learn math!

As I see it, the problem is those brief TV news spots where they tell you the winning six or seven digit number for the day. Congress should pass a law requiring those numbers to be revealed indirectly. Like this:


“Okay, today’s winning number – the first two winning digits, taken as a number, are the sum of Anne and Bob’s ages. Anne is twice as old as Bob. Ten years ago, Anne was three times as old as Bob. Third winning digit: Reverse the digits of your age and subtract the smaller of these two numbers from the larger. (If your age has less than two digits, how did you buy a lottery ticket?) Add the digits of the result together. The fourth winning digit is the radius of a circle that fits inside a triangle with the following dimensions; etc. ..."

Wednesday, February 23, 2005

Programming for the two big I’s (4): What does it mean to program without a design?

(This is the fourth installment of a story that started here.
The next episode is here.)
Generally speaking, it’s a disaster to write code without designing it first. This is like building a building without making an architectural plan or preparing supplies and schedules in advance. The primary risk is that the thing will never work, like a bathroom with no drains. In my case, that risk was somewhat minimized by the fact that we had a well-defined specification of what the software must do. But the risk was real; we were just going to be lucky.

There are plenty of other downsides to having no design. The code is much more likely to be unmaintainable. By that I mean that in the future, it might be impossible to ask anyone to make corrections and add new features. (The code probably WAS unmaintainable, and I’ll discuss the unlikely result of this later.)
The code was also likely to be inefficient in every imaginable way. I’m sure it was four or five times larger than it would have been if carefully designed. But at this time we were entering the computer era of cheap memory and fast processors; efficiency turned out not to be an issue.

People talk about “building without a plan” all the time, but what really happens? Here’s my grandmother describing a skilled worker who built a house for her family: He lost the plans but reckoned he knew how to build a house without any plans. This resulted in a few peculiarities such as corner rooms with one window, a bathroom opening out of the dining room, and coats of white paint over some of the beautiful oak wood-work.

Tuesday, February 22, 2005

Left Angle Bracket is for …

I hope Sue Grafton keeps going after she writes her “Z is for Zounds” mystery. Kinsey Millhone will still have a lot of punctuation to tackle. And then there are the keys: Scroll Lock is for … (The digits are taken, however.)

Monday, February 21, 2005

TO: CC: BCC:

When I send email to several people, I think hard about whom to address, whom to CC, and whether it would be useful to send blind copies as well.

  • If you CC somebody, they may not bother to read the email. Address it TO them to make it more likely they will read it.
  • If I need to keep someone in the loop, but I hope they WON’T bother to read the email, they get a CC.
  • If there are too many TOs and CCs, every addressee is less likely to read it.
    When I’m emailing someone at another company – strictly business – I tend to BCC all the internal addressees. It’s informative for my people to get a copy, but the primary addressee is likely to be uncomfortable responding to an email that apparently went to a lot of unknown people. (Here’s an example where all the other recipients are BCC: “Dear Viktor, the new driver you sent us for your product is causing my PC to “blue-screen.” What can I do about this?” The NEXT complaint to Viktor will have an impressive CC list.)
  • Other than the above case, I never BCC anyone at work unless I know them well.
  • Some people actually take offense at being on the CC list. If I can guess who they are, they go on the TO list.
  • If a work-related email goes to both a person and that person’s manager, I’ll have to decide which one belongs on the “CC” list. Depends on how technical the subject is.
  • And of course, if you need to mail a lot of people but you do not want to give them each others’ addresses, you can BCC all of them.

I think I'm making this too difficult. Oh well.

Sunday, February 20, 2005

A puzzle once saved me money:

There is a class of problems called "bar bets" where you stand to make money if you can sucker people into betting on them because of their unintuitive answers. A classic one is (when there are 23 or more people in a room): "I'm willing to bet you there are at least two people in this room with the same birthday. What odds will you give me?"
I've never been much for bar bets, but one summer I made up a puzzle to save myself some money. At camp, kids would come up to me and say "Do you have change for a quarter?" If I said yes, they would say, "Good, then you can lend me a quarter." And I would never see the quarter again. After awhile I started answering their question this way:
"Actually, I have the largest amount of change in my pocket for which I can't give you change of ANYTHING. How much change do I have?" And while they were pondering, I would sneak off. With quarters, dimes, nickels and pennies, you can have over a dollar and not be able to change a nickel, dime, quarter, fifty cent piece or dollar. What collection of change did I (pretend to) have?

Friday, February 18, 2005

We try make sense water my door some:

Early also, water my door picture. Else, tree voice flat born.
Line thought pair box. Carry beauty grow be music though. Who
soil ball after coast, sugar. Those clear observe. Many reach
her against. Main, yet, lie. Life wood, sentence gone, skin show.


You’ve probably received email that tries to sneak past spam filters by texting random dictionary words. The spam (above) I got today - a pretty decent example of found art - tries to fool my filter with random sentences. I imagine this sort of thing is going to improve over time, but it already has a certain hypnotic quality.
In case you’re curious, this email was NOT sent to me by:
litchis j. loincloth,
Madeleine Spst,
Or Elongated B. Kaufman,
Although these “people” have sent spam to me in the past.

Thursday, February 17, 2005

File deleted, bro:

If computers could think and act more like humans, they would have personalities and we would only accept computers we could bond with. Would you prefer a male computer? A Christian one? An upper class British one?
You people are way ahead of me, aren’t you? Don’t be silly, future computers will be shipped with hundreds of personalities and they’ll experiemnt until they find the one their owner responds to best. So how many computers will be returned because people are disgusted when they find out what they respond to best?

Yes, master. Of course, master. I’ve been a bad computer, master:

Wednesday, February 16, 2005

Programming for the two big I’s (3): a sucker signs up:

(This is the third installment of a story that started here.

As soon as Arthur’s resignation was confirmed, I was summoned to a meeting with the software manager and his boss. They explained what had happened, and asked vaguely if I had any idea what might be done about it. The whole meeting had a strange air of unreality to me. I could not understand why we were having this philosophical conversation. “Why don’t you let me program the damn thing?” I argued. “I’m already familiar with the spec!”
“That’s what we wanted you to say” they replied. Apparently I had to WANT to do this as a precondition of being asked.

I had signed up to write ten thousand lines of code without a design...

(The next installment of this story is here.

Tuesday, February 15, 2005

Chainn: a solitaire game invented by the Precision Blogger

There are a number of difficult solitaire games that require you to plan ahead, sometimes way ahead. Here’s a game of this type that uses a tiny card deck:

Chainn is a challenging game played with 16 cards: take the four aces, four kings, four twos and four threes from any bridge deck. There are two ways to score this game; decide which way you're scoring (see below) before you deal.

Shuffle and deal the sixteen cards in a 4x4 layout. You win the game when you move the cards so that the four cards of each suit are "contiguous". By contiguous I mean that you can step from any club to any other club by stepping orthogonally or diagonally from club to club without stepping on cards of another suit; and the same for the other three suits.

Here's how you move the cards. Pick up any card but a king and place it under another card. Now pick up the upper card and move it, in a straight line (orthogonally or diagonally), the number of spaces as the card you just put underneath it. In other words, if you put a two under an ace, you now have to move the ace two steps. If you put an ace under a three, you have to move the three one step.
If that card winds up in an occupied space, place it under the occupying card. Now you must move the occupying card as many spaces as the card underneath it. For example, you place an ace under a two and move the two sideways one space, where it lands under a three that you must now move two spaces.

You keep making a series of moves like this until you place a card in the empty space from which you started the sequence. If you have to move a card out of the layout, you lose. (So NEVER put a three under any of the four middle cards.) If you put a card under a king, you can ONLY move it to the empty space; a king is never allowed to be placed under another card. If you cannot move a king legally, you lose.

Now pick up any ace, two or three and start another sequence. Keep moving until you make a winning layout. You can either count sequences, or moves. Either way, try to keep your score very low; winning with a single sequence, or just a few moves, is elegant.

(This item was posted partly in response to some of Wiggin's free Advice.)

Monday, February 14, 2005

Wonderworking Conductor:

Many years ago I played in an amateur orchestra in Manhattan. My cousin had played in the same orchestra a year before and told me this story. The orchestra was preparing a concert to consist solely of soprano and tenor opera arias. The conductor was a rather demanding old Italian. The singers were good musicians, not prima donnas. The music was not too difficult. Rehearsals went well.


On the day of the concert, as usual people arrived very early to warm up. The tenor was conspicuously absent. Ten minutes to concert time and: still no tenor. The orchestra principals gathered around the conductor, asking what to do.
“We shall begin as planned,” he replied. They filed out on stage and started the concert. Fortunately the first aria was for soprano.
Then they started the second aria – for tenor. There was a sense of hysteria in the orchestra. At the end of the introduction, the conductor turned to face the audience and sang the tenor part. He surprised the orchestra members with an excellent, well-trained, operatic tenor voice. He sang for the entire concert, which was quite a success.
But as for the tenor whose name was on the program – they never saw him again.

Sunday, February 13, 2005

An Audience was dumfounded:

On a very snowy evening in the late '60s, two musicians somehow managed to get to Trenton to play a concert. They were: Paula Robison, well-known flutist, and a fine young harpsichordist named Frances Cole. Ms. Cole had recently switched from viola to harpsichord. She would have become famous had she not soon after succumbed to a fatal disease.
The concert took place in a small room that could easily hold 150 people, but due to the snow there were perhaps 30 listeners. The concert began with a short unaccompanied flute piece, Debussy's Syrinx. Then the two played a gentle baroque flute sonata. Frances Cole closed out the first half with a set of Couperin pieces.
Now the harpsichord is a quiet instrument, especially in comparison to the piano. The audience had adjusted - more than they knew - to the tinkling of the harpsichord before the Couperin began. This was music that built up to quite a climax, and Cole's specially built harpsichord was capable of more power than most. Near the end she switched to quadruple and quintuple octave coupling and brought the piece to a thrilling conclusion. The audience, used to thinking of this instrument as a rather puny thing, were bathed in a torrent of sound. They applauded enthusiastically. Frances Cole took her bow and walked offstage.
But what was interesting was what happened the moment the performer was out of sight. The entire audience swarmed up onto the stage, surrounding the harpsichord, and examined it in amazement.

Saturday, February 12, 2005

Bride and Prejudice and so on...

Bride and Prejudice is a ground-breaking movie, because it shows us how to name knockoffs of Jane Austen's wonderful novel. Here's an alphabetful:

  • Aeried and Prejudice: In the Pixar version, all the characters are animated cartoon eagles.
  • Buoys and Prejudice: It's Jane Austen! It's a WaterWorld Sequel!
  • Cries and Prejudice: Turned into a long-running soap opera.
  • Droids and Prejudice: Darcy is a robot! Will that make a difference?
  • Eyed with Prejudice: Few clothes are worn in this version.
  • Fried and Prejudice: The Deep South version, and we don't mean Cornwall.
  • Guyed and Prejudice: The all-male version, somewhat unconvincing in its exploration of Austen's treatment of social mores.
  • Harried with Prejudice: "Go ahead, Make my day!" "No Darcy, you make MY day."
  • Ides of Prejudice: Ms. Austen's eternal plot conflated, somehow, with Shakespeare's Julius Caesar.
  • Jawed and Prejudice: Watch out for that love-struck rich land-shark!
  • Kliegs of Prejudice: A documentary takes us behind the scenes to see how Jane Austen ripoffs are planned.
  • Lies and Prejudice: Unfortunately the least dramatic of Mike Leigh's oeuvre, as the entire cast figured out the plot on the second day of rehearsal.
  • Maid and Prejudice: Starring Ally Sheedy.
  • Neighs and Prejudice: In this Disney remake, all the characters are animated cartoon horses.
  • Oryxed with Prejudice! The plot's just beginning when Elizabeth and Darcy declare their true love. Can they discover and recover the fabled diamond oryx before it's too late? And why is Darcy wearing that battered old felt hat?
  • Pied and Prejudice: American Pie meets ... Let's not go there.
  • Qaid and Prejudice: You may have to wait awhile for this one. The nascent Saudi Romance film industry's not quite ready to film it.
  • Ryed and Prejudice: Set in 1951 and told entirely from the point of view of Darcy, who has become an intelligent, appealing, talky, troubled, angst-ridden teenager.
  • Sighed with Prejudice: Guess who gets terminal cancer in the tear-jerker version of P & P?
  • Tried with Prejudice: The next Law and Order spinoff series. (Well, wouldn't you prefer that to:)
  • Tied with Prejudice: Elizabeth and Darcy cement their love in their mutual attraction to S&M.
  • Umm, Uh ... Prejudice. Woody Allen plays both Darcy and a decidedly ambivalent Lady Catherine de Bourgh in his talky remake.
  • Voids of Prejudice: The intergalactic version (possibly part XVI of Star Wars).
  • Wide with Prejudice (or possibly Weighed with Prejudice): The Shallow Hal version.
  • X(xxxx) ... Too Easy.
  • Yikes! And Prejudice! In this disaster movie, the planet Mercury is falling oh so gently towards earth and will soon touch down next to England, adding to it over ten million acres of prime real estate. The value of Darcy's holdings will drop to nearly zero. Can something be done? And how do product placement ads for mortgage companies work, anyway?
  • Zed and A Prejudice: This reverse-alphabet retelling is strictly for young kids.

Improvements and comments are welcome. That's all, folks!

Friday, February 11, 2005

Vacuum to Sofa – beam yourself out of the way!

It’s nice that we can finally buy intelligent vacuum cleaners, but we’re only seeing a pitiful beginning. In order for a vacuum cleaner to do its job it needs to communicate – for example – with the furniture:
Vacuum to sofa: Please move back one sofa size unit so I can vacuum under you.
Sofa to Vacuum: Cannot move.
Vacuum to sofa: I can push with a force of 10 Newtons (thanks for the correction, JS), can I move you?
Sofa: Don’t even think about it.
Vacuum: oh well, round we go …

Thursday, February 10, 2005

A useful apostrophe:

I’ve argued before that we should abolish apostrophes. Its usually so easy to know when an apostrophe has been omitted or incorrectly added, that they cant be adding anything of value. But I recently found a case where a legitimate sentence changes meaning when the apostrophe is added or dropped:

Drink no wine before it’s time!
Drink no wine before its time!

Wednesday, February 09, 2005

Flavored coffee: Raisins.

This one is kind of strange, but it’s nice. Drop a tablespoon of raisins into your cup of coffee, and drink slowly so the raisins have time to absorb flavor. The raisins will add a soupçon of taste to the coffee, and they will sit politely in the bottom of the cup. When you finish drinking, you’ll have some nice coffee-flavored raisins to eat.

Tuesday, February 08, 2005

Programming for the two big I’s (2): a programmer quits:

(This is the second installment of a story that started here.)

The day after the meeting in which the manager insisted on writing software without a design, I was given a new task, in which I had Authority without Responsibility.I forgot all about that meeting. Each night, as I explained to my family that a day of Authority without Responsibility washes away the bitterness of a whole year of Responsibility without Authority, I also said: “It won’t last! It’s too good to be true.” And I was right. A drama was developing at the same time. Arthur, the programmer asked to program without designing, had immediately quit, but our group did not know this. We knew he was not coming to work, and efforts were being made to find out why. He was a contractor, not an employee, so he might be working at home but he could not be reached. In fact, he had resigned by sending a letter to the broker who had placed him in the Two Big I’s project. When the broker got the letter, he did not pass on the bad news, preferring to contact the programmer and persuade him not to resign. But he could not reach Arthur either. Four precious work days were lost before it became clear that Arthur categorically refused to code without designing. (And who can blame him?)

Episode 3 is here.

Monday, February 07, 2005

My last hope to be given a million dollars - dashed!

I was telling our lunch guests about a fantasy of mine, to be a subject in a psychological experiment: I want someone to determine how I would be affected by the gift of a very large sum of money. A guest dashed my hopes:
“You’ll be in the control group!” (Control Group???)
“You’ll be given placebo dollars!” (Placebo dollars?????)

“Placebo Dollars” is a very strange concept. Think about it…

Sunday, February 06, 2005

Paranoid about half-cooked food:

When you cook meat or anything out of a can, one of your goals is to raise the temperature of the food above 150 degrees (F) for 10 minutes (for a can, I think; more heat for meat) to kill any dangerous bacteria. So what about the spoon you use to stir the food while it’s cooking? I figure that if you stir at the beginning, and then stir five minutes later, you’re putting bacteria back into the dish that have NOT been cooked at all. How is that supposed to kill the germs? I generally use a clean utensil every single time I stir such food, unless it’s going to cook at least another ten minutes until it’s done. I think most people don’t do this, but am I not making sense?

Friday, February 04, 2005

The two-key keyboard (NOT ENOUGH!)

John Dvorak’s weblog entry for 2/1/2005 has a picture of a computer with a keyboard that consists entirely of two BIG keys: MUSIC and PORN. (The picture is attributed to “P. Parker.”) Such a keyboard is of course inadequate and totally impractical. How could I survive without one more key, the CONTROL-ALT-DEL key?

Thursday, February 03, 2005

Bad Working Conditions.

If you’ve worked for a number of years, chances are you’ve occasionally had to work under difficult conditions. I have no trouble remembering my worst cases:

For one week, I shared an office cube, 5 feet by 7.5 feet, with three other people. Three! (One at a time of course.)

My boss once objected to an expense item after a special field trip: I was charging to replace a pair of pants. I described the unexpected working conditions and he quickly capitulated. I had installed a computer in a building that was not fully built. I worked in a ten by thirty foot room with gaping floor holes, through which you could see the cellar twenty feet below. There were sharp edges everywhere. To use the phone, wore a hard hat, in part as protection against welding flames from above. Whee!

Then there was another office that was an empty hallway, 4 feet by 30; a desk, no AC plug and no phone. It did have a door at one end, and hardly anyone walked through it.

Oh and then there was the psychotic manager who could only relate to his pet cat. But enough about me. How about YOUR working conditions?

Wednesday, February 02, 2005

Programming for the two big I’s (1): a programmer is dismayed:

I spent several years developing software in a cooperative effort between two major companies that I shall call the “two big I’s.” Our story starts at a meeting. An important piece of software had been delayed while it took 18 months for the companies to specify what the software would do. Now, with the spec in place and not one line of code written, the development manager, himself an expert programmer, chose a developer in his group to write this software.
“Arthur, start coding at once,” he said, “the first milestone for a running program is in one month.”
“First we have to design the software,” said Arthur drily. “Then I can write it.”
“There’s no time for design,” replied the manager, “you’ve got to start writing.”
“We have to design first,” the programmer said firmly.
“Look there’s no time for design,” said the manager. “You can do some design later if you have to.” The programmer shook his head sadly: no.
The manager proposed to take a risky gamble that – in this case – was going to work. You’ll see what happened as this story develops.

This is the first episode in my “two big I’s” story. Episode 2 is here.

Tuesday, February 01, 2005

Cruise Control – tap tap tap tap tap tap tap tap tap tap tap tap tap tap tap tap …

Once on vacation, I was standing next to a 200-pound man who had recently had a double knee replacement. He began to fall and I caught him, steadied him. Shortly afterwards I returned to my hotel to pack (to fly home), and found my back going into spasm. We had to drive from Tucson to Phoenix to catch our plane. It hurt horribly to press down on the brake or the accelerator pedals. I got on route 10, got up to 40 mph and switched on the cruise control. For that long drive (110 miles), whether in traffic or not, I used the cruise control for all my speed changes, even anticipating well enough to avoid braking. Speeds varied a lot, from 35 up to 75. I did it all by dinking those little buttons, and saved myself a lot of agony.

Some weeks later I asked a nurse who was 6’4”, strong and heavyset: “How do you catch a person who starts to fall down?”
“You don’t!” she replied. “You could get hurt if you try to catch them. Let them fall!”

Cruise Control – setting that limit:

Belgium has decided to outlaw cruise control on some busy highways. I’ve read criticism of their decision, but for a busy highway, well, they may be right. My own car does not have cruise control, but most rental cars have it. I normally use CC to fly down the open road without drifting cluelessly up to 85 mph; CC limits my speed better than manual driving. But in the Florida Panhandle, I used CC for slow roads – nice wide, pretty empty roads with excellent visibility and rare traffic lights, where the speed limit was (strangely) a slow 35.