Monday, November 30, 2009

Skew Binary

Remember my earlier post about balanced ternary? Well, another odd numbering system has been in the news recently.

Randall Munroe just published a collection of XKCD comics. The page numbers start out like this:

1, 2, 10, 11, 12, 20, 100, 101, 102, …

This had a lot of people trying to guess what the numbering system is. It’s obviously not binary, because it has '2’s in it. It looks a lot like ternary, but that would go like this:

1, 2, 10, 11, 12, 20, 21, 22, 100, 101, …

It turns out it is something called skew binary. In skew binary, the nth digit represents a multiple of (2^n-1). Because of the “missing value” in the radix, you need more digits than just the 0 and 1 which binary uses. But interestingly, it turns out that you only need to use 2 per value. You’ll never see something like 22.

Here are some examples:

1 = 1*(2^1-1) = 1*1 = 1
2 = 2*(2^1-1) = 2*1 = 2
10 = 1*(2^2-1) + 0*(1-1) = 1*3 + 0*1 = 3
11 = 1*(2^2-1) + 1*(1-1) = 1*3 + 1*1 = 4
...
101 = 1*(2^3-1) + 0*(2^2-1) + 1*(2^1-1) = 1*7 + 0*3 + 1*1 = 8
102 = 1*(2^3-1) + 0*(2^2-1) + 2*(2^1-1) = 1*7 + 0*3 + 2*1 = 9

Make sense?

If you count in skew binary, you’ll see an interesting pattern where that 2 keeps appearing on the right and sweeping left through all of the digits and then disappearing again. That’s related to one of the more interesting properties of skew binary. When you’re adding, there is at most a single carry, as discussed here. That's a useful property if you’re implementing an adder. It might also make for an interesting looking clock.

For more on this, go check out Morton Barklund’s blog.

Sunday, November 29, 2009

SharkBite

This weekend, I needed to move a pipe to add a hookup for the icemaker in a new fridge. The pipe’s in a cramped wall between the downstairs shower and the alcove the fridge sits in. Soldering copper pipe in a cramped corner like that can be an awkward pain, so I decided to try something new.

This thing is called a SharkBite connector:

Inside the hole is an o-ring and a bunch of sharp little teeth that look like those things that threaten your car’s tires if you go out the entrance of a parking lot in the city. The neat thing about this is that it’ll grab on to copper, PEX, or CPVC tubing and it doesn’t need any solder, glue, or fancy crimping tools. It seemed like the perfect thing to try for this hookup.

Whenever you try something new like this, you need to learn the tricks. Because of that, this project ended up being a lot more involved than I would have liked. I figured I would post what I learned here. Maybe that way someone else will be able to get started with less fuss.

The first thing I ran into is that the pipe slides an inch into the hole. That’s a lot more than on the old copper connectors. This means that if you’re trying to add a tee to the middle of an existing run, you’ll need an inch of lateral play to get the fitting on. The plumbing in the cramped corners of an old house doesn’t usually have that kind of play.

These connectors seem to be very unhappy if there is any lateral force on the joint. I had one where this caused a small leak on the side that was under tension. I had to take it apart and lay it out straighter.

For the line out to the fridge hookup, I used PEX. It turns out that when you pull PEX tubing through the walls of an old house with plaster walls, the sharp bits of plaster which stick in through the lathe make longitudinal scratches in the tubing. Theses scratches can be deep enough that the SharkBite connector’s o-ring can’t seal the joint. Then you need to pull the tubing back out and try again.

But for all of that, it was still a pretty nice experience. I think that after you get used to working with this stuff, you could probably go pretty quickly.

Tuesday, November 24, 2009

Sudbury, the Big Nickel, and BIFs

When I lived in Canada as a child we were always taking these long road trips to see the sights. Some of the places were more interesting that others. One that I remember from when I was about three or four was visiting Sudbury, Ontario. At the time I’m not sure I found it very interesting, but it definitely made an impression. One of the clearest memories is of the Big Nickel. The nickel is a monument which was created to symbolize the importance of nickel mining in the Sudbury area.

Perhaps we were visiting in the winter, but what I remember was a desolate hillside with almost no vegetation with this giant nickel on a pedestal. There were some other coins there too, but the Nickel was the main attraction. The surroundings were bleak and I wondered why anyone would come there. If you’d like to know more about what it looked like, go check out the work of photographer Edward Burtynsky.

 

