April 2006 Archives

$0.79 per gigabyte

|

Seagate recently released a new hard drive, the Barracuda 7200.10 750GB. According to this PCWorld article, at 750 gigabytes, it's the biggest hard drive ever manufactured. From the article:

On a cost-per-gigabyte basis, your wallet won't take a huge hit, either: The SATA version of this drive will debut at $590, which works out to $0.79 per gigabyte.

$0.79 per gigabyte. Man, I remember just twelve or thirteen years ago I was flipping burgers at McDonald's (or, more correctly, clam-shell grilling burgers) so I could finance a one gigabyte hard disk drive for my BBS. That hard drive cost me over $1000.00 - in other words, modern hard drives cost 0.079% of what I paid when I was a teenager. That's also not factoring in other hard drive advancements, like increased access speed. It's also not factoring in inflation.

It's a big bummer - and in retrospect I suppose it was a horrible investment. If I had instead taken the money and invested wisely even in comparitively conservative securities, I estimate I would have earned at least $2500.00 from that initial investment.

Where are we going with all of the computer equipment we purchase? As our pay goes up, our spending power goes up. As the technology improves, our spending power still goes up. But as time passes, the value of the goods themselves becomes infintesimal. Also, as more computation is offloaded from local machines and transferred to the network - including the offloading of services such as persistent storage and computation cycles to remote servers - we have less need to buy local disk storage and powerful local CPUs. Since a lot of people will be able to share the same media - e.g. music, movies, books, and even executable programs - it becomes far less important to copy those programs to different places. Why not have a single - or at most, only a few - sources for those programs for people to execute over the network? It's far more efficient in terms of disk space and computation. This was the vision of Java applets.

I wonder what effect this will have on the industry. Already, hard drives and CPUs are pretty cheap, but if people start using far fewer of those resources locally, there will be less demand, and there will probably be less impetus for the manufacturers to innovate in that sector much further and drive the price down even lower. So, I'm wondering if investments in hard disk drive manufacturers are bad investments.

If hard drive manufacturers make bad investments, surely network hardware manufacturers are good ones, if I'm interpreting these trends correctly. If the industry doesn't put a stop to network computing, then there will be a huge demand for network bandwidth - well, I mean even huger than today.

My drinking straw dilemma...

|

Today was desk-rearrangement day at work - that is, when all the programmers and artists change desks. We've got a few new people coming on board - including another American! - and we had to make some room. Also, the change of scenery is always good. Stimulating. A fresh perspective.

Of course, I'm lazy, and when Mr. Ok asked me where I would like to be seated last week, I kind of cringed. Luckily, Mr. Ok is lazy as well - at least in this regard - and he suggested that I, like he, just sign up for the same place as before. "Do you think it'd be OK?" I asked. He assured me that it would be, so I signed my name on the box that designated my current spot. I wasn't going anywhere - or so I thought.

This morning an internal mass email came from my boss, Mr. Og. Along with it came the updated map of where everyone was sitting. People had already started moving their things, but I, safe in the knowledge that I wasn't moving, just kept working. Suddenly, out of curiosity as to who would be sitting next to me, I opened the map of the seating arrangement. It turns out that I wasn't staying put after all. I started moving my things to my new desk.

I would miss my old location - even though it's about twenty feet away - but it was one of only a couple of places in the office where I could see out the window. I would miss seeing the birds, the blimp, the occasional helicopter that landed on that fifteen story building way, way out there. The gigantic crane lifting huge steel girders from off the ground and up into the air. I had grown used to these things; they made my day go by a little faster. Just about every other desk in the office faces a wall, or else you're looking across at an opposing desk and someone else staring back at you. If there is a window the blinds are most likely closed. But, far more than the thing with the window, I was apprehensive about moving because I had amassed an embarrassingly large drinking straw collection in my desk drawer.

I've bought a lot of ice teas and orange juices from the convenience store while at Pyramid, but I never drink them with the straws they provided, and it always seemed a waste to me to just throw it away. A few times I asked the clerks not to give me straws, and they complied those times, but they always looked at me funny. So I just slipped the straws into my desk every time I bought something. Maybe I could do something creative with the straws, I thought. After two years of working here, you can imagine the collection I had amassed. I sheepishly started grabbing fistfulls of drinking straws from my desk drawer and stuffing them into my backpack. There must have been two hundred. My coworkers looked at me strangely, like I was some kind of an asshole. Maybe I was just imagining it.

