James Dabbs

Community, Building

@ American Institute of Mathematics Dec 2023

An informal talk at the American Institute of Mathematics on a software engineer’s perspective on building with humans, developer productivity, and the challenges of engineering in large sociotechnical systems.

Part of AIM’s “Open-source cyberinfrastructure supporting mathematics research” workshop [1,2]

Exploring Kubernetes

@ JavaScriptLA May 2021

The Kubernetes ecosystem has a ton of new ideas and exciting tools, but it can be daunting to know how to start digging in. This talk aims to provide some wayposts for your journey to explore Kubernetes. We’ll introduce some useful tools for inspecting and debugging and setting up a fast feedback loop, and we’ll try them out while developing a simple Kubernetes native Node.js application.

Ruby Rogues: Refactoring

@ devchat.tv Sep 2020

A conversation with the Ruby Rogues, covering refactoring, Haskell, learning, and the impossibility of knowing.

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.