Wednesday 26 October 2011

John McCarthy

I wanted to write down a few remembrances of JMC: He was colloquially known at SAIL as just "J M C", not John, not Professor McCarthy. He was at the lab daily and often at night -- his office was in the front of the building. When I first started "flirting" with the AI lab during high school, I was afraid he'd toss me to the curb if he would discover that I was just a high school student. But I believe he just didn't care. In fact, the lab machine would allow you to create an account just by logging in.

When I worked for the computer music project, I saw him often. My most salient memory is when he came into my office (I shared with Bill Gosper and Mike Farmwald) to ask about the radical left poster next to my desk. He wanted to know if I believed whatever was on the poster. I didn't, but I liked the sort of visual style. He said, "OK, I just wanted to know" and walked away. (For those who don't know, JMC took a decidedly right wing turn during the 1970s. Given the background of his parents, that's a remarkable trend).

I can't really separate the contributions of JMC and Les Earnest towards the ultra cool working environment of the AI Lab. To this day, I don't know whether it was the fact that I was fresh out of college or whether it was just a cool place that made the AI lab so special. One must acknowledge that JMC approved of the computer music people coming in over night to use the machine. Without this approval, would computer music have progressed so fast? John Chowning and company depended on this largesse.

McCarthy's contributions to computer science are well known and don't bear repeating. But I'd like to mention two of them in particular: The first is timesharing. As I understand it, the reason the PDP-1 could timeshare was that the drum (not disk, drum) had the ability to read and write simultaneously. So, when the current running user was swapped out, the entire memory was written to the disk while the next user was read in! Second, Markoff's obituary in the Times points out that McCarthy invented Garbage Collection of memory. What a concept!

JMC clearly had a potent vision of that was possible with computers: he sponsored research in AI but also sponsored the system research that would propagate from the lab. So, while we remember McCarthy and Lisp, we should also remember his creation of the Stanford AI Lab and all that came forth from that place.

Saturday 15 October 2011

Dennis and language design

I hadn't intended on writing this entry until Rick Floyd posted about Dennis Ritchie's fine and sparing taste. This brought to mind the influences of language design on C and (by extension) C's influence on further languages.

C's history is well known: it is descended from 'B', which is completely unknown. However, we can look at BCPL. BCPL is a descendant of CPL, which was designed by none other than Christopher Stratchey (talk about an illustrious family, the Stratcheys are amazing). A look at CPL is illuminating: if you know BCPL, then you can see the providence right there. For an example, see his checkers program by Peter Norvig's.

However, CPL was less real than BCPL. BCPL was designed by Martin Richards at Cambridge in 1967. It had a number of interesting features: First, it was designed to be portable over different machine architectures. Second, it's fundamental data type was the machine word. For an assembly language programmer like myself, this was heaven: I could write algorithms and imagine the assembly. Furthermore, the structure construct included both words and bits --- thereby providing an immediate mapping to the machine architecture (device drivers and other machine dependent code). BCPL was the first language for the Alto (which is where I learned it).

So, back to C. What did Dennis to do Ken's version of BCPL? Well, the first thing you have to know about Ken is that he codes fast ... And I think he hates to type. Ever wonder why the Unix kernel has so many short names? Blame Ken. So, then Dennis had to create a spare notation to match. But I think the most noteworthy change was going from words to data types. C goes away from the machine dependent side by incorporating types of Algol 60 lore --- except not making the mistake of calling floats reals. Now, I would be remiss if I didn't mention how C imported bits of the PDP-11 assembler syntax: Ever wonder why autoincrement is ++? Don't. But perhaps the key innovation was the use of the address and de-address operators (& and *). Now you can talk about pointers.

C has undergone many changes since I first learned it at Berkeley reading the Sixth Edition Code. But since I already knew BCPL, it was an easy move. Let me add that I've always loved the for statement in C (even though as a language guy, I know you shouldn't really have more than one way to say something). When you see a for loop used to traverse a list, then you know that's clever.

It's interesting that people mention Java as a descendant of C. If anything, from my perspective, Java is the anti-C. It's way more verbose and eliminates pointers. There are of course many other changes but C is pretty far from Java in my book. And then there's C++, C# and Objective C. They all include the name 'C'...

I wanted to add a personal note about Dennis: He was very private. I certainly knew very little about him during my time in 1127. I do remember when I first got there and a bunch of us were going out to dinner. I stopped by to ask Dennis if he wanted to go. He politely declined. When I reported this to my companions, they said "Sure, Dennis always eats at home with his parents". That's the kind of guy Dennis was. Nice, quiet ... and clever.

Saturday 30 July 2011

(Late) Impressions of New Zealand

I had hoped to get this entry started earlier (that is, before my impressions bleach into whiteness). Better late than never.