The good news is that my new desk is one of the few other places that has an unshaded window, although not as good a view as before. Not that I'm complaining. I can see a humongous construction crane out of this window - a different one. Any direction you look in Tokyo you see evidence of the city in a constant cycle of self-destruction and reconstruction. It's disconcerts me, and I realize, with inexplicable wistfulness, that the face of Tokyo - apart from a few landmarks - will be unrecognizably different in twenty years.

Lately, whenever I go from a debug build to a release build in our project, if I've added a piece of code in which I return an STL container via a class method, I get an unhandled exception - the kind in which the culprit is probably my referencing of uninitialized memory. This doesn't occur, however, with the debug build. What the heck is going on?

I've opted for the following temporary solution. Instead of this:

Auxiliary::HullList Pipeline::getOutlineList() const {
	return getRegion().getOutlineList();
}

I have to do this:

void Pipeline::getOutlineList( HullList& ioHullList ) const {
	getRegion().getOutlineList( ioHullList );
}

void Region::getOutlineList( HullList& outHullList ) const {
// outHullList_ = outHullList;
outHullList.clear();
std::copy( outlineList_.begin(),
outlineList_.end(),
std::back_inserter( outHullList ) );
}

It's a big pain in the ass. Does anyone know why this might be happening?

母が来ます

|

やっと母は六月に日本へ来るにしました。僕は本当に喜んでいますよ。もう五年が立ったけど、家族には一人さえ来なかった、今まで。もうすぐ八月アメリカに帰るでしょうけど、母が来るのが本当に嬉しいです。

母は初めて日本へ来ます。色んなところへ連れて行きたいですよ、例えば浅草、新宿、代々木公園、鎌倉、日光、すきじへ行きたいと思いますけど。あとは京都へ連れて行きたいけど、高いし、あまり時間がないし、多分無理でしょう。とにかくこのところの上に、何か進める所がありますか、皆さん。

あ、それに、母は陶器に興味をすごく持っています。アメリカには陶器職人だからですね。何か陶器に関して良いとこるが進めてくれませんか。教えて欲しいです、あれば。

Welcome to qwer.us

|

Heather and I have been working on a web application for the past few months, and we recently released it in a sort of public beta - although I hate to use this term, since software like this really should be in a kind of continuous cycle of refinement. qwer.us is our online todo list management system. It lets users create and modify multiple todo lists from any modern web browser that supports Javascript.

I have a few lists on qwer.us that I use both at work and at home. If I think of something that I need to do at work while I'm at home, I add it to my work list and it's there when I get into work the next morning. If there's an errand that I have to do that I think of at work, I add it to my todo at home list and it's waiting for me when I get back home.

There are a number of features that we still want to implement in qwer.us, but the main features that we want to embed are ease-of-use, simplicity, extensibility, and speed. It's not quite there yet, and there are a number of other online todo applications out there that are more fully-featured than qwer.us, but we think that, by concentrating on making this a lightweight todo management system, people will actually derive more usefulness from it because it's much easier to get up and running; and making mistakes on the system has a comparatively low time cost.

Anyway, give it a shot if you have any interest, and let us know what you think! There is a short screenshot demo, as well as a working demo, so you can play around with the system without having to initially register as a new user. We do encourage you to register, though - it's free and easy!

Special thanks to the good people at projects.metafilter.com for providing such valuable input. We haven't implemented all of the suggested features yet, but we're working on it.

What do animals think?

|

I recently read a great article in the May 2005 issue of Discover about Temple Grandin, a professor at Colorado State University with a PhD in Animal Science. Grandin also happens to be autistic.

Grandin believes her autism makes her uniquely empathetic toward cows and other agricultural animals. On a visit to Virginia Tech, she gets up close and personal with a dairy cow. “Pressure is calming to the nervous system of a cow or an autistic person,” Grandin says. “She was such a nice, soft, beautiful cow, I wanted to put my face on her.”

Grandin's ability is extraordinary, and has been capitalized upon to make the experience of cattle going to slaughter a little bit more humane:

And if you eat at fast-food restaurants—McDonald’s, Wendy’s, Kentucky Fried Chicken—you’re eating meat that’s been slaughtered in plants audited to Grandin’s standards, meat from cattle and pigs that walked calmly to their fate through handling systems she designed. In the human scheme of things, those animals are economic units whose death is inevitable. By designing chutes and alleys that respect a cow’s sensibilities—reducing its fear and uncertainty—Grandin has done more to improve animal welfare than almost any human alive. Increasing a cow’s comfort as it nears death may seem like a futile subtlety to many humans. But fear is one of the critical differences between humane and inhumane slaughter. It also happens to be one of the differences between good meat and bad.

