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
»