22 February 2017

An Excellent Debugging Story

I love a good story of the challenges faced in solving a deep, challenging bug. The adrenaline rush of solving problems, bug-hunts included, is a big part of what drew me back into software development after a few years doing other things.

The most recent episode of the Software Engineering Radio podcast tells the tale of one of the most engrossing debugging stories I have heard in a long time. Donny Nadolny of PagerDuty tells the story of how they hunted, isolated, duplicated, and solved a bug in the midst of a distributed system spanning multiple data centres in different regions. They had to drill deep into their stack, and were ultimately successful.

Check it out here: http://www.se-radio.net/2017/02/se-radio-episode-282-donny-nadolny-on-debugging-distributed-systems/


15 February 2017

Essential Eclipse Plugins: Eclipse Color Theme


This is fun little plugin, one of the most popular on the Eclipse Marketplace, gives you a quick and easy way to apply a consistent, customized color theme to many of the Eclipse editors.

Eclipse gives you lots of control over syntax coloring already, but there are gaps in its features, and the themes do not easily cross types of editors, like Java, XML, Ant, Scala, etc.

This tool lets you apply a theme quickly and easily across all supported editors. Match your color theme to your ambient lighting, your corporate colors, your favorite team. Whatever strikes your fancy.


8 February 2017

Essential Eclipse Plugins - AnyEdit Tools


This is one of the most useful little extensions I have ever come across. It's a plugin that adds several new tools to the context menus in many different Eclipse text-based editors.

I first encountered the power and convenience of this tool on a project to clean up and refactor a crusty old code-base. Too many times in its past history, the developers had used the Copy-Paste-Tweak approach, which left lots of nearly-duplicated code that did 99% of the same thing. Using Eclipse's built-in refactoring tool to Extract Method would not always refactor them all.