Grandin's empathy towards the animals, and the extent to which she's been able to act upon that empathy, is really extraordinary:

A farm lab milking parlor at Virginia Polytechnic Institute in Blacksburg, Virginia, offers a case study in cow perception. Soft lighting and a skid-proof floor help cows feel secure. But Grandin says that a cow entering the area would stop dead in its tracks because of the discarded soda bottle (foreground). Although barely noticeable to most people, a stray bit of litter can be frightening to a cow. The slow movement of the blades in the ceiling fans could also startle a cow not familiar with this facility.

There's so much good stuff in this article that I can't do any real justice to it here. It's really worth reading the whole article.

There are also many books authored or co-authored by Grandin, ranging the gamut from animal science to autism to perception. I'm planning on reading at least some of them.

PostSecret interview on WAMU

|

I may have written about PostSecret before, but it's worth another entry. People write their secrets on postcards and send them - anonymously - to Frank Warren, the curator of the project. There's an interview with Warren about PostSecret on the Kojo Nnamdi show. One poignant secret discussed in the interview:

I steal small things from my friends to keep memories of how much I love them.

This is Warren's favorite card, out of 20,000. You'll have to listen to the interview to hear him describe it in detail. Poetry indeed.

Bentou boxes

| | Comments (1)

Most of the cherry blossoms have long fallen off due to wind. It was a short cherry-blossom viewing season this year, which makes me sad. It's definitely warming up though. This is no-coat weather.

Heather and I recently paid a visit to Book Off near Minami-koenji subway station. In addition to picking up a few games for our PS2 (less than 80 cents apiece, and actually worth even less), we managed to snag a book about the preparation of bentou boxes, designed for mothers with school-age children.

Bentou boxes (弁当) can best be described as really sophisticated lunch boxes. Rumor has it that mothers vie with each other over what kid has the best-tasting, best-looking, most-nutritious bentou box. Here's an example of a model bentou box, from the book:

bentou_pikachu_opt.jpg

Of course, that's Pikachu. Here's Thomas:

bentou_thomas_opt.jpg

One of the things that struck me about these bentous was the arranging of the food into anthropomorphic and zoomorphic images. In particular, some of the created faces are made with meat. There are examples of anthropomorphic and zoomorphic food in western culture - gingerbread men and animal crackers come to mind - but I can't think of a single instance in the western culinary tradition in which animal meat has been fashioned into other animals or people (please, readers, cite examples otherwise in the comments). If I consult my deep-down western sensibilities, I get the feeling that doing so violates some sort of respect we westerners have for animal flesh. In other words, it's perfectly acceptable to slaughter and consume an animal, but arranging it in just such a way is going too far. Silly, isn't it?

And here's one where some sort of animal - a bear, is it? - that has been fashioned out of what appears to be reconstituted fish. Complete with cute little eyes. Swimming in a sea of cooked beef.

bentou_nikubear_opt.jpg

Here's apparently yet another franchise, Puyopuyo:

bentou_puyopuyo_opt.jpg

The text to the right goes something like this:

The green puyopuyo are broccoli, and the yellow are egg-yolk onigiri. The red ones are cherry tomatoes, the mottled green ones are green vegetable onigiris, and the brown ones are niku dango. The white ones are oven-baked shrimp. The eyes are made with tube sausage and black beans (for the pupils). If it's round, anything's OK.

I just asked Heather if she knew any examples where meat was used in the creation of a face, and she promply produced one. Places like Denny's and IHOP sometimes serve pancakes with bacon that serve as lips and sausage patties as eyes. So, I guess everything that I wrote above is a load of crap.

On a side note, the concept of vegetarianism and veganism in Japan is much different than at home in the U.S. According to my vegetarian friends, if you alert your hosts that you are vegetarian in Japan, you are likely to be spared any pork, beef, or chicken. But you very likely be confronted with a fish on your plate. Fish, from what I hear, are regarded as part of the same class as vegetables - quite literally.

もうすぐアメリカへ帰るつもりだけど、日本語をもうちょっと能力アップしたいと思っています。それから、週間一回ぐらい日本語でブログ記事を書いて見ます。日本語の間違いがあれば、どうぞご遠慮なくコメントで教えてくれて下さい!

