enjoying salad since 1978.

Monday, April 30, 2007

Back from Rome!

I battled a kung fu master at the Colosseum. Thankfully Stacy was there to take pictures as you can see. I'll put the rest of them up on Flickr soon enough.

I also kept an actual paper diary of our wacky adventures. I'll put that up, too.

Monday, April 16, 2007

Because you care.

How am I doing? Pretty well, I had to look at a calendar to tell that it's Monday. That's progress.

Stacy and I saw 'Who's Afraid of Virginia Woolf?' last week at the Golden Gate Theatre. If it comes to your town, I suggest you see it. Don't take your girlfriend if you're not sure where you stand since you might be broken up by the end of it. Go straight to a bar afterwards as the play is sure to make you want a drink. Better yet, sneak in some Dewars in your tummy (per Patton Oswalt). There's nothing theatre-goers love more than drunken revelry. Just pretend it's a sing-a-long and after a while, it will be.

Later this week, Stacy and I will be travelling to Rome. I will do my usual cowboy-politics-when-abroad schtick and they will keep feeding me pizza and paninis in the hope that I will shut up about their lovely country.

I will promise to not make an ass of myself. I will also cross my fingers behind my back while making it. Wish me well.

Have Fun! At all costs.

Let's cheer you up. Things have been rough, you know? Here are some things to make your day better:

This treat has been stuck in my head for several days now. Count how long it takes Bugs Bunny to get into drag. (Hint: not long, as usual).

According to the SF Chronicle, this show "tells a powerful story about a man wearing gold shoes and a short gold vest who takes over a cocktail party on the strength of his hips alone."

Watch this man wrestle an octopus. He is a true champion.

Sunday, April 01, 2007

Haskell thoughts.

Writing A Lisp Interpreter In Haskell is a fun article about writing a Lisp interpreter in less than 200 lines of Haskell, repl and all. His experiences with Haskell's expressiveness and concision mirror my own. I am just blown away by how difficult programs are easy to express in the language while still being easy to change as your approach to the problem's solution changes.

It takes quite a lot to effort to learn Haskell. One of those "learn haskell in an hour with our fancy tutorial" so prevalent in other languages will not adequately prepare you for any semi-serious Haskell code; there is simply too much to the language for a quick flyover. I've read several books and papers and written maybe 5k lines of Haskell now and I still feel like I've just scratched the surface. My experience in Lisp, Erlang, and ML have helped me quite a bit but the only way to achieve any success in this language is to start digging, I think.

A few of my favorite haskell features sofar:

  • partial application and currying are built into the language and are very natural to use.
  • use of higher order functions also require no painful machinations.
  • anonymous functions can be created anywhere with only three extra characters.
  • algebraic data types.

I'm a little down on Monads although the article linked to above has given me a new perspective on them. I've been learning category theory to help me find more novel uses than just abstracting away IO but no deep insight has hit me yet. I'm prepared to give it time, I believe it will pay off.