Since ’tis the season of Thanksgiving, I wanted to offer up a special thank-you to the unsung heroes of any software development project. They’re vital to a good final product, yet most of the time nobody ever realizes the impact they had on getting your software where it is today. So, in the interest of spreading the thanks and love all around, thank you to all the people who aren’t “dev” or “ops” that make all this possible.
The ups and downs of social voting
My friend Warren Myers had an interesting blog post on voting mechanics on various websites, along with “like” mechanic various social networks use (like buttons, +1 buttons, tweet favorites, etc.). I’ve made my feelings on things such as “like” buttons known, so I’m not going to go into those here. Warren raises some good points about the issues with voting on a lot of sites, but there are some places where I think works well that I think are worth noting, along with why they seem to work well. It’s important to note these reasons if you want to make sure your voting mechanic improves your site.
1 of the last things I worked on in my previous job was converting a cron-generated set of emails about server SLA stats into a web service. Early on into this process, I looked at the ELK stack, discussed it with my team lead, and the two of us ultimately came to the conclusion that going that route would be overkill, and that instead we should just write our own utility. That, boys and girls, was a stupid, stupid mistake. Instead of using an existing, free, open-source, project, we decided to re-invent a wheel that other people had already invented, debugged, and was working well for a lot of projects, including bigger ones than what we were intending to do. Continue reading »
Titansgrave – proof that RPGs can make good television
Wil Wheaton’s RPG show, Titansgrave: The Ashes of Valkana, recently finished its first season, and it’s been a lot of fun, not to mention a very well-done story. Normally, you wouldn’t think that an RPG show would make for particularly good television (even if the “television” is airing on YouTube), but it’s a testament to the world-building, story, characters, and players that it worked as well as it did. Continue reading »
My last post about mocking a Netty server using Mockito worked for Netty 3.x, but the changes made in Netty 4.0 broke a lot of that work. After spending some quality time reading up on the changes from 3 to 4 and debugging my testing code, I got my mocked Netty server working with Netty 4.0, and now I’m posting it here in the hopes it helps anyone else who’s looking to mock a current Netty server for their unit tests. Continue reading »
The case of the dead dispatcher
A while back at work, we noticed a periodic issue where remote jobs just weren’t being run. That was being caused by the fact that the jobs weren’t actually being sent to the remote AWS instances that were meant to be running said jobs. Just why the jobs weren’t being sent out was a mystery, but a simple bouncing of either the remote servers or the main application itself seemed to get things moving again. In the meantime, we were off on a hunt for just why these jobs were no longer getting dispatched.
I don’t really have a lot for this post – between the limited uses I have for the Facebook and the somewhat surprisingly non-breaking release, there’s not a lot for me to note with this update. The only issues of note I saw had to do with graph API calls for custom audiences. Continue reading »
If you’ve worked long enough, you’ve hit on something that involves multiple people. At that point, the common line is to “get all the stakeholders” together so everyone’s on the same page and actually working together. It’s a good philosophy, that works when you’re getting just the people involved in something together – and nobody else. The problem is that that’s rarely how these situations play out. Continue reading »
Single-send delivery statistics in a post-single-send aggregation world
About a month ago, Bronto released single-send API aggregation for deliveries. Full disclosure – I work for Bronto, but on the apps team, not the main product (by the way, buy Socialite), and I certainly don’t speak for them – everything here is my personal opinion and observations. This was a good change that improved the performance and efficiency of what was 1 of the more expensive API operations. That’s fantastic, but it also impacts the API in ways that Bronto developers are going to need to be aware of. Continue reading »
EDIT – This post was written for mocking a Netty 3.x server. For mocking a Netty 4.0 server, see this post.
While working on an app with my current job, I wound up touching some code that didn’t have any unit tests associated with it. Since we’re a small team (but growing), any automation in testing really helps (not to mention just being a good thing to do). The issue was the code was all in a request handler for a Netty server, which meant I needed a way of either running a Netty server during the Maven build process, or I needed to simulate 1 via some type of mocking library. Ultimately, I settled on the latter. Here’s how I did, and the things I learned along the way.