James Dabbs

Reason & React

@ Santa Barbara JavaScript Sep 2019

A short overview of ReasonML and ReasonReact.

Category Theory for the Working Programer

@ Santa Barbara JavaScript Jul 2019

Similar to a much older talk, but updated with what I’ve learned over the last 7 (!) years, and reframed for a JavaScript audience. Incidentally, if you’re looking for a nice exploration of monads in JS, I highly recommend James Sinclair’s blog post.

Refactoring Live: Primitive Obsession

@ RailsConf May 2019

Let’s roll up our sleeves and clean up some smelly code. In this session, we’ll dig in to Primitive Obsession - what happens when our domain logic is all wrapped up in primitive data types? And most importantly, how do we untangle it?


@ Nerd Nite May 2018

A Nerd Nite presentation.

We’ll examine Gödel’s Incompleteness Theorems and explore the gap between truth and proof. How can we prove that something is unprovable? And what happens when a mathematician becomes certain of the limits of his own certainty?


@ RubyConf Nov 2016

On functional and object composition and how they aren’t so different as you might think. From the abstract:

Our work as programmers consists largely of problem decomposition and solution recomposition. This talk is interested in how we cobble small units together into cohesive solutions. We’ll examine and compare both object and functional composition, using a Haskell-inspired, functional style of Ruby. Along the way, we’ll see how good functional principles can improve our object-oriented design, and vice versa.

Processes and Threads

@ RailsConf Apr 2015

A gentle introduction to processes and threads in Ruby, through the lens of Resque and Sidekiq. But really it’s about reading code.

Webdev in Haskell

@ Polyglot DC Apr 2015

An introduction to Yesod and exploring what’s possible with a Haskell-on-Rails-style development ethos.

Graphs: a Drunkard's Walk

@ Atlanta Intermediate Ruby Sep 2014

An intermediate Ruby Group talk on graphs and graph databases. Accompanied by this Rails project, but note that shortly after this talk, a neo4j 3.0 was released and is probably the preferred tool to use moving forward.

Search: Postgres and Elastic

@ Atlanta Intermediate Ruby

A fireside chat with Kylie Stradley on the use and relative merits of Postgres and ElasticSearch for full-text searching.

Using Background Workers

@ Atlanta Intermediate Ruby May 2014

An Intermediate Ruby Group talk on background workers, with accompanying blog in two parts and source code (later updated for Rails 4.2 and a talk at DCRUG).

Categories for the Working Programmer

@ Atlanta Ruby Group Sep 2013

They say every functional programmer has to write a monad tutorial. I am no exception. This is a talk from the Atlanta Ruby Group where I try to sell a room full of Rubyists on category theory.

An Intro to FFI

@ Atlanta Ruby Group Apr 2013

A brief introduction to Ruby’s ffi gem, with an example project using it to wrap the igraph library.