最近アメリカの帰国準備をやっているところです。今考えている問題は、荷物の国際送るのはどうしようかなと思っています。ヘザーは面白いアイディアを考えた。アメリカに帰ると車を買えなければならないですね。アメリカに日本の車検なしボロボロ車を買って、送ったら安いかもしれないし、格好いいじゃないか、と。多分そんな車は殆ど無料なので、取得は楽勝気がします。良いですね、アメリカで小さな「ケイカー」の車を運転できれば物凄く格好良いじゃないですか!ステアリング・ホイールは右側にあるし、燃費がいいし。

送り料金は比較的高くないです。多分八万円ぐらいで送ることができそうです。安い!それに、車の中に荷物を入れられると思いました。でも、そうすれば荷物は保険できなさそうです。それに荷物が盗まれる恐れがあるし…だからとりあえずあきらめるにしました。むしろ大きい1立方メートルの箱を送るでしょう。それは6.3万円ぐらいかかるらしいし、保険があるし。そちらの方が安全かもしれないから、それにしました。車は残念だけどさ。

The Singularity is Near

|

tsin.jpg

A few weeks ago I finally finished this book, The Singularity is Near, by Ray Kurzweil [website]. You may know Kurzweil [website] as the author of the well-known book The Age of Spiritual Machines. There were a number of really interesting ideas that Kurzweil advanced in this book about possible future scenarios and how humans might interact - for good or for not so good - with robotics, genetic engineering, and nanotechnology. Chief among them is the idea that, at a certain point in the near future, both the condition of human existence and that of the universe itself will have advanced so fast that it will be completely unrecognizable to we contemporary humans. Furthermore, this rate of technological change will continue accelerating - and the rate of acceleration itself is accelerating - so much so that leaps in technology that are equivalent to epochal shifts - say, the transition from the Bronze Age to the Iron Age - will not take hundreds of years but instead seconds. The book spends a great deal of time talking about the implications on this singularity. I'll probably devote several blog entries to some of these implications, but later.

For now, there are a number of excerpts from the book that I'd like to share with you.

It is important to point out that a key implication of nanotechnology is that it will bring the economics of software to hardware - that is, to physical products.

This is an extremely interesting and profound assessment of nanotechnology. If we think about the economics of software and of intellectual property in general, we quickly observe that it costs virtually nothing to make copies of something. Similiary, distribution costs are virtually zero. The bulk of the cost is in the actual creation process, and, well, the hyping of the product. The music and film industries are currently experiencing major crises because of illegal peer-to-peer sharing, and (some say) it's having a negative impact on the industries. At the very least, we have to recognize that these industries have been forever changed by this technological landscape.

Now, let's extend these attributes to physical objects. Through nanotechnology, it will apparently cost virtually nothing to create and distribute anything physical. Then it will be virtually free for anyone to download and assemble, at home, an apple to eat, a car to drive, or a new human friend. Illegal P2P networks might spring up to fill the niche created by these broken-down barriers just as P2P networks have sprung up for the trading of electronic media. All property will quickly become intellectual property. The original design of any object will become a software engineering endeavor (now that's scary!). I wonder how the economy will react, given the reliance upon notions of private property in contemporary capitalism.

Here's another great excerpt from the book which is itself an excerpt from the neuroscientist Anthony Bell:

The list could go on. I believe that anyone who seriously studies neuromodulators, ion channels or synaptic mechanism and is honest, would have to reject the neuron level as a separate computing level, even while finding it to be a useful descriptive level."

Kurzweil adds in his commentary,

...Bell makes the point here that the neuron is not the approriate level at which to simulate the brain...

What extraordinary insight. I had never really considered this before. Is it better to describe a brain simulation where some kind of higher-level networks are actually the primitives, instead of going all the way down to the neuron level? This idea intrigues me. Is it useful to go even higher up in the chain of abstraction?

Finally, and this is a bit tangential, but there's a quote in the book, attributed to the great computer scientist E. W. Dijkstra, that resonated deeply with me:

Computer Science is no more about computers than astronomy is about telescopes.

Up until I read this quote, I wondered if I were the only computer science guy who liked computer science, but didn't really like [contemporary] computers all that much.

Speaking of dogs...

|

My dad sent me this video of a dog on a skateboard. cool.

AjaxAMP

| | Comments (1)

This software is pretty remarkable. I installed this WinAMP plugin on my home and office computers, and now I can navigate all of my media files that are on my home computer from work, and then stream them to my work computer. Cool.

Dog-walking video game

|

My friend Dan visited Tokyo here a couple of weeks ago. Here he is playing a game. The game he is playing is a simulation of walking your dog.

TheDanimal.jpg

