• Be careful what you ask for; a lesson in monitoring

    This morning was like any other—wake up late, shower, get stuck in traffic—but with a twist. As soon as I hit traffic, which was really bad even by I-85-in-midtown-Atlanta standards, my smart watch started to buzz every few seconds. Trio’s servers are unreachable according to our monitoring service. It’s going to be one of those mornings. When our monitoring service tells me something is wrong, I have a mental checklist, and I began working it (more-or-less in order).
    • Check NewRelic for performance issues.
    • Check Heroku’s status page for outages.
    • Check AWS’ status page.
    • Submit support ticket to Heroku, if applicable.
    • Look into any stop-gaps I can put in place to lessen the impact.
    • Inform users of potential issues.
    I was drafting a user notice to pop-up in-app when something I saw hit me: NewRelic also has monitoring turn on and those alarms weren’t going off; why not?


    There is a fundamental difference in how NewRelic and Pingdom perform their monitoring—Pingdom follows redirects and tests the final destination whereas NewRelic (by default) accepts a redirect as a success. This little detail is important because a while back, we decided to throw away our single-page, teaser, homepage and simply redirect users to our iTunes store page. So, since we made that change our monitoring service hasn’t actually been monitoring our website, but we’ve been monitoring the iTunes store. Oops. With a quick fix and a flick of the wrist, Pingdom is now fetching our robots.txt file. This has two benefits: it’s actually monitoring that our server is alive and accessible and it’s fetching a static page, so there is very little overhead on the server. TL;DR When you’re setting up HTTP monitoring, create a static file and monitor that file’s url.
  • Migrating blog posts from Orchard CMS to Wordpress

    There are a good number of blog posts out there helping people migrate their sites to Orchard, but few, it seems, heading in the other direction. I toyed with a few ideas, but I ended up using XSLT (Xml Stylesheet) to transform the XML generated by Orchard’s export feature into WXR (Wordpress eXtended RSS). I used Visual Studio to perform the transform, which limited me to XSLT 1.0, but it got the job done. The transformation is pretty smooth, for the most part. I’m working to migrate the Kabbage blog (, and there are a few caveots to the XSLT below:
    • We’re assuming all blog posts are authored by the same user (admin), so we’re not importing users
    • We hardcode the post links to be in a blog subdirectory:
    • It assumes that Wordpress will eat duplicate categories (XSLT 1.0 seems to have issues making distinct values)
    We will be performing the blog migration in the coming weeks and this migration will be a key step in the process. I’m sure it will change between then and now, so I’ll be sure to update the code provided.
  • Hooverphonic with an Orchestra gives me the chills

    This is such a fantastically beautiful sound. Hooverphonic With Orchestra - Mad about you from sueños de seda on Vimeo.
  • Belt Lines #15

    The fifteenth of 155 poems about the Beltline by Lee Butler.
    "Bob" the sign said
    Nearby the bicycles sleep and the rooster crows
    A mountain biker and hiker,
    my Father would have microscoped the urban path.
    The errant wildflowers unwilling to be fenced, pouring under
    Varieties which thirst for water forced out by the hearty
    One ruff of lace in a field of black eyes
    All of Susans, ladies-in-waiting for Queen Anne.
    He would have read Latin stones, noting the indigenous.
    "Rules are for when brains run out"
    but being a civil civilized man
    he'd have adhered to the right hand rules
    The admonitions of my Sierra childhood traipses
    "Take everything out that you bring in",
    charge me to pick up the careless cans.
    I resist thanking the two men ahead
    eating their way up the Line
    who return litter to the plastic take out they have carried in.
    Birds dancing dominance
    Swiping intruders with feathered swords
    Piping tweets and whistling warnings
    Perhaps he would have stopped the over-wired
    "See something besides texts and hear nature's talk."
  • Belt Lines #13

    The thirteenth of 155 poems about the Beltline by Lee Butler.
    Scrap plywood words hung by wire to the webbing
    Were the dangling nouns chosen by children?
    My pinkie wrapped around yours
    as you keep me on the inside
    as did the gentlemen on the city sidewalks of yore
    The Post Oak which needs a yellow ribbon round it's middle
    Your refrain each week, "The distance seems shorter."
    My response, "Because we know the route and what comes next."
    The nearly summer nineties refreshed by the breezes that arrive
    Just before we get too hot.
    Reaching the underpass
    refrigerated by the dark concrete and gurgles of water.
    Tiny varieties and variations of vibrations above our heads
    as we breathe the cool.
    The chocolate mulch, mounded up
    used as a bench by a runner and his panting Bulldog
    Holding hands homeward
    we step off the path
    and encounter
    two plastic soldiers placed atop a mailbox
    posed by a grown-up child
    a tiny duel in our Sunday landscape.

subscribe via RSS