Tag Archives: software development

Baby Data Nerd

ProjectAstrid.jpg

It’s time to unveil Project ASTRID – Analytic System Tracking Rapid Infant Development.

I’ve been working on it for the past two months in my spare time. It’s a webapp hosted on Github Pages that visualizes some of the baby data we’ve been tracking. Originally, I just wanted to analyze Astrid’s sleeping patterns, but the website has morphed into a digital baby book with milestones and growth charts. I’m still adding features to it, but it’s polished enough that I’m happy to share it.

The chart below is probably the most interesting one I’ve created so far because it quantifies the quality of Astrid’s sleep. It shows her night sleeps, with the longest stretch in blue, the second longest in red, and the remainder in orange. Like all parents, our goal has been to get Astrid to sleep through the night. So that means getting as much blue as possible.

overnight_sleep.png

On October 7, after weeks of crappy sleeping, we started sleep training with Astrid. We didn’t realize it at the time, but there was a steady improvement over the next month. Then we hit sleep bliss. Astrid slept for 12 hour stretches every night for 3 weeks. We were living every parent’s dream. But last month, we hit the dreaded sleep regression. Luckily it only lasted 2 weeks (although it felt like it would never end at the time) and things have been better lately. We’re still waiting for those consistent 12-hour nights again, but she’s only waking up once a night right now, which seems very manageable.

Project ASTRID is open-source and adaptable for anyone else who might want to use it for their own child. Although realistically I know I’m probably the only one who likes having this much data about their baby. I just hope that one day our daughter appreciates the nerdy, data-heavy view of her early life, or at least isn’t completely embarrassed by it.

Developing Trex – Pulse Energy’s new Hubot

trex hubot
Every month or so at work we run a Big Idea Day where developers can work on fun projects of their choosing. For our last Big Idea Day, I paired up with one of our co-ops and integrated Hubot into our chat room. A lot of the chatter at work happens online in a chat room, it’s handy for keeping noise down in an open work environment and for keeping our remote employees engaged.

Hubot is an open-source chat bot developed by GitHub. It has some productive uses, but it’s mostly used for the inane – like pug bombing, quoting the Ferengi rules of acquisition, and littering the chat room with animated gifs. We named our Hubot Trex and in a few short weeks he’s become a fixture in our development chat room.

There’s lots to like about Hubot. It’s a free, open-source project. When I ran into a bug, it was easy to fix it myself and contribute the patch back to the community. Hubot also supports pluggable scripts. There are hundreds available online to choose from (everything from Breaking Bad quotes to hangman) or you can write your own.

I wrote a plugin to keep track of leaderboards. We play a lot of boardgames at work during lunch (King of Tokyo and Dominion usually) and Trex is now responsible for tracking the winners of every game.
hubot-leaderboards

On the productive side, the goal is to use Hubot to centralize some of the operational tasks we do – like deploying new versions of our software, spinning up new machines, and diagnosing problems. If tasks are done via Hubot, there’s a persistent log in the chat room that everyone can read and it’s interleaved with comments from the developers about why things are being done. It’s especially handy for our remote employees.

p.s. Pulse Energy is hiring. If you apply, mention this blog post for bonus points.