We all work with somebody who’s day job appears to be best described with phrase “has and attends meetings.” Think of any product or project managers (there’s a difference between the 2 I’m told, but I couldn’t tell you what that was) at your office. They’re always in meetings, and it’s […]
Year: 2016
On Complex Products
Recently, my friend Steven Hicks published blog post on complex software. Despite his claims early on in the post, what he’s describing is exactly a documentation problem. Nobody actually takes time to document how to install and configure these services and as a result you never really know how to get […]
Debugging a performance bottleneck
Recently, we had a Kinesis consumer back up due to a deployment problem. Sadly, this problem went on for 2 days without us noticing, so we were pretty backed up. Now in theory, we should have been able to catch back up to real-time data sometime later that calendar day. In reality, […]
The care and maintenance of APIs
APIs are tricky things to maintain. Because they’re designed to be open by nature, it’s hard to test every possible way someone could use it. That makes incredibly easy to break if you don’t think through any changes you’re making carefully, with an emphasis on what a developer is expecting. Luckily, there are a […]
All hail managed services (or at least good VM automation)
I transferred teams at work recently, and spent about a week trying to get their code running on my laptop so I can do useful development work. This is in addition to trying to wrap my head around the existing codebase and figuring out how to test my changes. It’s not that […]
If your goal is to “disrupt” something, you’re doing it wrong
1 of the most common themes around any startup these days is how they intend to “disrupt” something. Founders aren’t saying they plan to “disrupt” something as a consequence of what they’re doing, but rather using the term like it’s an actual objective – “disrupt the {industry name here} industry.” Here’s […]
Good logging is an art that I wished I had learned in school
You’re sitting there at work and word reaches you that your application is misbehaving. What’s the first thing you do? Pull up the logs and see what they say. And this is where you may wish that you had an entire class in school dedicated to the art of writing useful log […]
Welcome to the Cantina
I mentioned in a previous blog post that we had used DynamoDB on an internal project at Bronto (my employer, but I don’t speak for them – they have people for that). That project is the Bronto Cantina – which launched to the whole Durham office a couple of weeks ago. It was […]
Inter-project dependency management – is that even a thing?
So I ran into an interesting issue a while back doing something on a project at work. I was doing something that involved interacting with files on S3, and had updated the AWS libraries my application was using, but I was running into errors every time I tried to do anything […]
Don’t use DynamoDB as a production database
Amazon’s DynamoDB service is a managed NoSQL database that promises great speeds that allow it to be “…a great fit for mobile, web, gaming, ad tech, IoT, and many other applications.” That claim is pretty much just a pipe dream. The reality is that DynamoDB is a terrible fit for […]