I wasn't there to see it in person, but I guess the object of the game is to stop at appropriate times and places to let your dog do his or her business; to stop him or her from negatively interacting with other dogs and pedestrians, and to just keep up with the dog, among other things.

I haven't seen it in the video arcades, but if I do I'll stop and give it a go. I can't wait to play.

FREEDOM!

New trends in CAPTCHA

| | Comments (3)

CAPTCHAs, or Completely Automated Public Turing Test to tell Computers and Humans Apart, are ubiquitous these days. Basically, end users are confronted with an image like this:

Captcha.jpg

Users then are asked to type in the the sequence of characters. This is in order to prevent machines from accessing certain sites and spamming message boards and the like. As time goes on, however, computers are getting better and better at optical character recognition - in fact, according to this 2005 Microsoft Research paper, computers are already better at recognizing single alphabetic characters than humans are.

There's a new system out that has discarded this character paradigm and instead relies on human beings' ability to discriminate between different species. KittenAuth presents a set of nine images: three of cute kittens and six of cute non-kittens. The test taker must click on the kittens in order to pass as human and proceed. This will foil the computers temporarily, but I expect that within maybe five years computers will be better than humans at discriminating between images of different species.

I don't like where this is going. Every time we create a barrier for a machine to consume content, there's massive pressure for the machines to find a way to circumvent it - and, unfailingly, they will find ways to do it. Furthermore, the time between the erection of the barrier and machines' abilities to get around it will grow less and less as time goes on. Barrier erection, then, more and more becomes an exercise in futility.

Perhaps, from the very beginning, we should be actively designing our services for the consumption of both humans and machines in such a way that the service, the human clients, and the machine clients all benefit. An added benefit is that developers wouldn't have to waste their time developing schemes to restrict access to their services. The crucial benefit, though, is that we'll be one step further away from establishing negative Jim Crow-like establishments that are discriminatory towards machines. A conciliatory attitude - or better yet, an empathetic attitude - toward machines will go far in ensuring peace in the future - especially if we foster these attitudes now. Or else we may find someday on the receiving end of these Turing tests - or should I say reverse Turing tests?

On a side note, there's some interesting areas in which CAPTCHAs are interacting with the law. Below is an excerpt from the Wikipedia article:

Because CAPTCHAs are designed to be unreadable by machines, common assistive technology tools such as screen readers cannot interpret them. Since sites may use CAPTCHAs as part of the initial registration process, or even every login, this challenge can completely block access. In certain jurisdictions, site owners could become target of litigation if they are using CAPTCHAs that discriminate against certain people with disabilities.

Yesterday evening there was an extraordinary special on television (NHK?) about a Kenyan boy who was making his living by taking garbage and turning it into consumer goods. It seems that, in Nairobi, there is a large segment of the population that roam junkyards looking for and sifting through usable materials such as aluminum cans, tin boxes, old tires and wheels, and fragments of old bicycles. Then, they make and sell things out of them.

This boy - a boy of fifteen years - left his family in the country to go to work in Nairobi fashioning bowls, trays, burners, and other goods from recycled metal gleaned from the trash heaps. The finished products looked really good, thanks no doubt in large part to his tutelage under mentor Alexader, a fellow craftsman who looked to be in late middle age. After not too long, the boy really got the hang of the process, and started creating goods on his own. Soon he attracted customers. When he sold his first piece, he maintained his composure, but one could see that he could barely contain his excitement and happiness. ほほえましい。

Now, I have no illusions about the difficulty of life in rural and urban Kenya. The television program - as they are wont to do, especially in Japan - only presented the positive aspects of the boys life, and I'm sure the many negatives were judiciously edited out. I know this, and yet I feel a certain kind of selfish envy for the boy. His professional life is comparatively simple; he spends at most maybe a day making something, and when he goes to sell it, he receives immediate validation that this really is worth something -- in the form of cash. Or, if he doesn't, he can change his strategy and go about doing something else, and the most that he has wasted is a few days. Simple and elegant. Manageable.

My own situation seems hopelessly complex in contrast. As a software developer entrepreneur, even simple projects take an inordinate amount of time to get off of the ground. Sure, once I do, my costs in distributing it are virtually zero. Nonetheless, because I'm working within the constraints of the economics of software development, I know that another guy could come up with a competing - better - product very easily. The economics of software development are much different than artisan economics. If you occupy a niche in software development, it's ideal because everyone can get a piece of your product at almost no cost to you. I feel like the worst part of our sophisticated economy, however, is that there are far fewer opportunities for validation from our potential customers. Unless we are extremely creative, it's difficult to find ways to inject end users' experiences into our development processes. End users' validation, after all, is the impetus for many of us to continue going down certain business paths. I've been burned by these things before, and I've wasted a lot of time. I don't want to do that again.

