• clojure.spec for functions by example

    Here are some illustrative examples of spec’n out functions: their inputs, outputs, and the relationships between them.

  • Infix DSL Validation with clojure.spec

    Say you’re going to write some code to parse and validate logical boolean clauses as data. Maybe you’re writing a DSL to allow users to express some rules for a rules engine, e.g. “date is today and junk is true”. Wouldn’t it be nice to be able to validate these logical declarations, perhaps by defining a specification declaratively?!

  • A Year in Clojure

    A lot has changed since my last post nearly a year ago. I want to write about my experience coming from a ML-family language to a Lisp. It’s not going to be very informative as a tutorial; it’s mostly scattershot notes and things I’ve found interesting along the way.

  • Working CryptoPals Set 2 challenges in F#

    My previous post covered approaches to challenges in Set 1 of CryptoPals challenges. This post will be more of the same for Set 2.

  • Working CryptoPals Set 1 challenges in F#

    The CryptoPals challenges are a great hands-on introduction to cryptography and cryptanalysis. This post will outline some of my approaches to the challenges, written in F#.

  • Working with ALGLIB's Random Decision Forests in F#

    My team just finished a Kaggle competition to help Home Depot improve their search results. We tried a few machine learning algorithms along the way: starting with linear & logistic regression, moving on to random forests, and experimenting with XGBoost. In this post I’ll focus on random forests because they’re very easy to use and perform well on a variety of problems. We were able to place in the top 5% using a random forest model, but top finishers used a combination of models.

  • Generating Markov text from YouTube comments

    Let’s build on my post from a few months ago about generating weird text with Markov chains. This post will focus on a purely GIGO workflow — instead of feeding our Markov text generator with literary classics, we’re going to feed it YouTube comments.

  • Markov chain text generation in F#

    A Markov chain models a series of random transitions from one state to another, with the next state depending only on the current state. This idea has plenty of applications, one of them happens to be generating weird text, and we’ll do just that in this post.

  • Simple text classification with a little F# (Part 3)

    My previous post described the TF-IDF technique. Now we’re going to put it all together to build a working text classifier.

  • Coding interview minutiae grows on trees

    The author of Homebrew was recently asked to “invert a binary tree” during a Google interview. Well, he didn’t get the job, and many a blogger cried foul at the pitiful state of technical interviews. I agree that coding interviews can be arbitrary and asinine—but I couldn’t help myself. I had to take the binary tree challenge to validate my existence as a programmer.

  • Simple text classification with a little F# (Part 2)

    My previous post laid out the basics for calculating term frequencies from text documents. This post will describe a method for supplementing term frequency that will make it more useful.

  • Simple text classification with a little F# (Part 1)

    In this series I’ll describe a simple recipe for text classification. We’ll start with some text classification basics.

  • First Post

    Welcome to my first post. I plan on putting some articles up here about software development.

subscribe via RSS