# Dual Numbers and Automatic Differentiation

This literate essay develops an implementation of a type called Differential. A Differential is a generalization of a type called a ["dual number"](https://en.wikipedia.org/wiki/Dual_number), and the glowing, pulsing core of the SICMUtils implementation of forward-mode automatic differentiation. »

# How to Publish CLJSJS Jars to Clojars

I've been doing a lot of work in Clojurescript [https://github.com/littleredcomputer/sicmutils] lately, and the time finally came to pull in my first vanilla Javascript dependency [https://github.com/infusion/Complex.js/]. The default way to do this seems to be the CLJSJS project [http://cljsjs.github.io/ »

I'm obsessed with sbt-microsites [https://47deg.github.io/sbt-microsites/]. Sbt-microsites is a fantastic plugin for SBT (the Scala Build Tool) that makes it easy to generate a beautiful sidecar site for your software project, full of code checked by your CI! I recently built a microsite for ScalaRL [https://www. »

# Moving to Spacemacs for Scala and Python

I've just finished retooling my development environment, and the process was annoying enough that I thought I'd write it up here, for myself in the future, and for you in the present. tl;dr; I ended up porting my old Emacs config, based on the literate emacs24-starter-kit, over to Spacemacs, »

# Cascalog + Hadoop Counters, Finally!

I've just merged a Cascalog pull request of mine [https://github.com/nathanmarz/cascalog/pull/270] that gives Cascalog operations access to the statistics that Cascading generates at the end of each job. I've also added global inc! and inc-by! functions that let you increment custom Hadoop counters from within »

# Cascalog 2.0 In Depth

Cascalog 2.0 has been out for over a year now, and outside of a post to the mailing list [https://groups.google.com/d/topic/cascalog-user/F8EkFM7HiE0/discussion] and a talk at Clojure/Conj 2013 [https://www.youtube.com/watch?v%3DuuJW3EaN_3Q] ( slides here [https://speakerdeck.com/sritchie/ »

# Hardcore Cascalog: Dynamic Queries

A little side note before I get started - pivoting from my last post on ski mountaineering racing [http://www.samritchie.io/skimo-racing/] to this post on advanced Cascalog [https://github.com/nathanmarz/cascalog] patterns has made me realize that I'm a full-fledged connoisseur of the esoteric. I'm embracing it! »

# API Authentication with Liberator and Friend

I've just finished rewriting a number of PaddleGuru [https://paddleguru.com]'s internal APIs using two great open-source libraries; Liberator [http://clojure-liberator.github.io/liberator/] and Friend [https://github.com/cemerick/friend]. Liberator is a library for writing RESTful resources in Clojure. Friend is an authorization and authentication library written »

# Upcoming Talks in 2013

This is the year I teach myself to become a better public speaker. I've spent the past year coding up a number of powerful Scala and Clojure projects [http://sritchie.github.io/projects/], all the while avoiding the important and difficult work of teaching and writing about the import and »

# Cascalog Testing 2.0

A few months ago I announced Midje-Cascalog [http://sritchie.github.com/2011/09/30/testing-cascalog-with-midje.html], my layer of Midje testing macros over the Cascalog MapReduce DSL. These allow you to write tests for your Cascalog jobs in a style that mimics Cascalog's own query execution syntax. In this post »

# Introducing Cascalog-Contrib

I've had the pleasure of working with Cascalog [https://github.com/nathanmarz/cascalog] for about ten months now, and have seen the community produce some fantastic work. A number of businesses [https://www.assembla.com/spaces/cascalog/wiki/Who's_using_Cascalog] are using Cascalog in production; I use Cascalog at »

# Testing Cascalog with Midje

I've been working on a Cascalog testing suite these past few weeks, an extension to Brian Marick's Midje [https://github.com/marick/Midje], that eases much of the pain of testing MapReduce workflows. I think a lot of the dull work we see in the Hadoop community is a direct »

# Getting Creative with MapReduce

One problem with many existing MapReduce abstraction layers is the utter difficulty of testing queries and workflows. End-to-end tests are maddening to craft in vanilla Hadoop and frustrating at best in Pig and Hive. The difficulty of testing MapReduce workflows makes it scary to change code, and destroys your desire »

# Cascalog 1.8.1 Released

Nathan Marz [http://nathanmarz.com/] and I are releasing Cascalog 1.8.1 today! We've added a few interesting features, and I thought I'd provide a bit more detail here for anyone interested. Cross Join cascalog.api now includes support for cross-joins [http://en.wikipedia.org/wiki/Join_(SQL)#Cross_ »

# Haskell in Emacs

I spent some time today getting my emacs config set up to learn Haskell, and ran into a few issues; I figured I'd go ahead and document the process here for everyone's enjoyment. We're going to install and configure Haskell mode, then add a few extensions that'll make learning Haskell »