Thursday, November 30, 2006

Ancient calculator

Giving new meaning to the phrase "sun microsystems", scientists have reverse engineered the utility of 82 brass pieces discovered among shipwrecked remains off the Greek island Antikythera in 1901: an astronomical calculator. Its capabilities:


The calculator could add, multiply, divide and subtract. It was also able to align the number of lunar months with years and display where the sun and the moon were in the zodiac.

Wednesday, November 22, 2006

F# -- Evil Empire's Venture into Functional Languages

One thing I heard at SC06 last week was a Microsoft developer mention F#, Microsoft's offering in the functional language arena running on the CLR (.NET runtime) that he claimed made use of the best features of Scheme, Haskell, and OCaml. I remember giving a presentation of IA+ back in 2001 to my research group, with a Microsoft researcher in the audience mention that Microsoft had grant money for developing functional languages for .NET. It's pretty rare to find funding for language development, so I'm curious to know the origins of F#, whether it is purely in-house, brought in from the outside, or a combination.

SuperComputing 2006 Retrospective

JFKBits is back from the ACM/IEEE Supercomputing 2006 Convention. I've submitted my expense report, written up my trip report, and started the follow-up process with contacts I made. Since they chased us from the exhibit hall floor as soon as it closed, and I was lodged at one of those too-expensive-to-give-free-Internet hotels, this blog didn't get the daily updates I would have liked. But here's a few moments from SC06.

Speaking of expense reports, my top expense many days was lunch. The slow yet pricey food service at the Convention center gave new meaning to the phrase "six dollar burger". I chuckled every time I stood in line, for my $10 cafeteria-quality burger-fries-coke meal, at the sign that read "Thanks to Microsoft for this food station", left over from the free reception on Monday night.

Best gaff: talking with a nice lady from the National Security Agency. My usual pattern in talking with people at our exhibit included asking where they worked and what they worked on. I knew with someone from NSA not to expect much of a detailed answer. But I didn't expect this:

Me: Ahh, the NSA. What do you work on out there? Because I have a friend who works for NSA in Security Enhanced Linux.

NSA Lady: (Brief pause) Oh yes, the SE Linux people work in another building. (Leaves it at that.)

It was only when I was reading from Applied Cryptography last night about how long it would take a certain number of computers to crack a message encrypted with a certain length key that I realized how absurd my inquiry was. I had asked an employee of the National Security Agency attending the premier supercomputing conference what she worked on. At least I feel a trifle more secure.

She did let me know there wasn't a chance that she would download any of our software from our web site, let alone install anything on a trial CD picked up at the conference.

There were a lot of other great people I met too. Three other interesting people were


  • CEO of the New Zealand Supercomputing Center. What's that? It's what you get after a prominent series of movies filmed in New Zealand pays for thousands of computers and then leaves them with nothing to work on.

  • A couple from Washington DC from a volunteer organization that helps pre-college young people in sometimes disadvantaged environments prepare for college. With supercomputers. I'm not joking -- they told me they had assembled a low-wattage Beowulf-type cluster for their kids to use, and were looking for donations of software to use on it.

  • An engineer with two young homeschooled daughters. He told me he had some spare compute power in his basement and was thinking of running an airflow simulation of a car in his spare time. I didn't tell him I someday hope to balance my checkbook in my spare time.


The Japan Aerospace Exploration Agency (JAXA) had cool videos of their rockets and cleanrooms. Another Japanese research lab was doing fluid flow analysis of how a baseball travels, and had set up a batting cage so you could hit, with a forced feedback bat, a projected virtual ball. Several 3D stereoscopic displays were set up, including one from Boston University that I thought looked like a giant shrimp (turns out to be something like magnetic field lines coming out of the earth).

Monday, November 13, 2006

SC06 Exhibit Hall Taking Shape

Tampa, FL - The SuperComputing 2006 (SC06) Exhibit Hall in the Tampa Convention Center is a crazy place this morning, littered with cranes, cables, girders, lights, posters, and plenty of silicon and copper. Languages, frameworks, alliances are on the buzzword menu. One sees a lot of exhibits that make you think "hey, I wish I'd thought of that."

