two firsts
One, I wrote code with GOTOs. I'm setting up a highly constrained dev environment for my current contract. It has to be Windows XP, and it can't use cygwin. There are at least two different builds I have to run: one uses ant 1.6.5 and a vendor-specific implementation of jdk 1.4.2; the other uses Sun's jdk 1.4.2 and ant 1.7.0. In bash land, I'd just write a setup-foo.sh script and be done with it. In pure-windows windows, that's not going to fly. (Even if I could use cygwin or mingw, ant command-line parameters in cmd.exe get really messy when invoked from bash. You can only do backtick cygpath -w so many times before going insane.) So, finally, a generation after it was released, I had to learn a little bit of dos scripting. I started with a book called "Microsoft Windows Shell Script Programming for the Absolute Beginner" and I felt like an absolute beginner. How do I express conditional logic? [if cond ( ... ) else ( ... ) actually kind of easier than bash] How do I accept command-line parameters? [%1%, %2%, not unlike bash]. How do I call procedures? OMFG. CALL :SetupFoo. How do I return from procedures? Aiee! GOTO. I got to experience the joy of debugging code with GOTOs without an interactive debugger. Thanks, but no. Props to all of you who lived through that (hi, Pop) but I'm way happier with structured programming. Object-oriented programming, now, that's for the young kids... (Just kidding -- people my age can handle OOP; aspect-oriented programming is for the young kids.)
Two, I spontaneously generated a really nice roast chicken recipe. Occasional post-workout brunches at Boulette's Larder have encouraged me to experiment with embarassing amounts of butter and carmelized onions. Spud has been delivering a frozen organic bone-in chicken breast each week, and they were stacking up in my freezer; plus Trader Joe's had some really cute multicolor pearl onions. And there are insane cranberry sauces everywhere these days; I went with one from Bi-Rite that included apples and ginger. Combine that with my housemate's well-seasoned cast iron pan and a gas oven... Mmm. Yummies.