And so I often feel lost. Maybe, though, I should quit bitching, realize that I am in an incredibly priveleged position, and just get back to work. Sorry for the selfish ramble.

Japanese Phone Conversations

|

I was the first one into work this morning. The guy who does most of the office work, I guess, is sick today. Shortly after sitting down at my desk, the phone started ringing. I hate that - I didn't want to answer the phone! Not because I'm lazy, but because I'm extremely paranoid about offending a client or something. Bringing down the company and then the president will have to commit seppuku out of reconciliation and all that. It's silly and stupid, I know, but speaking on the phone in Japanese - particularly to someone I don't know - is one of my worst fears.

Well, after about twenty rings, the phone stopped. I felt relieved and I relaxed a little bit. Ten seconds later, the phone started ringing again. After about five rings (I figured that I could pass off the excuse that I had been in the bathroom), I picked up.

"Hello, this is Pyramid."

"Uh, yes, this is Mr. Oi...; I'm going to be late for work today. I'll be in around 1:30"

"OK, you'll be in in an hour and a half - got it. Who (formal) is this again?"

"No, I said at 1:30 PM I'll be in."

"Right, I understand. OK, and who (formal) is this?"

"Sorry?"

"Which is this? (I meant to use the informal who, but I failed because I was flustered)... I mean, who is this?"

"Mr Oi..."

OK, I didn't really know who Mr. Oi... was, but I suspected that it was one of the four or five employees here that go by a peculiar nickname. Fortunately, I ended up guessing right.

Ten seconds later, the phone rang again. Had he forgotten something? Maybe this time it was a client...

"Hello, this is Pyramid."

"...Ahh, yes, this is Mr. M. cough cough... I'm feeling rather under the weather today..."

"I see. And so you're not coming in?"

"That's right. In addition to marking my name on the whiteboard, would you please inform Mr. A directly that I won't be in? cough cough"

"Will do. Take care of yourself."

Well, that went a little bit better. I don't know if Mr. M was hamming it up or not, but it sure sounded like it. I have no doubt that he was sick, but I think he was laying on the raspy-voiced, just-got-out-of-bed disorientation routine a little thick. I don't blame him. I would have done, too.

Twisted, I tells ya

| | Comments (3)

Today, I had opportunity to search alc's translation of the word めちゃくちゃ.

I like this example phrase the best:

メグは女が好きで、ボブは男が好きなんだ。めちゃくちゃだよ、ったく。

Which was translated as:

Meg likes girls, and Bob likes boys. Twisted, I tells ya.

It must be fun, sometimes, to be a translator.

Silent Hill Poster

|

Hey, check it out! My cousin designed the poster for the new Silent Hill movie. I know knew this quite a while ago, but I just saw it on IMDB. I thought it was just a poster, but I guess it's the poster. Way to go Chuck!

The Rights of a Fork, part 2

|

In his 1976 book The Selfish Gene, Richard Dawkins talked at length about memes and genes. Now, we often talk about how human beings and other living things pass on their genetic code to their offspring. Dawkins turns this viewpoint on its head and argues that living things - including humans - arose because of genes' "desires" to multiply. (I say desire only because there's no graceful way to talk about these things. Genes do not apparently have any inherent desire; what I should say is because of the relative propensity of genes to replicate themselves.) All living things, in other words, are vehicles that have been shaped in such a way to deliver our genetic material in a more effective and robust way. It sounds ridiculous at first, but there are reasons to lend this viewpoint considerable credence. First, human beings share a lot of genetic information with a lot of species - including bacteria. This suggests that human beings and bacteria have a common ancestor - which we already knew. Genetic material, it seems, has existed ever since the beginnings of what we call life - and possibly earlier.

Dawkins has argued that the first strands of genetic code may have been templated by crystals. We do not normally attribute the quality of life to crystals, but they do replicate in their way into regular lattices. Dawkins has postulated that just the right soup of amino acids were templated in just the right way by crystals so that a primitive, non-crystalline, self-replicating molecule was formed. This proto-DNA would almost certainly have extremely primitive, and its self-replication facility was likely to be error-prone, slow, and brittle. Nonetheless, under the right conditions, this proto-DNA may have arisen in this fashion, and persisted long enough to make a few copies of itself before succumbing to the elements. Its copies - its ancestors - would have made copies of themselves, and so on, in exponential fashion. Errors in the copying would often create molecules that would not be able to self-replicate. Sometimes, however, copying errors resulted in descendent molecules that would be better in the given environment. This, of course, is mutation.

