Alan Kay on OOP

Some update before I move on to the main post:

I’m an official team member of the 2010 NYU iGEM team! I’ve learned a ton of biology from Russ, and worked on some cool stuff like visualizing and simulating the Immunoyeast system using Processing language. I’m also working on having a touch-screen installation for the Jamboree, so don’t forget to check it out if you plan on being there.

Genspace is up and running, and it is totally awesome. We collaborated with the BioBus at the World Maker Faire and won the Maker Editor’s Award, which is apparently a kind-of-big deal. I did about 40 DNA extraction, purification, PCR and restriction digest myself, teaching people about basic lab processes and a bit of theory behind genotyping. There were lots of screaming children and spitting involved, but it was totally worth it. The target of the exercise was TASR38 coding SNP, and I should have a detailed post of the whole process up in a few weeks.

There are tons of more stuff I should be writing about, and maybe I’ll find enough time to do that when the iGEM is over (although I’m already thinking about how awesome 2011 iGEM can be).

Back to the main post: I’ve been reading stuff written by Alan Kay again. I think it’s safe to say that he’s one of my all-time heroes by now. There’s a cool book about him and his work called Points of View available for free on the net. It’s not directly relevant to biology or physics, but if you’re interested in education, information abstraction and history it will be a fascinating read.

It’s not that I’m actively seeking out stuff about him. I just seem to run into them whenever I do research for my own projects, whether it be methods for abstracting complex sciences for public consumption or coming up with useful programming tools for beginner’s bioinformatics curriculum.

I was reading up a bit more on structure of Ruby and its use in bioinformatics. I eventually ran into the legendary Ruby hacker _why and his Shoes and Hackety Hack toolkits, which mysteriously led me to another one of Alan Kay’s letters, written in 1998 after OOPSLA. The piece itself isn’t directly relevant to biology. He just talks about how most people don’t really understand OOP in computer sciences and how it’s not really about objects but dynamic messages passed between objects. Here’s an excerpt from the letter I found interesting.

“The key in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be.”

Alan Kay had biology background before he went into computer science and he explicitly stated that his most well-known achievement, OOP model and Smalltalk systems are inspired by biological processes… Which is one of the reasons why I tried to use Squeak Smalltalk system for earlier iteration of my synthetic biology curriculum for high school children (something I’m still working on and need a ton of help with). Considering that earlier versions of synthetic biology in form of BioBrick system is based on core engineering principles I can’t help but to think about possibility of re-applying Alan Kay’s OOP model back to biological systems.

BioBricks based synthetic biology strongly resembles ‘object’-oriented OOP paradigm, where people build parts with unique internal characteristics and then link them together into a whole system. Entire system is focused on functionality of the individual parts with almost no care taken to characterize and document how different parts interact with each other. It should be interesting to imagine a different type of synthetic biology where the biologist considers how different segments of DNA (or perhaps the system should be built on top of larger scale composite parts) modules communicate and work with each other, and how to coerce them into forming larger systems. Systems built on top of message passing rather than minute details of the molecular system.

Sigh, the more I learn about things the more I have to study.



Now you might be wondering why anyone would ever want to worry about implementing true OOP like paradigm or message based system building in biological systems. The answer is simple. All these programming paradigms were created to handle complexity. When we consider that existing paradigm of synthetic biology borrows heavily from that created for engineering and programming computers (one of the prominent figures of synthetic biology, for example, is Tom Knight, of the original MIT lisp hacker fame), ability to handle complexity within engineered framework becomes a fundamentally important issue.

One of the main difference between silicon based computation and that within in-vivo environment is scalability. Conventional programming languages are not very dynamic, and are terrible at scaling up compared to biological systems. If we are to bring any sort of computational/engineering approach to biology we need to address the issue of scalability that works in orders of magnitude difference from initial state. Biological systems do not go through processor bottleneck to transition from one state to another, and they have billions of processes operating in parallel. Engineering and programming approached as we know them will not be very useful for long without efforts to address these issues.

Solemn dictations

This is a cross post of something I wrote before. I liked this post too much to leave it in middle of nowhere, so I’m moving it here.


This is something I ran across in my visit to the Met today. It’s a funeral marker of the ancient Greece, around 500 B.C. or so. According to the description given by the little placard at the bottom, there was an inscription on the stele at the original site. The translated version of the inscription reads like this.

“My daughter’s beloved child is the one I hold here, the one that I held on my lap while we looked at the light of the sun when we were alive and that I still hold now that we are both dead.”

The time was almost three thousand years ago, but the human sentiment runs the same. I might even argue that the dying grandmothers of the old were much more articulate than the living young ones we have right now. Nonetheless, I feel saddened and glad at the same time when I remember this scene, bathed in a solemn and melancholy light, phrases and situations telling its story through subtle hints which later echo in the heart of a young man from three thousand years in the future. Will we leave something behind as such? Will we leave behind something so that people living in three thousand years in the future would shed a tear or feel their heart wrench at the tales of people long gone and forgotten? Will the human identity remain resonant throughout the times?


Another something I picked up. It’s from roughly the same era as the above funeral marker. This one depicts a little girl saddened to let her pet pigeons go. This clumsy photo of mine doesn’t do justice to the subtle nuances and expressions that were retained in this piece despite its age. People talk of evolution and change all the time, but what we consider to be fundamentally human trait doesn’t seem to have changed much, if we can communicate across space and time like this through frozen motions and facial expressions.

I am beginning to suspect that the fundamental nature of what we consider to be humanity is more closely linked with the body at deeper levels. Perhaps the overall nervous structure and its extent affects the development of consciousness itself to some degree. Perhaps there is a minimal template of what we can consider to be a ‘mind’ just like the minimal framework of gene for the base artificial life, and the traits we consider to be human consciousness arises from there just like how the base gene later expresses itself in multiple ways, as a complex synthetic life form. If so, human psychology, and much of the subtle traits of being a human being, is locked with the type of body to certain extent, and therefore can be engineered like genes and engines.