First things first: The flight is long (13 hours), but the newer in-flight entertainment systems are really quite fun. I worked my way through just some of the very large music catalog and watched two movies. And, against all advice, I did have a glass of wine with the hope that it would enable sleep in spite of being in steerage. I managed to get about 5 hours each way --- That was enough to make the first day bearable.

Auckland is built on volcanic hills and has only a few bridges. If you're going to walk all over town then it's going to build muscle and cardiovascular conditioning. My slogan for the city is "British Past, Asian Future". All over the city you hear different asian languages --- particularly Japanese and Chinese. Many of the menial jobs are now done by the Chinese. Even the chippie shops are run by the chinese (note: in Edinburgh, they are run by the Italians and Turks).

Architecturally, I wouldn't say that Auckland is that interesting, except for the indigenous bungalow style. There are a collection of repurposed buildings from the 1930s but unfortunately the new awnings damage the impression. But it was fun walking all over the city checking out the flora and fauna. One day we took a ferry to Davenport (just a short hop). From the top of this extinct volcano we had a very nice view of the city and harbor.

I kept looking for bakeries that produced something other than puffy white bread. I was unsuccessful. Other food expeditions were more successful: the Dim Sum was excellent and we had a wide choice of various asian cuisines. Food in NZ isn't cheap so while I'd hoped to give modern NZ cuisine a try, I would only succeed once in the trip (at a winery no less).

From Auckland, we rented a Toyota and proceeded to the volcanic center of NZ: Rotorua. As Americans, we take many things for granted. One of them is our National Park System. Imagine if you had to pay a commercial operator for every geological wonder in the US! In NZ, that's almost the case (the volcanic mountains are National Parks).