One nice language feature of Mathematica I've been playing recently is the ability to make arguments of a function held in unevaluated form, essentially giving you the ability to write your own control structures. If Mathematica doesn't have a repeat-until loop, you can write your own. It's Algol-like call-by-name, in case you want to program that way.

A bit of blog administrivia, regrettably we got a bit of comment spam lately so we've reinstated the captcha requirement.

Wednesday, November 08, 2006

Making the sale

We recently bought a car (see Web Security As it Really Is for the prequel). Good car, from a high-volume dealer. That means we talked with a salesman and arrived at a decision. Yesterday a lot of people made decisions, whether to stay at home or to go to the polls, and once at the polls, what to do with the little boxes or circles or touch-screen input areas.

Today I just am reflecting on how decisions get made, and the role of the salesman and his pitch in arriving at them. I am much more an engineer than a salesman, and sometimes I think I could work as an anti-salesman, somebody you bring along to a store or a car dealership so I can explain to you why you shouldn't buy something.

Malcolm Gladwell includes the Salesman as one of three important figures in his best-selling "The Tipping Point", talking about how messages get spread in an epidemic, explosive, exponential fashion. The role of the Salesman as I gathered was to be an emotional persuader, someone who incites people to act. The Salesman is an important role in society, but by nature he represents someone else's interests, not yours.

When we bought our car we researched long and hard. We read the illuminating "Confessions of a Car Salesman" on Edmunds.com. We were prepared to deal with the car salesman, and I think we did well. I put part of the credit for our success in all the hard work we did to research our purchase before we set foot on a dealership. What caught me off-guard was the business manager, who hit us up to buy an extended warranty after our hours-long ordeal inspecting, haggling over, and agreeing to buy the car that we had researched.

We didn't buy the extended warranty. But the pressure to buy was unexpected, and was palpable to an extent made possible, I think, by my lack of preparation for it. I knew the car in very definite terms, as a matter of fact we were familiar with the same make and model. The warranty was unknown to us, familiar only in vague terms an fuzzy feelings.

I'm afraid our voting decisions are more like my experience of trying to figure out whether to buy the warranty than buying the car.

A few years ago I attended a talk by someone who works as a political analyst. He presented some research from the 1994 Illinois governor's race between Jim Edgar and Dawn Clark Netsch. It featured a fascinating experiment where people are set in a room with a joystick that lets them indicate in real-time their approval of the candidate being interviewed on a TV screen in front of them. What we watched in the talk then was an averaged graph of people's approval over time superimposed over the same video clip they watched. As soon as Netsch mentioned something about not supporting mandatory tougher sentences on a certain type of criminal conviction, viewers' approval started to drop steadily. Netsch lost the election partly due to her stance on mandatory tougher sentences. What was interesting was that when you hear Netsch explain herself on the issue, it was not as clear a difference between her and Edgar. She objected to the mandatory part of the proposal. She reasoned that by making the sentence mandatory it takes away an element of flexibility from the judges actually present and hearing the particulars of a case. She wanted the judges to retain that flexibility. You can argue with me about whether this makes Netsch "soft on crime" as the voters apparently perceived, but this subtlety in the debate was lost on me when I was watching those commercials back in 1994.

Relying on TV commericials was not a good way for me to learn about the candidates.
The salesman, and I include here the architects of political messages, are not at heart interested in reasoned debate about their product. They're interested in getting someone to make a decision.

I heard an upper level software manager relate an imaginary conversation with a customer about a certain usability issue. As a developer, I wanted to help that customer with the usability issue. But the manager's position was summed up in his question "Come on, is this issue going to stop me from getting the sale?"

Decisions play a vital role in life. But we've got to realize that when it comes time to buy or vote, you better have done your research outside of the arena where salesman are pitching and people are trying to get you to make a decision in their favor. Because as my wife observed when told that the dealership doesn't fall in love with their cars, they want to move them: "yes, but we have to live with this car after the sale."

JFKBits at Supercomputing 06

Dear JFKBits readers,

Through a series of inexplicable events, I will be attending Supercomputing 2006 in Tampa, Florida next week. Come see me in booth 1946 if you're there and ask for the Remote Services developer.