Welcome to my blog. Here are my most recent blog posts:
  • A Slick Tool for Database Schema Generation

    January 29, 2014

    tl;dr: The Slick migrations tool will be a badass way to keep your database in version control. In the meantime: need to generate a Slick schema to apply to a legacy database? See my fork of the Slick migration tool proof-of-concept.

    The Way to Do RDBMS in Scala

  • Handling Non-Standard URLs in Dispatch

    January 29, 2014

    Handling Non-Standard URLs in Dispatch

    a code adventure

    tl;dr: Need to use Dispatch 0.10.1 to access a non-standard URL? Use this custom async-http-client RequestBuilder to set your URL the way you want it.

    Let's say that we're using the excellent Dispatch library (this post uses 0.10.1) for our HTTP client to access a web service from SillyCo, and there are no alternatives to SillyCo. And, let's say that documentation for SillyCo's web service specifies a URL that looks something like this:


    Notice anything wrong with that URL? If not, you will in a minute.

    So, we fire up Dispatch and make our stuff like the docs tell us to:

  • Will's Own Plan

    January 29, 2014

    Will's Own Plan

    By Will Rogers

    Published August 2, 1936

    Source: http://news.google.com/newspapers?nid=2206&dat=19360802&id=nwUtAAAAIBAJ&sjid=6dMFAAAAIBAJ&pg=2622,656206

    Today is Plan day. I'm sort of going to give an inkling of the Rogers plan to agonize the world. But, you know the Townsend plan, and various others of a similar nature, went down in congress with a tremendous majority, so it looks like a bad day for plans. I think Townsend was a conscientious, well-meaning, humanitarian old gentleman.

  • How to Use the New MongoDB Aggregation Framework Via Scala and Casbah

    February 22, 2012

    Note that this requires MongoDB 2.1+ (at the time of this writing, 2.1 is still the unstable release -- the aggregation framework will be in its first stable release in 2.2).  @rit is adding the aggregation framework to the Casbah DSL, which will make this method superfluous, but it is a good example of how to implement a mongodb command in scala before Casbah or the Java driver support it.

  • Expedia iPhone App vs Orbitz iPhone App

    February 6, 2012

    Just sayin...


  • Vegas as a Blindman, or Visine ≠ Saline

    January 31, 2012


    I've been asked by a few people about the time that I was blind in Vegas.  So, here's the story:

    In 1999, I was working for Motive Communications.  They sent me to CES in Vegas to make contacts and report back on the state of software for set-top-boxes, one of our target platforms.  After a full day of stomping the convention floor, I played a bit of blackjack, and then headed back to my room so I could be coherent for the next day's meetings.

  • The plural of anecdote is not data.

    January 20, 2012



  • Keep Scala Sharp

    January 11, 2012

    Background:  I've coded in Java since v. 1.0.  I've been writing Scala code for almost 2 years, and professionally for about a year.  I'm very far from mastering all of the advanced features of the language. 

    Dhananjay Nene argues that Scala should have compiler flags or tools to protect developers against the advanced, "dangerous" parts of the language.

  • Thoughts on Erjang

    December 7, 2009

    I've had the good fortune to make contact with two very smart people: Jonas Bonér and Debasish Ghosh.  One of the topics we've been discussing is Erjang.

    Jonas and Debasish agree that while the project is an interesting experiment (which it is) and a great way to learn Erlang (which I'm sure it is), its usefulness might end there.  They may be right.  Eventually, of course, a robust and complete Erlang-to-Java-Class-File solution might be able to give you these nice things:

  • Breckenridge Trail Map

    November 24, 2009


    Here we come!