The volcanic landscape of NZ is spread out (the crust is thin and you don't know when magma will escape). But the overall impression is that Yellowstone is a good approximation --- except the state owns it instead of private parties.

The ecology of NZ is varied: In the grazing areas, I got the impression that the landscape had been radically altered by the western settlers. One could imagine dense vegetation but instead it was mainly fields of grass and cows (not as many sheep as I expected). Forests were clearcut down to the road. And, the introduction of various mammals including the opposum have been deadly to the local flora and fauna (Kiwis are killed by non-native mammals, esp. dogs and ferrets). And interestingly enough, it was the Maori who introduced rats into NZ. The Maori are relative recent immigrants to NZ: only a few thousands years since they navigated eastward from Polynesia.


Sunday 22 May 2011

Max Mathews

I am overdue writing about Max. Max' recent demise at the "hands" of Community Acquired Pneumonia leaves Computer Music without its founder. Max (incredibly) conceived of computer generated music in the 1950s --- a time when computing a single sample of sound could take forever. At Bell Labs he rose through the ranks to become the director of the acoustics center --- all the while maintaining his lab in a tiny space off the spine of Building 1.

Max was a unique individual. He had this very distinctive craggy voice and a very bald head. He was extremely enthusiastic and supportive of all efforts with computer generated sound. While at the Labs, I wrote a "Studio Report" with Max on Computer Music at Bell Labs. At that particular point, he had moved into the construction of interfaces and away from synthesis. He was working on the Radio Baton --- as the New York Times obituary pointed out, presaged the Wii and all other gesture based controllers.

I should point out that Max conceived of music synthesis assisted by computer languages in the early 1960s. He started with Music I and eventually it became Music V. One can not underestimate the effect of this concept and implementation. At Stanford, this became Music 10 and was used by the composers when one second of sound required one hour of computation. It was rewritten as cmusic and the lineage of "unit generators" continues to this day.

What made Max so important was that he was decades ahead. He had what I consider to be spectacular forward vision: he could see what technology could do for the arts long before it became even possible. Max encouraged this interaction personally by inviting guests to his lab (both scientists and artists). His early work with Jean-Claude Risset showed how analysis and synthesis of acoustic instruments could be done with computers. His fundamental contributions to the start-up of IRCAM are also not to be ignored.

Even in his "retirement", Max continued to teach and encourage at CCRMA at Stanford. I have no doubt that this leaves a void in the CCRMA environment and in the world of Computer Music.

Friday 1 April 2011

Redoing Paul Prudhomme

n.b. I've been meaning to write this down for a long time. Now is as good as ever.

Paul Prudhomme can reasonably be considered the primary spark in the Cajun renaissance. By this I mean that before Prudhomme, cajun cooking wasn't really in the american cooking consciousness. Emeril can easily be considered a TV powered follow-on.

The problem with Paul Prudhomme is that he uses outrageous quantities of fat. With today's cooking, that is not a reasonable approach. However, I believe that his recipes can be easily recast in a (slightly) lighter fare.

His first cookbook is "Chef Paul Prudhomme's Lousiana Cookbook". Let's examine his veal, oyster and artichoke over pasta. His method here is almost the same as his recipe for veal and oysters in crepes (an awesome recipe BTW): first, a seasoned flour is prepared. The veal is coated and ... "Melt one stick of butter". Say What???. One whole stick of butter? Who is he kidding? He fries the veal and then he adds another half stick of butter (no, I am not making this up) while he adds the artichokes. Then another half stick of butter. Finally, it's time to add the oysters and 3/4 of a cup of heavy cream, just in case you haven't had enough. It's rediculous.

First, let's change his method of dealing with the artichokes. I consider boiling 'chokes a crime. So, I vote for the Italian method here. Remove the outer leaves and steam them separately (and eat them as a side). Take the inner choke and slice it. Then saute it in a little olive oil and butter. Add water and cook gently until tender.

Let's change the first stick of butter to just enough oil (Canola is a good cheap choice) to fry all the veal pieces. You'll know how much by the volume of the veal. When brown remove the veal from the pan and put in the oyster water. Or white wine. This will generate a nice sauce. Add a few tablespoons of creme fraiche and stir. Then put in the oysters and cook. Lastly add the artichokes and the veal.

He serves over pasta but my critics think it would have been better over rice. I use oil instead of butter, trying to avoid saturated fats. A Tb here and there of butter improves the flavor. But two sticks of butter? That's crazy talk!

Sunday 20 March 2011

Ron Surak

I received mail in late February that my friend, Ron Surak, died in late January. Ron was a friend from Rutgers days. We met when somehow he heard that someone over in Engineering was interested in Computer Music. He called me up and he came over to the EE building. I remember our first meeting: He was dressed in a kind of natty way: tweed jacket and he was smoking. He was unapologetic for the cigarette --- but in the end, that's what killed him: he was struck down by a cerebral hemorrhage. What I didn't know is that smokers are much more likely to die of brain aneurysms than non-smokers. I wish he hadn't smoked.

What I liked and appreciated about Ron was his wry sense of humor and also his taste in music. We would agree on the aesthetics of many (but not all) computer music pieces. In my experience, the computer music community is all too eager to accept trashy music as good just because someone used a computer to create it. This may have changed in recent years, but Ron and I often agreed about what was trash and what wasn't.

After Rutgers, Ron retreated to his parents house in Coal County in the very center of Pennsylvania. It wasn't on the freeway path but I visited him twice. It was a small house and was attached to the remnants of his parents' store. He had his grand piano there. It still looked like the store it was many years ago. I can not imagine cleaning that out now.

When Noah was showing signs of musical talent, Ron was my source of valuable advice on how and where to educate him. I made a special trip to visit Ron with Noah so that Noah would have a chance to talk about music with an active composer.

Besides music, Ron liked fly fishing for trout (catch and release mostly). When I visited him last, he offered me a fish from his freezer. I didn't take it.

Ron was 70 years old but I thought he was younger. He had been having issues with macular degeneration but we used to exchange email now and then. He followed Noah's musical education with great interest. In his last email, he promised me a copy of his score for vibraphone and piano as soon as his printer was fixed (so that Noah could see it). Three weeks later, he was dead.

Ron's manuscripts are in the hands of his son and "consort". I believe they will find a good home. They are a lasting legacy of his taste and artistry.

Godzilla vs. the smog monster

If I haven't blogged since December then you know it must have been a dark and depressing winter. However, spring is in the air... So, how is web serving from home? Well, I wish to report that openbsd is a great system. It is still up (actually 147 days and counting). As for those shitehead script kiddies, no, they haven't given up. I watch as they hit the machine with constant root password attacks. What they don't know (as ignorant script kiddies) is that root ssh logins are completely disabled. They might as well bang their head on a wall. They've also attacked every user name in the book. But if you only do it once, you're not likely to succeed. Also under attack is the samba server --- but once again, I was (unusually) detailed and prohibited connections from anywhere outside the local network (that's 192.168.1.*). Same goes for nfs. Losers.

I have to say, I was tempted to install a "honeypot" on a new guest account. But better sense prevailed.

I also monitor the access to web pages --- this tells me what people are looking at. Once again, I find that my test equipment pages are popular. So, I took a few hours to update them a little. I also discovered various errors by monitoring the logs. So, I fix them now and then. I got tired of seeing errors when the spiders came along so I put in a robots.txt and also a favicon.ico (the latter is that little icon that shows when you load a page). Since the official webmaster is Fishy, the little icon is of Fishy (of course).

openbsd has proven to be an excellent choice. Robust, secure and it's a fast system even though it's on an obsolete sun system. What I really need now are gigabit switches. Soon...