Thursday, March 22, 2007

How Do I Bake a Cake Shaped Like the Internet?


When I first saw this xkcd cartoon I did not get it at all. I fancy myself as an independent thinker more than a corporate pawn.

But today I gave a tech talk on debugger architecture at Google's Kirkland office. The experience was... how should I describe it? I arrived there, and had my ten-year old Camry valet parked. Then, my host took me to lunch (to the Google cafeteria). I avoided filling my plate because I imagined that in between him and I, someone was going to pay for it. Darn, Jeez Gosh! Nobody warned me that they do get free lunches over there! And pretty yummy too.

And people arrived on time, were very polite, the logistics worked flawlessly, and nobody made me feel like being surrounded by Super Humans. I even had the fine pleasure of seeing familiar faces from my old Amazon days!

XKCD dude, I see your point. Now: how do you bake that Internet-shaped cake?

Sunday, March 11, 2007

Keep it Cool

Last week I fixed some breakpoint management logic in my debugger for Linux, and also reduced the memory footprint for debug symbols and stuff.

Walter Bright is fixing his D compiler back end for Linux, so now the DWARF source line info appears to be almost correct. Once complete, these fixes will mark a huge milestone for debugging D on Linux. And then I will have no excuses left for not adding more D support in ZeroBUGS... oh wait: Our first baby is due on April 5th.

At any rate, I believe future historians will categorize this dawn of the computer's era into BC ("before C"), BC++, and AD ("after D").

But speaking of babies. My wife and I are taking all kinds of classes these days, related to car seat safety, childbirth, feeding, etc. Aside from learning more about female anatomy than I ever cared to know, I also decided that:

  • When I am done with computers I will seek a career as lactation consultant, and

  • those drawings of aliens with huge heads on very thin, wiry bodies are bull, unless alien women have no pelvic bone

  • I have also concluded that all what is holding back the human race is that darned pelvic bone. That's why we can't get bigger brains, and get smarter about war and peace, and the meaning of life.

    A friend of mine argues that size is irrelevant, since the existing neurons could become more efficient by developing more connexions. I believe that there's a problem with developing more synapses: there will be lots of interference in our heads, resulting in loss of focus and did you see the latest xkcd comics? Oops, my neuron miss fired.

    So we need bigger heads, but the hole is not getting any bigger. But there's hope. Soon, with the help of brain-computer interface technologies we will overcome our limitations with more RAM from Radio Shack.

    And that will change how we feel. The purpose of emotions, from an evolutionary point of view, is the same as for database indexing. Can you imagine our ancestors out there in Africa, with a very slow and small memory, performing a linear search: I wonder... I have seen this big cat 'round here before, if only I could 'member what did I do the last time? ... oh wait! of course! I ran for my life!

    So we have developed emotions which act as a big red tab in the thick book of memories: adrenaline kicks in, and the monkey is thumbing its nose to the lion (from a safe distance).

    But with a brain connected to fast memory, and maybe with some additional CPU power and decision-making software thrown in the mix, I could weasel my way out of almost any difficult situation, while keeping my cool.