This is the Nickel as I remember it. It turns out that it was only a couple of years old (maybe less) when I saw it as a child. It just celebrated its 45th anniversary this year after being refurbished in 2003 and mounted on a new pedestal. On the same trip we drove through a deserted town of boarded up houses. My father explained that this was where they had mined Uranium. Why would this be on anyone’s list of tourist attractions? Perhaps it explains things if I say that my father was a metallurgist…

There was an interesting paper in Geology recently about the Sudbury Basin. This is a giant crater that was formed when a giant meteorite hit the earth almost 2 billion years ago. It left a scar about 40 miles long, and was the source of the nickel.


View Larger Map

The paper argues that this impact was responsible for the end of the banded iron formations. Banded iron formations are a rock formation which is found on ancient seabeds all over the world. They’re made of alternating layers where iron was and wasn’t exposed to oxygen. The theory is that the oxygen was being created by early photosynthetic algae. These layers could only form when the ocean waters didn’t contain much oxygen.

Slack & Cannon’s paper says that this impact created a tsunami which was so large that it mixed oxygen which had been building up in the atmosphere and surface waters deep into the ocean and stopped the formation of BIFs. They’re talking about a wave which was a kilometer tall near the impact site and a hundred meters tall several thousand miles away. A wave which stirred all of the world’s oceans right down to the bottom. That’d make a pretty great disaster movie, wouldn’t it?

The paper is behind a paywall, but you can find a pretty good summary here.

Monday, November 23, 2009

Why I hate browser inconsistencies...

This post is going to be somewhat out of character for me - it doesn't include anything about food. But if I can write this up and save anyone else the frustration that I've been having the last couple of weeks that would be good.

For the last couple of weeks I've been trying to update the installation of the tinyMCE editor in my Ruby on Rails web application. One of the main reasons for upgrading was to be able to have tinyMCE work properly on Safari and Google Chrome. Things were looking a whole lot better in those browsers, and working fine in Firefox, but almost nothing was working in Internet Explorer. And IE was soooo helpful in explaining why it wasn't working:

Error: Object doesn't support this property or method

What object? Which property? Couldn't it give a little more hint than that? And it referenced a line in tiny_mce.js (in the Sizzle.filter function) that looked just fine, just standard calls. What's going on?

The tinyMCE FAQ wasn't exactly helpful. It's only suggestion for IE problems was removing an extra comma in the init function, but my init function was correct. Much googling of tinyMCE, IE, and the error message didn't turn up anything useful. Not only that, but very similar examples on the tinyMCE site work just fine in all the browsers I tried including multiple versions of IE - so it really had to be something in my configuration that was causing the problems.

Finally I was directed to this post about a jQuery/json incompatibility with Internet Explorer. Strange - my application doesn't use JQuery - why should this apply? It turns out that tinyMCE includes Sizzle which is a part of JQuery. And that's where this line of code is.
Changing:

