I recently discovered some new (to me) features of enums, and so naturally I am now using them for everything. One of these new-to-me features is using a constructor to give enum members properties and behaviour. Read on →

Some companies don’t allow their employees to use social media at work, and some countries don’t allow their citizens to access news outside of controlled outlets. How do these institutions control access to information that seems so available in other contexts? Through iptables. Read on →

While wading into the wide world of high throughput production Java, I have been enjoying guidance from “Java Concurrency in Practice” by Brian Goetz, as well as my friend and coworker, David Copeland. In a recent talk, David boiled down the range of concurrency problems to three main issues: atomicity, visibility, and ordering conflicts. Read on →

Annotations are a means of adding metadata to Java source code. They can be applied to declarations of classes, fields, methods, and types (as of Java8) in order to pass instructions to the compiler. Annotations can even be evaluated at Runtime. Read on →

Many people would like a do-over of 2016, but this was a pretty epic year for me. I was traveling pretty constantly, reading voraciously, and enjoying each left-turn my career has taken me. I started the year helping to build instrumentation for single-page applications, bounced into some UI projects using React, and spent the last quarter ensconced in a crash-course in Java Concurrency. Read on →