GB

Animated GIFs by MMS

Two very important things happened last week:

  1. Twilio announced that all US phone numbers are now MMS enabled.
  2. I discovered that Giphy has an API.

Clearly, this is a match meant to be — animated GIFs delivered to your phone on demand. Text a phrase, any phrase, to (202) 800-1334 to try it out.

I can only imagine that it was game-changing use cases like this that kept the Twilio messaging team pushing for three years to make programmatic MMS a reality. Maybe you’ve got your own ideas of how you could make the world a better place through picture messages. If so, check out the repo for this project or the Getting started with Twilio MMS guide.

Happy hacking.

Running in Rome

Running sucked when I started training for the Chicago Marathon three months ago. There wasn’t much to do but to suffer through each mile and, since I never strayed far from home, the scenery wasn’t particularly interesting. Over the last month though, two things have happened:

  1. My body’s getting used to it, so not every mile is wrought with agony.
  2. The distances have grown, so I can actually go somewhere during my run.

Rachel and I just got back from a babymoon in Italy that included four days in Rome. The morning after we arrived, I went for a nine mile run. Of all the miles that I have run or will run, I expect that those nine will stay up there as favorites.

I ran aimlessly that morning. I didn’t worry about my time and I didn’t plot a route, opting instead to take in the views and check in with Google Maps every once in a while. It was an amazing life experience, getting up at 5:30 on a rainy morning to run a distance I couldn’t have run a month ago and accidentally ending up at the steps of the Colosseum.

This is what it looked like that morning:

If that run was the highpoint of my training so far, the week that followed was the low. After four days in Rome we relocated to the countryside. Chicago is about as flat as it gets (marathon world records are often set there because it’s so flat). The Italian countryside is not flat. Even getting from our BnB to the main road required more uphill running than I’ve done in all of my training.

My schedule called for a long run of 15 miles the day after we got to the countryside. I gave up after 2.5. The next few mornings I woke up, considered the hills, rolled over, and went back to sleep. I just couldn’t bring myself to go out there again.

After a few days of internal wrestling, I finally convinced myself that:

  1. It’s as dangerously egotistical to assume that I can jump in and run 15 miles of hills as it would have been to assume that I could jump in and run 15 miles flat three months ago.

  2. I’m letting “perfect be the enemy of good,” getting so caught up in “I can’t run what I’m supposed to” that I didn’t run at all.

Eventually I gave myself permission to just go out and do whatever I could. “If you got to quit a couple miles in, that’s okay. Today the challenge is leaving the house… everything else is gravy.” I did 3.5 miles that morning, and the next morning I planned a nice little looping route with five miles of hills and ran the whole thing straight through.

Some battles in marathon training are physical battles. Most are mental. This was the latter through and through — figuring out how to restart inertia stalled by crappy thoughts.

Those five miles, the shortest “long run” of my training, ending up being a big victory. And once I stopped beating myself up over unrealistic expectations, I was able to the appreciate scenery:

What I Wish I Knew as a Junior Developer

While working on a talk for Refresh Chicago, I tweeted this…


… and was rewarded with an unexpected deluge of replies:

General

Career

Twilio plug — We’re hiring developers and developer evangelists!

Said article on salary negotiation.

Said book. I also recommend The Clean Coder.

Impostor Syndrome

Learning

People

Coding