Friday, January 27, 2006

SICP = Rad

One of the things I decided I would finally do this year is self-study "6.001: Structure and Interpretation of Computer Programs," which is MIT's classic undergrad introduction to computer science. I have been hearing about this course and its accompanying textbook since I started getting seriously interested in software systems around 1998. There are video lectures available here.

I always assumed this would be really dry subject matter, and that it would be good medicine, but not actually enjoyable. To paraphrase Mark Twain, I figured it was something I wanted to have done, but not something I wanted to do.

I've seen three weeks of lectures now, and I can honestly say it is blowing my mind. Since I came to software from the top down and not from the ground up, I've never had an opportunity to contemplate computer programming from first principles. For that matter, most computer science curricula don't do this either, but rather introduce you to the minutiae of some programming language, be it Pascal, C++, or (lately) Java. SICP is astonishingly refreshing and illuminating. I've managed to learn a few things about software already, but this course is revealing the why of software design.

The video lectures were done in 1986 for employees of Hewlett Packard. One of the great side-effects of this is that the students in this class are asking really good questions, usually the questions that I wish I could ask.

Will this course turn me into a Lisp hacker? Paul Graham and Philip Greenspun are convincing advocates, but the pudding in which the proof really is is Andy Gavin of Naughty Dog. If Lisp is good enough for Jak and Daxter, it is freakin' good enough for me.

Friday, January 06, 2006

Learning to Do Things

I am a lazy thinker. When I'm trying to solve a problem, I think about it until I find a way to solve it. The glitch is, I use the first solution I find.

The trick to truly understanding how to do something is to know many ways to solve the problem, to understand the permutations of each, and to be able to evaluate them against the priorities of your situation.

I'm gonna try, honest I am.

Thursday, January 05, 2006

Detox Made Easy

I've started the new year on a detoxification regime. In a nutshell, this means that I stop putting various poisons into my body to give my organs a chance to clean out the gutters.

You can find a lot of information about detox on the web, and a lot of people who would like you to pay them for advice about detox. My program is a bastard version I invented myself. I just follow a simple mantra: no sugar, no wheat, no dairy, no meat. I also give up drugs*, but that doesn't fit nicely into the rhyme.

The first couple of times I did this, I had no idea what to eat, and it was pretty painful. It's amazing how many foods in the standard American diet are ruled out. But this time, I've been a vegetarian for almost a year, and I am much more comfortable with the kind of menus I can prepare. I just finished a bowl of chili so good that you don't even realize it's vegetarian, let alone detoxifying. My wife made cornbread that I can't eat because it's got wheat flour in it, but I figured out that I can sauté some slices of polenta and it's just as good as cornbread.

The other thing that's better this time around is that vegetarian and all-natural alternatives to many standard foods are more plentiful. I made Rick Bayless's Oaxacan Black Bean Soup, with onions, toasted avocado leaves, and chorizo. God bless you, Soyrizo! Since I won't be having any flour tortillas for a while, I bought a tortilla press, and learned how to make my own tortillas from fresh corn masa. This is the Genius of the And in action: My homemade corn tortillas are worlds better than anything I used to buy at the store. In the quest for healthier food, I'm getting better-tasting food to boot. Granted, the soup is a lot better with a mound of queso fresco crumbled on it, but that's why detox doesn't last forever. ;-)

In the past, I've been on detox for about 3 weeks. I'm planning to double it this time. I'll let you know how it goes.

* I'm talking about alcohol and caffeine. Jeez, people!

Wednesday, January 04, 2006

What's Up with SAP?

Last year, Texas State University completed a painful migration of all its HR systems to SAP. I had heard about SAP before, but I had never had any interactions with it. They are well known as one of the top dogs (if not the top dog) in so-called enterprise resource planning. I don't have any knowledge of how it works behind the scenes, but I can't begin to tell you how bad their web user interface is. I'd better just show you a sample:

It may be a little difficult to see, but there are three vertical scroll bars and two horizontal scroll bars!!

The red warning at the top reads:
If you experience a blank screen while working in the SAP Portal, press the Enter key on your keyboard to continue through the blank screen.

Nice.

But here's the really cool part. When I upgraded my browser to Firefox 1.5, all hell broke loose in SAP. Each button is now a sliver one pixel wide. While I can still click them, I have to hover over each button until the tool tip tells me what it is. And the paycheck report is completely broken.

I can access the paycheck report in Safari, but not the timesheet entry.

SAP's revenues in Q3 2005 were €2.01 billion.

If you can be so well paid for such crap, break me off a piece of that!

Tuesday, January 03, 2006

Things to Do Before You Die

Here's a good list of things to do before you die:
  • Get some grandchildren
  • Become fluent in another language
  • Travel around the world
  • Publish a book
  • Achieve financial independence