After a while, molecules may have developed - simply through mutation and selection - a lipid barrier around them to reduce the chances destruction by the environment. Associated with this, of course, were costs, in terms of energy and resources, but the benefits outweighed the costs, and a sort of proto-cell wall was created, and these molecules were more successful in reproduction than molecules without the walls. And so on, until modernity , where we have a plethora of animal and plant species, a multitude of niches, and an extremely complex human society on earth. All because of genes. All living things, until perhaps the beginnings of human history, have been driven by their genes.

Genes exist in the substrate of what we consider the physical world - molecules' collisions and proximally physical interactions represent the fundamental functional genetic interactions. In other words, the physical world is genes' medium, and what we understand to be the common limits of molecular interaction similarly inhibit genes' interactions. Genes cannot interact, for example, at a distance. Physical proximity to amino acid building blocks is absolutely necessary in order for DNA to create copies of themselves.

Memes are very similar to genes, except their substrate has an added dimension; namely, that of ideas. In other words, memes can exist not only in the physical world, but also in the dimension of human brains, as well as computer storage devices, print and other physical extentions, radio transmissions... etc. One implication of this is that memes are not as constrained as genes - memes can
be replicated without the constraint of physical proximity. One could transmit the design of a fork, for example, to another location, where it could then be made. Of course, there is the transmission, which is incontrovertibly a part of the physical world. However, functionally it's different, since the transmission can occur virtually instantaneously.

So, a fork is a meme. Or, perhaps forks are physical extentions of the fork meme. One can imagine early humans using proto-forks to stab their food and put it into their mouths. Gradually, we learned to refine the fork: standardizing it; making it lightweight; making it out of a non-toxic, consistent material; creating the ideal number of tines; making it aesthetically pleasing; adjusting the curvature so that it was ideal; balancing it correctly; and so on. Now, we have a variety of forks that work in a variety of situations - a variety of niches. This is one way of looking at things.

Another way is that early protoforks found some success in the medium of humans and replicated themselves through this medium. Gradually, through mutation and selection (and perhaps some more sophisticated processes that are not available to genes), the protofork's ancestors found that if they adjust their toxicity, curvature, number of tines etc., they will be more successful than those that have not adjusted. Eventually, some of the most successful found another dimension in which they could capitalize - economic cost. These cheap forks created factories for themselves, factories which churned out millions of copies of their memetic physical extentions - that is, the forks themselves.

I've think we've drawn enough parallels to be able to consider forks "alive" in the substrate of human consciousness. Or, at the very least, we can discard notions of alive altogether in these types of discussions. I'm just glad that I got to use the word protofork in a blog entry. :)

What do you think?

The Rights of a Fork

|

A couple of years ago, I had a debate with one of my friends, G. If I recall correctly, the debate centered around animal rights. She was for them, and so was I, but for very different reasons. I asserted that, given today's understanding about the nature of life, we should accord to so-called inanimate objects - for example forks - all of the rights that we grant towards living things. A fork, in other words, possessed fundamental rights which we should respect, if we are to treat the rights, say, of a dog as self-evident. "I agree that a fork definitely has a purpose," she advanced, "but no rights." She missed my point completely.

We generally ascribe rights to things that are alive. But if we look closely, the definition of alive is constantly being called into question. Take a look at this recent article about the simulation of a biological virus.


This is no ordinary computer virus. Using a real-life virus as a model, researchers have built a virtual version using more than a million digital atoms.

Scientists have previously simulated small pieces of living cells, but researchers say this is the first digital simulation of an entire life form.

Fascinating. The following excerpt says a lot about our culture:

Life or not?

Viruses are tiny bundles of protein and genetic material that straddle the line between life and non-life. Many scientists prefer to call them "particles" because even though they contain RNA or DNA like other lifeforms, they can only replicate inside other living cells.

Now that's interesting. The fundamental criterion for life, in other words, is the ability to replicate outside of a prescribed environment - like humans, the argument might go. But humans cannot exist apart from their environments either. Things like water, oxygen, food, heat, and a myriad of other factors are necessary components for human survival. Other humans - i.e. further additions to the environment - are needed for reproduction. The conclusion: neither humans nor viruses are alive.

