Made some ostrich egg omelets over the weekend. They were quite good, and as an added benefit, this picture is now topical.
I really really hope Zombie Feynman becomes a recurring character on XKCD, although I think it's not terribly likely to happen. Still, the idea is so poignant, or maybe pungent, and I think that Ralph is the right guy to pull it off. Please?
I've been working on our new game at work, and it seems to me that I've become strangely aware of my own cognition as I program. I get to thinking about the limits of consciousness and the finite cranial resources that we apply to large problems, as I am working on the problems themselves, which, let me tell you, is a little like trying to run a debugger on your operating system when it's low on RAM, which, let me tell you*, slows things down considerably.
Still, it's interesting stuff, and I've also noticed that my programming style seems to be attempting to make a phase transition. I think I'm moving from writing applications to writing systems. So, from writing game logic to writing game system logic. It's a slow and incomplete transition, and right now I'm in the uncomfortable middle section, but it's interesting. I wonder if, when I grow up (as a systems programmer) I will read specifications instead of guides, and participate in newsgroups and IRC channels. That's what serious programmers do, right?
Truth to tell, I've never been terribly serious about programming. If you knew me in college, I was just not a CS major, and I'm really still not, so I'm developing this whole 'I are serious programmer' thing pretty late for my age. I've always been more of an engineer than a scientist, in that I am much more interested in what I can do than in what one can do. I like makin' stuff. But I find that the more I make stuff, I also like makin' stuff right.
That is another interesting set of concepts, the 'right' way to do things. If we get rid of the moral baggage attached to the word 'right,' we can gin up some metrics like efficiency, maintainability, accuracy, transparency, expressive bandwidth, uniqueness, and scalability. Then, depending on what you want to make, different metrics are important. For instance, when making a product for the commercial market, you want efficiency, expressive bandwidth, and scalability. For the industrial market you want efficiency, maintainability, accuracy, and scalability. Here is a table!
My point is, doing something the right way depends very much on context, but there are definitely right and wrong ways within a given context. Figuring out what the metrics are for your context can often get you half way to a solution, and as an added bonus you'll be doing it right. lol. But in all seriousness, I find this stuff fascinating.
* you called my bluff, I've never tried it. but I can imagine.