CloudFront Invalidation with TravisCI

By Patrick McDavid, February 27, 2018

I wrote here a few months ago about Easy Cloudfront cache-busting with Travis-CI. I’d not really liked the solution I offered in that post and am back to share the far better solution I found this week, which is just about as easy!

Read More

First-Thursday Hack Days at BombBomb

By Patrick McDavid, November 30, 2017

I’ve had the enormous fortune to lead an engineering organization comprised of women and men who delight in challenging one another every day. This camaraderie leads to better products, more creativity and a happier workplace. At BombBomb we often get to work on really cool stuff that pushes our ability and knowledge, but at the same time these tasks are often that: assigned work. It’s gotta be done, but how can we really lean to the other side and let engineers run wild?

Hack Week 2015

In the spirit of freedom and innovation BombBomb held it’s first hack week in the Spring of 2015. No sprint planning, nothing assigned, just five days of developer-driven creative expression. We didn’t go in completely blind, we’d read up on Spotify’s similar tradtion. So the rules were simple:

  • Pick a team, or go alone
  • Work on anything that would be awesome at BombBomb
  • Be ready to show off on Friday

It was awesome. People played with ElasticSearch, WebSockets, and new ways to engage BombBomb staff with customers. Some of these projects were the seeds that became crucial everyday systems at BombBomb.

Years Pass

We knew this was a new staple: a week in spring to experiment and impress. We get the whole company together at the end of the week and show off what’s possible. We also learned to document these more thoroughly, and produced great round-ups on BombBomb Hackweek 2016 and Hackweek 2017. You should really explore those posts to get some deeper insights on some of my favorite projects, like:

  • “Hey Siri, send a BombBomb Video to Mom”
  • Android Wear shutter release
  • Machine Learning Experiments
  • Face, gender, attention and mood recognition
  • Automatic global application delivery and failover

Annual hack weeks are a hit, no doubt, and I’d recommend them as an innovation-rich, deep team-building exercise. You can really have them crescendo in an event for your whole company and its larger sphere. But, what happens the other 11 months of the year? On the positive side, hack week takes on a mystique, a real treat to look forward to in the spring. People link back to their presentations, or work in bits of time to polish their experiments into products. On the flip-side, we hired nearly ten new developers this year since the last hack week, so to them hack week is a little unreal yet.

Monthly Hack Day

We wanted a mechanism to allow our engineers to follow their passions more regularly. We read a bit: Google has their 20% time allowing about a day a week to experiment. LinkedIn has InDay where each month employees spend a day exploring themes such as: “giving back, relationships, learning, wellness and play.”

We liked a number of these approaches and so, starting September 2017, we broadened our hack culture to include a monthly Hack Day on the first Thursday of the month.

For the most part it’s been a success. With the limited time, projects have been far more prototypical than what comes out of a full week, having a little more of a what’s-possible flair. There’s a bit less planning and communication: two engineers happened to tackle speech transcription projects separately and unbeknownst to one another on the same day. Quite the surprise at demo-time the following morning. With the smaller time-box practicality is rearing its head: a pair of engineers went on a day-long documentation clean-up spree. Good, small works.

Having the single days is certainly less of an event than the week-long blow-outs, and the standing date ends up clashing with crucial deadlines. There’ve been a number of incidences of developers not being able to participate. They’re happily granted a rain-check, but something is lost. It’s not perfect. We’ll keep tinkering.

Carrying the flame

Making time for focused, professional play in the workplace is a real challenge. But I’m a believer. Deadlines are important, customers need you, and that production alarm doesn’t take a day off. We need to be flexible: in 2016, Spotify converted their Hack Week into Fix-It-Week.

Not everyone’s projects fly, sometimes people end up with just lessons. But that’s okay. We’re fortunate to have these opportunities, and an environment that’s sympathetic (if not downright enthusiastic). I’m looking forward to Hack Week 2018; the future is bright!

Read More

Data Detection in Swift

By Tom Harrington, October 24, 2017

I have a love/hate relationship with regular expressions. I love them because they’re great for examining text to find useful information and, often, to change the text in some way. I hate them because once you get beyond basic matching, they descend into bizarre write-only code that gives me flashbacks to my days writing Perl. In extreme cases they may well endanger the universe. And so we come to one of my recent coding issues: How can I find out if a string contains a valid email address?

Read More

Easy Cloudfront cache-busting with Travis-CI

By Patrick McDavid, October 16, 2017

Update February 27, 2018: There’s a better workflow offered here

This site is hosted on AWS’ S3 via Cloudfront which is an easy way to keep it online with minimal concern at runtime. We’re trying to get more contributors to this project in support of our OpenAPI docs, this blog, and other odds and ends.

Read More

Welcome to BombBomb

By Patrick McDavid, September 9, 2016

Welcome to this little project called BombBomb! We’re taking a huge step with this new developer portal in offering a ready to work enterprise video communications toolkit.

Read More