Presentations

Building With a Software Factory

November 2026 · Launch Fishers
You already have a software factory: whatever turns ideas and bugs into shipped software. How to find where work piles up, and what's helped me at each stage, from agent hooks and AI review to merge queues.
Title slide Software factory spectrum Review pile Merged PRs per month

How to Make Your Coding Agents Do the Right Thing (More Often)

March 2026
Quality gates for AI-assisted software development — agent hooks, auto-fix linters, pre-commit hooks, CI, custom lint rules, and stop hooks.
Title slide Quality gates diagram Hook output examples Stop hooks

AI-Assisted Software Engineering

June 2025
A tour of AI coding tools as of mid-2025, how I kept an agent on track with Cursor rules and requirements files, and what I'd used it for, from one-off scripts to Rails upgrades.
Title slide Timeline of AI coding tools Basic algorithm Vibes, rules, linters, tests and types

Learn How to Learn AWS

April 2018 · Indy AWS
Why AWS is worth learning, why it's hard to learn (it's wide, deep and changes fast), and how to make a learning plan using certifications, video courses and meetups.
Title slide Wide and deep Certification roadmap Formulate a plan

Cumulative Flow Diagram Analysis

March 2016
Queues, Little's Law and work in process, and how to read a cumulative flow diagram to see where work is waiting.
Title slide Little's Law Interpreting CFD slices Reading a real CFD

Testing MEAN Apps With JavaScript

March 2015 · Indy.js
Why (and why not) to write developer tests, and how to test Mongo, Express, Angular and Node code with Mocha, Sinon, Karma and Protractor.
Title slide Why test? Mocha BDD interface Sinon.js stubs

Testing File Operations in Ruby

June 2012 · Indy.rb
Ways to test code that touches the file system: rolling your own mocks, MockFS and FakeFS, with the pros and cons of each.
Title slide Why test file operations? FakeFS example FakeFS pros and cons

RR for Test Doubles

January 2012 · Indy.rb
Concise mocking and stubbing in Ruby with RR (Double Ruby), with examples from a real app.
Title slide Terse syntax My examples Stubbing time for cron

Making Recommendations with Apache Mahout

September 2011
How I built a deal recommender with Apache Mahout's Slope One algorithm, and how Mahout can run on Hadoop.
Title slide Collaborative filtering My general solution Architecture