• 1st Class UX for Web Programmers
    On the web, your users are no longer a secondary engineering concern. A thick-client framework, like Ember.js, makes UX 1st class.
  • Paint By Types
    My introduction to Haskell has shown me the promise of types, enabling type-driven development. The type system self-documents better than any docstring or variable name ever did. It even guides your thinking and program architecture.
  • Code As Craft As Career?
    As a career programmer, I pursue code mastery. Economics at scale however stamps out the craftsman. How do I stay ahead?
  • Ongoing Learning in Breadth & Depth
    To those overwhelmed by all the programming languages and tools you can learn, changing daily, I’d like to offer some peace of mind. In my previous article, I questioned the rampant, disconnected proliferation of code. I don’t know why it is stuck the way…
  • Don’t Learn to Code, Learn to Program—But Come Back in 10 Years
    I want to discuss why programming and coding are not the same, and why I can no longer support the Learn to Code movement. I can no longer tell my friends to learn coding. Although I’m passionate about it, it’s too arcane and insular for mainstream…
  • Good Ideas From Mobile Design That Are Good Everywhere
    A collection of 9 usability tips from mobile design, yet they benefit desktop users too. 2 birds, 1 stone.
  • Credo
    Here’s a collection of the high-level concepts I’ve adopted over the years. I think they add human value—to customers & teammates alike—and GTD value. All while keeping me happy with my career in the otherwise often bitter IT ecosystem. Engineering “Firs…
  • Accumulating More Than One Failure In A ValidationNEL
    This is an adaptation of an internal blog post I made for Gravity engineers. To preface, Gravity likes to use 2 very predictable patterns throughout its Scala codebase, which is very important for a TIMTOWTDI language like Scala. The for-comprehension: it…
  • Avoid Git First Drafts
    Here are pages rife with debate on using git pull vs. git pull --rebase. I’ve decided for myself there are times for both, that is, there are times for merge commits and not.