Posts about Tools

An introduction to a simple utility to make life of developers and applications administrators easier, when it comes to debugging out of memory errors

Building a well documented command line interface is hard. Learn how to take advantage of Go and Kingpin to produce a user friendly command line tool with Bash and Zsh completion.

Semantic versioning (semver) is a scheme for version numbers. It also specifies how changes in version numbers should convey meaning about the underlying code and what has been modified from one version to the next. As useful as that is many developers are unaware that semver can be easy to maintain with the right tools.

Do you write a lot of command-line tools? I've written them in C, Java, C#, Ruby, and most recently Python. I looked at the standard `argparse` library in Python. But here I was learning yet-another-argument-parser-library. After a little research, I discovered docopt works in many languages. Here's why docopt has become my favorite tool for argument parsing.

Creating presentations with nice code snippets can be tough. I'll show you how to use the highlight command line tool to make code snippets in presentations look great!

We've upgraded to Java 8! Our SDK now requires that you run with JDK 1.8. Given the recent end-of-life of Java 7, our products are on the road to deprecating JDK 1.7 as a supported environment. For you add-on devs out there, you'll need to upgrade your environment to Java 8 and JDK 1.8. If you've run your environment lately and ran into issues such as a blank screen, read on to update and get back into action!

If you work for a big company, you know all the big ALM tools. Fortunately, the experience fills out a résumé nicely. Unfortunately, you have to deal with all of them at the same time. I've seen it happen for any number of reasons: outsourcing, acquisitions, restructuring. Whatever the history, the variety of tools can cause communication silos. According to Melvin Conway, those silos doom the software you produce to be siloed. If you thought the only alternative was a lot of custom development using a hodge-podge of languages and protocols, then you may have missed a new generation of middleware designed specifically for ALM integration.

ngrok is a handy tool and service that allows you tunnel requests from the wide open Internet to your local machine when it's behind a NAT or firewall. This is useful in a number of cases, such as when you want to test out an add-on you've been writing for HipChat or a custom webhook endpoint for Bitbucket, but you haven't yet deployed your code to an Internet accessible host or PaaS. The most common usage of ngrok sets up a tunnel to localhost using the random hostname ngrok provides by default, e.g., But that's not all it can do...