if ( (match = Expr.match[ type ].exec( expr )) != null ) {

to

if ( Expr.match[ type ].exec && (match = Expr.match[ type ].exec( expr )) != null ) {

in the Sizzle part of tiny_mce.js as described in the post fixes everything.


Sunday, November 22, 2009

Splash 2

My favorite splash class was Patrol. Patrol is a game run weekly from 8-11:00 pm on saturdays. You are given a dart gun, several darts, and a headband. Headbands said whether you were alive or dead. It is run by the MIT Assasins guild. For splash it instead runs 7-10 and is open to splash registered people. We got 4 floors(basement, 1, 2, 3) to fight on. On the first floor there were several rooms that people could fight in, but everyone with green headbands joined together to monopolize the area.

We then proceeded to run around for three hours shooting at one another. If you got shot you resurrected on the third floor. There was a huge amount of fighting where two groups tried to reach the other end of the hallway, without even being sure what they would do when they got there. I made it through the entire corridor with just one dart. Someone actually wrote their masters thesis on the topic.

There was another class I took called applied cryomania, where we used liquid nitrogen for a variety of things, including making Ice Cream. Ice cream is measured based on two things: flavor and texture. they used a mixture that was about 50% fat, and therefore delicious. Texture comes from the speed at which it froze. Ice cream which froze slowly forms long chains of crystalline structures, and results in grainy ice cream. Basically, the faster, the better. Liquid nitrogen is about -196 degrees Centigrade. That is in Fahrenheit -320 degrees. Obviously, this was a very cool class. We did end up eating some of the best ice cream I have ever had. They had 3 flavors: chocolate, vanilla, and Coke. "Coke flavor?" you say, but it was actually very good.
I took a number of other interesting classes like How to solve a Rubik's cube, Magic Systems for Dummies, and ZDI002: Intermediate Zombie Defense (I took Beginning Zombie Defense last year). The zombie defense class was very useful because it covered more strategic issues instead of just tactical ones.


Saturday, November 21, 2009

Splash @MIT (day 1)

I went to something called Splash at MIT today. Splash is a big event of MIT students teaching classes about many diverse subjects, from chocolate to quantum physics. One of the classes I took today was about the game Mafia. We were just playing many games of Mafia.

There are hundreds of variations of Mafia, here's how I played it today at MIT:
The person running the game is the narrator.
1. Everyone gets assigned a role, for example: townsperson, mafia, doctor, detective
2. Next everyone closes their eyes.
3. The narrator tells the mafia players to wake up. Without making any noise, the mafia players decide who to kill by pointing at people until they all agree - that person has been killed by the mafia.
4. The Mafia go back to sleep and the narrator wakes up the doctor. The doctor picks someone they wish to save. If the doctor chooses the same person the mafia chose to kill, the person survives.
5. The doctor goes back to sleep and the narrator tells the detective to wake up. The detective chooses one person to investigate. If this person is a mafia, the narrator will give the detective a thumbs up, if the person is not a mafia, the narrator will give the detective a thumbs down.
6. Then everyone wakes up and the narrator announces who has died and whether or not they were saved by the doctor, but does not tell the role of the person who died.
7. Everyone who isn't dead now talks about who they think should or shouldn't be accused of the killing. The detective can say that they are the detective and whether or not someone is guilty according to their investigation, but someone else, maybe mafia, can also claim to be the detective and lie.
8. Now everyone votes on who they think is guilty, and the person who gets the most votes is killed.
Now, repeat steps 2-8, until only one side remains, either mafia or townspeople. The side that remains wins the game.

I was never a mafia, even though we played through 5 complete games. It was cool.

After Mafia, I did a class on money. We learned about hyperinflation, security features on bills and other funny things about money from many places. The instructor handed out money in envelopes. I got this ngultrum from Bhutan. Each bill came with a slip of paper about it. I think it's cool, but it's only worth about 18 cents.


Friday, November 20, 2009

Robots Perform Shakespeare

There’s been a lot of concern over the years about the effect of automation on employment in various fields. There’s occasionally been some talk about this in acting because of CGI projects like Digital Emily, but it’s always seemed like the stage was one of those places where people would always be needed.

Now here’s a story about robots playing the parts of the fairies in A Midsummer Night’s Dream. What do you think of that? What do you think Shakespeare would have thought of a performance where Peaseblossom looked like this?

The Political Mind

I just finished reading George Lakoff’s book The Political Mind. If you’re not familiar with him, he’s a cognitive linguist at Berkeley. That means that he researches the ways in which language use reflects how the human brain works. He’s known for his work concerning metaphors and how central they are to how we think. It’s pretty interesting work.

But he also writes about politics, and that’s what this book is about. He claims that one of the reasons the American political system often appears dysfunctional is that it is based on a flawed premise. His argument is that the founding fathers wrote the Constitution around the premise that people are rational actors who will seek to maximize their own interests. This is key to the capitalism of Adam Smith, which views the free market as a way for these rational actors to reach an equilibrium which maximizes the benefits to the society as a whole.

Lakoff argues that the assumption that we’re rational actors is bunk. He says that modern cognitive science shows that something like 98% of the “conscious decisions” we make are actually made by our unconscious. The "rational” reasons we give for them are actually confabulations which are made up after the fact. He highlights a number of interesting experiments where results which the subjects’ believed were resulting from conscious decisions were actually affected by things the subjects were not consciously aware of.

He argues that our political decisions are one of those areas that is strongly affected by factors we’re not conscious of. This means that it is possible for politicians (like advertisers) to tap into these factors to get people to support actions which aren’t in their self interest. The key to doing this is establishing a frame. A frame is a conceptual framework that we use to understand a situation. It’s sort of a story with slots for the different players. We reuse frames like metaphors. When we encounter a new and unusual situation, we attempt to find a frame which we’ve used previously which we can use to structure our understanding of the situation. Once we do that, we fit all of the players in this situation into the predefined slots in the frame. By using loaded phrases like war on terror a politician can establish the frame you use to understand the situation. Once they’ve done this, solutions to a problem that don’t fit into the frame you’re using are basically invisible to you. It’s important to watch out for frames in politics. If you let a political opponent establish the frame, then you’ve already lost the negotiation before it starts.

He also argues that our understanding of politics and government tends to use a frame that is established during our early interactions with our family. There are basically two different frames people have for family life which they tend to use to understand political questions. He refers to these as the Strict Father and Nurturant Parent frames. Instead of viewing people as conservative or progressive, he suggests that you consider which of these two frames they use in a particular situation. A conservative would tend to use the Strict Father frame in a lot of situations, while a progressive would tend to use the Nurturant Parent frame. But very few people always use one or the other. It’s very common for the subconscious to choose different frames for different situations (e.g. fiscal vs. social conservatism).

Portions of the book do get a bit over the top and strident, but there is one thing I did like about it. A lot of books like this tell you how the author thinks things work, but leave you wondering what you can do to change things. Lakoff actually has a chapter where he tries to use modern neuroscience to explain how to achieve your goals in politics. The most important suggestion is to start the conversation on subjects where the other person uses the family frame which you would like them to apply in the situation in which the negotiation is actually going to occur. The reason is that by getting their brain used to using that frame, you make it easier to get them to use it in a different domain. An example of this approach might be the way in which Obama engaged Rick Warren on questions about helping the poor. By getting religious conservatives to use an empathetic frame, he might have been making it easier for them to apply that same frame in a different situation later.

Anyways, there’s a lot of stuff in this book to make you think, and a few which will make you want to yell. It’s worth a read.

Thursday, November 19, 2009

Pot Roast with Polenta

I hadn't really planned on doing a pot roast, but the supermarket had a special on beef chuck roast and it was a cold rainy weekend, so I just had to do something. Yes, there's actually a big hunk of beef under all those vegetables. I'd also found this video for making polenta that I wanted to try out, and it seemed like a good thing to try it out with. As usual I didn't really follow a particular recipe. I took some inspiration from this Jamie Olvier Stew recipe (the garlic, lemon zest and rosemary on top among other things). Some additional inspiration from just generally looking at pot roast recipes on epicurious and the vegetables that looked good down at Wilsons. Here's what I ended up with:

Beef Pot Roast with Polenta
4 lb (approx) beef chuck roast
1-2 onions, chopped
2 cloves garlic, minced
4-5 carrots, cut in large pieces
2-3 large potatoes, large pieces
4-5 parsnips
1 cup (or so) red wine
thyme (I had some fresh growing that I used, I'd probably use 1-2 tsp of dried)
1-2 bay leaf
16 oz beef stock or water
lemon zest
1 clove garlic, finely chopped
2-3 sprigs fresh rosemary, finely chopped
olive oil
salt & pepper

Preheat the oven to 325 degrees. Season the meat with salt & pepper. Heat a dutch oven over medium heat. Add a couple of tablespoons of olive oil and then the beef. Briefly brown the roast on a couple of sides, then remove. Add the chopped onions to the pot with a little more oil if needed. Add the garlic once the onions have started to soften. Once the onions are translucent, return the beef to the pot, add the rest of the vegetables along with the red wine and stock or water along with the thyme and bay leaf. You want enough liquid to come up to the top of the meat and vegetables, but they don't need to be completely submerged. Cover the pot and stick it in the oven for about 3 hours. It's done when the big hunk of meat is starting to fall to pieces. Before serving adjust the salt and pepper if needed. Finely chop the lemon zest, rosemary and garlic together. Sprinkle the mixture over the top just before serving.

The topping is kind of like a gremolata, made with rosemary instead of parsley. If fresh rosemary was hard to find I would definitely try it with parsley instead.

Polenta
I halve the recipe from the video, but you could certainly double this to have leftovers.
3 cups water
1/2 tsp salt
1 cup cornmeal
2 Tbsp butter

Pour 1 cup of cold water into a bowl and add the cornmeal. Whisk it together so there are no lumps. This is the secret to this recipe in my opinion. The fact that the cornmeal is already a paste means that it doesn't instantly form lumps when added to the boiling water.
Put the other 2 cups of water into a saucepan and bring to a boil over medium heat. Once the water is boiling, add the cornmeal paste and stir to keep lumps from forming. Keep stirring the mixture over medium low heat until it's very thick (the recipe says 30 minutes - I find that it's pretty think after just 10 minutes, so use some judgement). Take the polenta off the heat and stir in the butter. Pour the polenta into a well buttered bowl (I use a loaf tin) and let it sit about 10 minutes to cool and set. Once it's set, invert the bowl onto a plate and cut thick slices. Serve the slices with stew over the top.

If you have leftover polenta, you can cut it into slices and fry them the next day.


Steve Blank Finds Closure

Steve Blank was VP of marketing at Ardent when I was at Stellar. The two companies were rivals and then later were combined to form Stardent. He’s been telling a bunch of old stories about those days on his blog. I’ve been enjoying them, but in a you-had-to-be-there sort of way.

But today he posted a story that’s pretty funny even if you weren’t there. It’s about about a sale they lost in 1986. The customer in Pittsburgh decided to buy a Cray instead. For some reason that loss really bothered Steve. Many years later he found out that they were selling the Cray on eBay. So he bought it and stuck it in his barn.

Isn’t it nice to find closure on something that’s been bugging you for a long time? I wish I had a picture of the Y-MP sitting next to his manure spreader.

Cray Y-MP

Go read his post here.

Wednesday, November 18, 2009

Bad Code Offsets

Here’s a useful idea; Bad Code Offsets. They basically work just like carbon offsets, but for bad code. Just like carbon offsets, they’re designed to expose external costs to the correcting forces of the market. But in this case, it’s the external costs of bad code.

 

They’re currently priced at $0.50US per line of bad code. Stock up here for your next code review.

Tuesday, November 17, 2009

Noisy Loops

It seemed like kind of a crazy, noisy day. I felt a little like this sketch. This one's in Java and I formatted the source with Anthony Mattox's Processing code formatter.


Source code: Noisy Loops
Built with Processing

Papert

This is great. An implementation of Logo which runs in a browser. The project page is here, but just skip straight to it by clicking here, and get your turtle moving.

 

Or try out one of the examples they’ve provided like this Koch snowflake:


Run at logo.twentygototen.org

You will need a browser which supports SVG though.

Sunday, November 15, 2009

The Caterwaulers Have A Reverb Nation Page

I have been designated the band's web manager, and I set up an artist page for The Caterwaulers on Reverb Nation.

We now have an embedable music player with all of our music thus far.


Band website builders
Quantcast

Saturday, November 14, 2009

Leonard Nimoy Day

Today was Leonard Nimoy day in Boston today. Nimoy grew up in Boston and he’s back in town this weekend, so Mayor Menino issued a proclamation.

To celebrate, we watched an old Star Trek with Peter tonight.

LHS GWAC Band Night

I performed at Band Night on Friday the 13th as part of the band I am in, The Caterwaulers.
We performed 3 songs, 2 original and 1 cover. The order was "Firedancer" (Original), "Love In A Week" (Original), and Santiago (Cover).

Now would probably be a good time to explain our instrumentation.
Twelve people performed as The Caterwaulers.

-Lukas: Drum Kit, Bodhran, Djembe, and unofficial official Director
-Greg: Flute, Piccolo
-Mateo: Tenor Saxophone, Bassoon
-Mina: Vocals
-Matt: Alto Saxophone
-Estefanía: Keyboard
-Me: Bass guitar, Digeridoo
-Emily: French Horn
-Andrea: Viola
-Ben: Mandolin, Banjo
-Leo: Guitar
-Kenny: Guitar

There are 2 people leaving the band (Estefanía and Mateo), and one person upgrading from honorary to full member (Ching-Ching: Piano, Chinese flutes).

Firedancer was composed by Mina in one day.

Love In A Week was a joint effort from Mina, Kenny, and Ben (and was written before I joined).

Santiago is a folk song from Galicia (the Celtic area of Spain), and we based our arrangement off of Loreena McKennitt's arrangement

Here's Firedancer, we'll get the rest online later.


Friday, November 13, 2009

Cookie and XFish

When I blogged about Multics yesterday, I forgot to mention my favorite Multics program. Cookie was a program that you use to use to hack someone’s account when they left a terminal logged in. Once you started it, at random intervals, their terminal would print out messages like:

I want a cookie!

The cute part was that as soon as it printed the message, it would kill off its own process and queue itself up to start again later. This meant that if you did the Multics equivalent of ps (which I’ve since forgotten), you wouldn’t find anything.

The source to cookie is available online.

 

Several years later, when we started rolling out workstations to people’s desks at Applicon (a mix of Sun 2’s, early Decstations, and custom hardware running X 10), I wrote a program called xfish which was patterned after cookie. It would draw a little fish swimming across your desktop. Once it got to the other side, it would start a copy of the process on another random machine on the network. The first process would exit and the new one would go to sleep for a while. This meant that when you tried to find the process that was drawing the fish, it had probably disappeared from your machine and you had to guess which machine it was sleeping on.

A couple of the new college hires at the time then wrote a shark program which bounced around the network trying to find the fish program and kill it.

I’m afraid that I don’t have source or pictures for either the fish or the shark.

Thursday, November 12, 2009

Lego Car Crash

Will and I made another stop motion yesterday. This stop motion was made out of Legos. It is a video of a car crash. This is the video

We are testing vimeo for the first time because it’s compression seems to be better than the one we used for the other post we did.

Multics Turns 40

Multics, one of my favorite operating systems recently turned 40. I first encountered it in ‘76 on the big machine at MIT. It was quite a revelation at the time. The other systems I used were either IBMs where you created cards on an 029 and handed your deck to the operator to queue up, or minis which used old style TTYs with paper tape readers. The Multics system, on the other hand, was like a visitor from the future. It served lots of different users while handling jobs at different priorities, and let you share things between users with different protection levels for different kinds of tasks.

The 6180 at MIT

My career has intersected with Multics people and Multics technology several times since then. When I was at Applicon, we did our VMS development in PL/1. We even wrote an interpreter for a variant of PL/1 called AGL. ArchMaq also used to use a strange version of PL/1 with a compiler that was written by a grad student. After Applicon, I went to Stellar. Bill Poduska was a Multician (he wrote the EPLBSA assembler), and number of the Multics ideas had been used in the Prime and Apollo systems. Of course, Multics really had an enormous influence on all of the computer industry because of something Bell Labs developed after they dropped out of the Multics project.

Multics is gone now, but you can actually get the source code if you’d like.

There are a number of articles around the web related to this anniversary (e.g. this interview with Corbato at CIO),  but you can also go to multicians.org and hear it all directly from the people who were there.

Tuesday, November 10, 2009

Marine Traffic

As Melville wrote:

Whenever I find myself growing grim about the mouth ; whenever it is a damp, drizzly November in my soul ; whenever I find myself involuntarily pausing before coffin warehouses and bringing up the rear of every funeral I meet ; and especially whenever my hypos get such an upper hand of me, that it requires a strong moral principle to prevent me from deliberately stepping into the street, and methodically knocking people’s hats off – then, I account it high time to get to sea as soon as I can.

But it’s hard to find a ship these days ; and you need a union card ; and who has time for that anyways? But of course, the Internet has the solution.

Have you seen www.marinetraffic.com?

image

It’s a website that provides real-time tracking of ships all over the world. So you can just sit back in front of your computer and dream of being out on the high seas with the salty spray in your face.

Sunday, November 8, 2009

SPDE Starlings

OK, I think I’ve got SPDE generating applets now. Let’s see how this works. Leave me a comment if you have trouble running this one.

This is a variant of the Bees sketch I did back in July. It’s written in Scala instead of Java. Since the weather isn’t quite right for bees this time of year, I changed it a little to be a flock of starlings at the seashore on a cold afternoon. They’re a little hyperactive, so move the mouse slowly until they start settling into some cool patterns.

What do you think?

Source code: starlings Built with SPDE and Processing

Saturday, November 7, 2009

Raking The Lawn

We raked the lawn today. Daddy was suggesting we make a stop motion of us walking the dog. Instead I thought we should make one of us raking our lawn and everybody agreed it was a good idea. So this is our video.

Thursday, November 5, 2009

Brother Blue

A local icon died this week. If you’re from the Boston area, you’re familiar with Brother Blue and his stories. He was one of the people who made Harvard Square special.

If you’re not from the Boston area, check out this video we found on YouTube of him telling a story at Toscanini’s last year.

Wednesday, November 4, 2009

J. C. R. Licklider as the Antichrist

David Byrne had a post on his blog the other day in which he laments the fact that so many of the physical objects which we have valued for decades or centuries will disappear during his lifetime. Think about it. Newspapers, photographs, records, letters, and films are all disappearing and being replaced by intangible bits which get delivered to you through the ether without any tangible presence.

In his post, Byrne refers to J. C. R. Licklider as the antichrist. Licklider? Most people aren’t familiar with that name, but he is someone you should know about.

J. C. R. Licklider 

His CV looks a little bland for the antichrist. He was an engineer who moved between government agencies, industry and academia. But if you start to look at it in detail, you start to realize why he can provoke such strong feelings in people.

In 1950 he went to MIT to start a psychology department, but soon became interested in some of the early work in computers. He was on the committee which created Lincoln Labs which transformed the early Whirlwind computer into the enormous SAGE air defense computer which NORAD used for many years. Along the way, this group did some of the earliest work in things like real-time computing, modems, and user interfaces.

In 1959 he moved to BBN (which did acoustics research) where he got his hands on an exciting new DEC PDP-1. While he was there, he wrote Man-Computer Symbiosis, which is one of the seminal papers in the process of rethinking what computers can do and how we use them. That was followed by Memorandum For Members and Affiliates of the Intergalactic Computer Network which envisioned a global network of computers interacting with each other and sharing data.

In 1962 he went to ARPA (the Pentagon’s research agency) where he founded the IPTO. They created things like ARPANET (the ancestor of the Internet) and did a lot of important work in fields like computer graphics.

In 1968 he went back to MIT to become the second director of Project MAC (MIT’s computer science lab) where they did a lot of important research in areas like artificial intelligence, operating systems, and networking.

Through all of those moves he spread his vision of what computers could become and spread excitement through a growing group of followers. The people he inspired along the way went on to build the world we know today. So maybe David Byrne is right to single Lick out as the person who is responsible for all of those changes.

 

If you would like to learn more about Lick, you should read The Dream Machine by Mitchell Waldrop. It’s a well written biography of him which does a great job of explaining what he did and how he helped build the future. And then you should stop to think about how you feel about all of the changes he started.

Monday, November 2, 2009

Ayn Rand

Two biographies of Ayn Rand (Goddess of the Market and Ayn Rand and the World She Made) came out recently. That’s been the occasion for a number of book reviews which attempt to puzzle out why she’s had such an influence on American political thinking. For examples, see Johann Hari’s review in Slate, Adam Kirsch’s review in the NYTimes, or this review in the Economist. I’ve always been pretty puzzled by her appeal. I’m not sure that I’m prepared to wade through two biographies of someone whose neuroses appear to be so self evident, but these reviews do make the books sound reasonably even handed and interesting.

I’m currently reading Alain de Botton’s Status Anxiety. It has nothing to do with Ayn Rand, but in some ways maybe it does have something to do with her appeal. In the chapter on the rise of the meritocracy and its effect on status anxiety, de Botton traces the change in how the West has thought about the rich over the last millenia or so. He sees the beginning of the shift from the early Christian view that being rich did not imply moral superiority to modern views which are more in line with Rand’s thinking. He singles out Bernard Mandeville’s The Fable of the Bees as the seminal work in this change in thought. This led to David Hume and Adam Smith , but I don’t think that this is the line that leads directly to Rand.

A somewhat separate thread which de Botton highlights is the Social Darwinism which was popularized in this country by Herbert Spencer. I think that this is closer to Rand’s appeal. Social Darwinism was certainly very appealing to many Americans (e.g. Andrew Carnegie). There was a backlash once the theory became linked with Nazism, but I think that the underlying idea that being successful is good and moral while being unsuccessful is a sign of personal weakness continues to resonate in American culture.

There’s another thread which de Botton highlights in the same section which I think might also be related to this. The prosperity doctrine was exemplified by a number of 19th century books by Protestant authors like the Reverend Thomas Hunt’s The Book of Wealth: In Which It Is Proved from the Bible That It Is the Duty of Every Man to Become Rich. This line of thinking has certainly gone on to become a major part of American life. You can follow it through a number of variations like Norman Vincent Peale’s The power of Positive Thinking up to any number of books on today’s best seller lists. Positive Thinking doesn’t have the evil reputation which Social Darwinism has, but it certainly does have its dark side. For a good exploration of that, see Barbara Ehrenreich’s latest book (or this excerpt in Time or this interview with Jon Stewart).