The programmer’s condition

I sat down yesterday evening to implement a simple feature in the Rails app I’ve been sporadically working on—a simple feature that quickly spiraled into a giant morass of head-desks and cussing at the stupidity of my previous work. (I know that being disgusted with your past work is a sign that you’re growing and improving, but I’m not convinced that’s supposed to happen quite so suddenly.)

By the end of the evening I was definitely suffering the programmer’s condition, as described by Noah Pepper:

“I want to travel back in time and murder myself”


At least one “friend” has griped that I haven’t been liveblogging the royal baby birth. The truth of the matter is that I’m trying out a valium-variant drug (!) to moderate my hand tremors (“essential tremor,” which means it’s annoying but not a symptom of anything else), and I cannot drink alcohol while on this stuff. Without alcohol, there is simply no way for me to survive the inanity of that event and its coverage.


I’ve never handled pain very well: my tolerance is low, and my grumpiness per unit pain is high. A few years back I had plantar fasciitis in my right foot, and sulkily hobbled around for half a year. I might still be hobbling around today, but a co-worker eventually suggested that it might be caused by my calf being too tight and pulling on the fascia of the foot—an idea that was reinforced when I pressed on my calf and fell over in agony.

Just over two years ago I decided to pick some socks up off the floor using the styling of a tango lunge, and something went in my left knee. I’ve had variable (albeit present much more frequently than not) knee pain ever since. I did go to the doctor last year about that one, but my X-ray and MRI were both clean, and the pain was slowly subsiding. Then a guy did a samba back-step onto my knee (!!!) when I was changing my shoes one evening at dance practice.

That pretty much broke my spirit along with my knee.

But! Marin bought me a book on recovering from knee injuries, which caused me to reflect on what the orthopedist had mentioned (seemingly in passing) about my hamstrings being tight. According Marin’s book, darn near everything in the leg can influence the knee—so I figured I’d start stretching my hamstrings seriously.

It’s been two weeks, now. My knee still hurts too easily when I do normal activities (i.e. lifting any moderate weight), but the pain is now gone by the following day. My knee’s default state seems to be pain-free, which gives me hope that it’s finally getting the chance to heal.

All this pain (admittedly a small amount spread out over a long period of time), seemingly because of some tight muscles. Amazing.

Google Reader apocalypse AAR

So it’s been about a week since Google shut Reader down, and RSS users seem to have scattered to the winds. I uncharacteristically took a harder path and installed a copy of Tiny Tiny RSS on my server. I now read my RSS feeds with Reeder on my iPod, and ReadKit on my Mac… and while it’s not quite perfect—I’m waiting for better keyboard navigation in ReadKit—it’s a whole lot more pleasant than I thought the post-Reader world would be.

Installation was generally pretty easy, even though I was going against advice and installing TT-RSS on a shared server. The only major catch I had was in setting up the cron job to periodically check my feeds—manual feed updates worked, but the cron job failed (complaining that “PHP support for DOMDocument is required, but was not found”, despite my having enabled the extension in my php.ini file). I eventually realized that the instance of PHP spawned by my cron job wasn’t using my php.ini file, and solved the issue by setting -c /path/to/my/php.ini in that cron job.

Three plugins made all the difference in the world to me:

  • Chalk: a nice theme for the web interface
  • FF_XMLLint: cleans up malformed RSS feeds that TT-RSS would otherwise choke on. (Be sure to read the thread and modify the api_version() function to return 2.)
  • TT-RSS Fever: allows Tiny Tiny RSS to pretend to be an instance of Shaun Inman’s Fever RSS aggregator/reader, thereby letting my RSS clients sync with it. (Fever isn’t all that well maintained these days, and seemed a good deal slower than Tiny Tiny RSS in my experience.)

[I’ve also hacked a copy of Daniel Jalkut’s Subscribe to Feed Safari extension to allow me to add RSS feeds to TT-RSS directly from any given site, but that was a bit more involved… and involves using code that isn’t mine to share.]

The real casualty I suffered in Google Reader’s demise wasn’t actually Reader itself (which has always been a syncing platform to me), but the fact that I had to abandon NetNewsWire—one of my favorite and most-used applications on my Mac for the last decade. The current version of NNW has been neglected and is growing increasingly buggy, and the upcoming version is currently surrounded by a haze of uncertainty about what capabilities it will have (the initial beta seems to be a ground-up rewrite, and is shockingly bare-bones) and how it will sync (I fear it’ll use its own proprietary system). Given the lack of syncing today, and lack of information about the future of the program, I’ve bailed on it for now.

Still, I’m happy—and I should be (relatively) safe from my RSS syncing engine being EOL-ed in the future. That’s worth a fair bit, these days.

powered by wordpress