One might object that the argument stressed that viruses can only replicate within living cells, and since the environment cannot be regarded as alive, this would seem to render my assertion invalid. However, we're getting at the heart of the what it means to be alive, and so such an objection is assuming the conclusion, and must therefore be discarded.

Now, you might at this point buy my argument that if we regard human beings as alive, then we have to regard viruses as just as alive. But can we extend this attribution to more "mundane," obviously manmade objects? Like computers? Or forks?

More later.

I remember one of my favorite Computer Science professors at Case, Charles Wells, once commenting that Object Oriented Programming was currently the sexiest thing going in computer science. (It used to be relational databases, he added with a chuckle). About six years later, I think that this is still largely true. Specifically, object orientation has come to be seen as the solution - or at least part of the solution - to nearly every software engineering problem. However, I'm wondering if the conception of object orientation is largely a function of what we take to be axiomatic in our culture - and I wonder what the implications might be.

Object orientation is essentially the division of the universe (or the primitives of whatever problem domain we're in) into separate entities, called objects; and the vigorous enforcement of the boundaries between these objects. One common technique of maintaining proper object orientation is encapsulation, or information hiding. This technique essentially allows a programmer to grant general access only to the object properties that he or she explicitly allows. Furthermore, it ensures that clients access objects the way the programmer intended; object method interfaces are essentially executable prescriptions of how to interact with those objects. Encapsulation might be regarded as a restrictive technology - one in which we're actually taking away functionality. This is extraordinarily useful to the programmer in terms of maintenance, though. From our perspective, encapsulation dramatically simplifies systems and actually adds value.

Another important principle of object orientation is inheritance. Object classes move within the spectrum from the abstract to the concrete. Objects that are nearly the same but have similar functionality are said to be derived from the same object. For example, an Acura and a Jeep have a lot of the same fundamental functionality, so they might be derived from the same base class Car. Cars, unicycles, and airplanes might also share some of the same base functionality, in that they are ways of getting a person from point A to point B, and they might be derived from the same object Vehicle. We can continue on in the concrete direction until we have miniscule, extremely detailed objects like RedSaturnWithAllWheelDriveAndCustomLeatherSeatsAndMP3Player..., but then we still wouldn't encapsulate all the possible details of the object. Likewise, we could move into the domain of the more abstract until we reach the most primitive base class, call it Object, from which all other things derive. In fact, languages like C# and Java incorporate the Object object directly in the language. These are extrememly useful constructs in contemporary programming, I hasten to add.

However, as we move to the extremes, the object orientation methodology becomes less and less useful. The difficulties in defining objects to an extremely detailed degree are obvious: with a linear increase in the amount of detail we desire, we increase the number of objects and the complexity of the objects exponentially. The difficulties in moving in the opposite direction are still present, but much more subtle. The fact that every object is derivative of Object means that we accept the premise of some sort of Platonic ideal for all objects. More insidious is the fact that we accept the premise that an object can be defined apart from its environment - which, of course, is nonsense. However, despite our knowledge to the contrary, thinking with tools like Java constantly reinforce these false notions, and we, in turn, reflect these notions back into the programs we write. I don't use terms like Thinking with tools like Java lightly; programmers know that to get their head around a problem, they really have to think like the computer, especially within the grammar of whatever language we're working with. There are several book titles that reflect this idea; Thinking in C++ is one - and it's an extremely good book, I might add. Free to read over the web.

XML and other hierarchical markup languages are another example. A concrete example might serve best to illustrate. In XML, it is legal to have the following construct:

<vehicle><car>Volvo</car></vehicle>

However, the next construct is grammatically illegal:

<vehicle><car>Volvo</vehicle></car>

In this case it might not make sense, I admit, but consider this example:

<red>stop sign<green>Christmas</red>grass</green>

One might argue the actual utility of constructs such as these, and I would probably be inclined to agree with them in most cases. The point is that XML is regarded as a standard, and as such it imposes definite constraints on how we think and conceptualize our universe. The same can be said for object orientation. We are automatically incorporating hierarchies into our way of thinking with these tools, and I think that we will reach definite limits with what we can do with these tools soon because of these limits. We are implicity saying, A is different, separate, apart from B, even though A and B could be regarded as one and the same, according to some Eastern philosophies, for example. That's not to say that these tools aren't useful; on the contrary they're necessary stepping stones to the next phase of software development.

As I look back on my entry it looks more like an incoherent ramble than a well-put-together piece. Oh well. Anyway, I'd love to hear what anyone has to say about this.