Hiya, I'm Rocky.

I'm a functional and logic programming devotee who has passions in the lower-end of the spectrum, with particular emphasis on machine learning, natural language processing, expert systems, concurrent and distributed programming, and data hacking.

Colorado grown code.


I love algorithms.

stringmetric

String metrics and phonetic algorithms for Scala (e.g. Dice, Hamming, Jaccard, Jaro-Winkler, Levenshtein, Metaphone, Monge-Elkan, N-Gram, Needleman-Wunch, NYSIIS, Ratcliff-Obershelp, Refined NYSIIS, Refined Soundex, Soundex, Weighted Levenshtein).

prefixmap


I love functional programming.

delimited

Simple CSV IO for Scala. Read, write, validate, and transform. Do so line-by-line, all at once, or via streams.

function1.js

Function composition a la Scala's Function1.

truthy.js

Strong preference for monads and applicative functors over traditional control structures.


I love hardware and ops.

Hand crafted x86 Supermicro servers, deep knowledge of datacenter operations, codebase performance analysis, and load distribution strategies can reduce operational costs over services like AWS by at least two-thirds.
Leveraging Docker, FreeBSD, and Debian it is possible to create private clouds that are reliable, scalable, and performant. Hardware and networking done well, coupled with automation, can take this even further.
Combine solid *nix administration knowledge, Ansible deployment and migration automation, and treating everything immutably can reduce admin hours per week to just a few. Even with multiple racks of servers.

I love software stacks.

Clojure, Scala, and Haskell are my my go-to languages for machine learning, numerical computing and analysis, natural language processing, mapreduce, general backend, web apps, you name it.
Tools of the trade for polyglot persistence are Postgres, CouchDB, Titan, Neo4j, Cassandra, and Redis. Each storage system type lends itself to certain problems better than others, which leads to a mix being used on any sizable project.
Tapping into open source projects provides huge gains. Some of my favorites: Debian, FreeBSD, SmartOS, Nginx, Finagle, Kafka, Thrift, Netty, Akka, Scalatra, Git, and hundreds more on GitHub.