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. »
Adding Mathjax to your (SBT-)Microsite
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 »
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 »
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 »
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& »
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 »
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 »
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 »
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; »
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 »
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/ »
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 »