Utterances of a Zimboe

Programming the Internet.

Earth, wind, fire, .. and .. uh, what was it…

leave a comment »

Bwah, I was really spoiled by my readings while I was traveling from Helsinki to Rovaniemi by train last night. At first I finished reading Hackers & Painters by Paul Graham, which was simply the best non-technical book about programming I’ve ever read. (For some of the others, you can check my LibraryThing.) It also got me considering using Lisp in an embedded system project. (Other strong candidate is OCaml—I’m having this hybrid season now—but the selection is a whole other blog post…)

And right after Hackers & Painters I started reading this short story collection Hackers. Oh boy, what a nice combination. I can definitely recommend if you’re really serious about software. (People without experience on functional languages don’t need to bother; trust me, I’ve been there. It’s a whole other realm on the other side.1)

And why was this so spectacular? While reading Painters, I came to realize that the more fundamental aspect of hacking may actually be the current (or becoming) leading edge in natural sciences. For example, there has already been heated discussion if information can escape black holes; scientists are starting to use information to represent physical phenomena. (Just mentioning here so that you can believe the facts instead of me. By the way, as a tip for youngsters, I’d be a little hesitant on choosing physics over compsci just because one has so much experience on computers already.) Furthermore, the more philosophical aspects of information theory may be the “leading” topic in metaphysics as well.

What I’m trying to say is that hacking is not just about programming computers, but it’s actually about the (current) most fundamental aspects of reality. Becoming the most “serious” of the “serious” sciences. (Compsci has traditionally been considered an order of magnitude less serious than math or physics, and universities adopting Java hasn’t really helped in this regard… ;)

This quote by Dijkstra is one of my all time favorites:

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

But we are still in the early days of comprehending and applying information. Do we have any good reason for not considering information (currently just merely 1 and 0) as the current water-fire-earth?

Just for the sake of context, lets remind here that in “ancient greece” the basic elements of nature were water, fire, and earth. At some point along came gravity and ether. In last century the hot topics were related to structure of matter and Theory of everything.

It would be interesting to know what are the “atoms” of information, but I’m not holding my breath here — getting from water et co. to atoms took quite a while, if measured in human lifetimes. (And we still don’t know shit about gravity.) Qubits may shed some light to this in the near future.

In any case, I’m pretty sure it’ll be interesting to try to master information. A purposeful goal for a lifetime or even few, I suppose.

All classes fear this relentless abstraction of the world, on which their fortunes yet depend. All classes but one: the hacker class. We are the hackers of abstraction. We produce new concepts, new perceptions, new sensations, hacked out of raw data.

— in A Hacker Manifesto, second paragraph

I’ve always been intrigued by sharp edges — it’s merely fascinating to get little cuts to your fingers every now and then. And what’s a more fundamental cutting edge than one that’s shared in philosophy as well.

ps. I just found out that in emacs you can duplicate line with shift-up/down. Neat. (And, in addition to the readily provided shift-left/right character transpose, I’ve had line and word transposes for a while as well. Recommend.)

pps. I’m quite confident that there’s a quite straightforward religious aspect in this philosophy as well… haha, the languages, naturally! Where Lisp is the One True God and pg is the head preacher. ;) (But, seriously. Programming languages are the tools for molding information. (And Lisp is the most abstract.))

1) Imperative programming is about abstracting computers, functional about abstracting information. The longer you deny it, the more you’ll regret.


Written by Janne Savukoski

July 9, 2008 at 1:19 pm

Posted in Future, Programming

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: