Here are the books that I have written. I write books so that everyone can learn from what I know and so that other people don't have to write them.
This book is about how we can approach building a frontend application using a combination of React, Next.JS, TypeScript, GraphQL, Apollo, and GraphQL Code Generator. These tools are a winning combination for a frontend stack.
Joy of Elixir is a gentle introduction to programming, aimed at people who already know some things about computers.
This book will teach you the core concepts of the Elixir programming language in a fun and enjoyable way. If you're completely new to programming and you want to learn how to make a computer do things using the power of programming and you want to experience some joy while doing it, then read this book.
This is the book I am currently writing.
Active Rails guides you through building a fully-featured Rails 6 application, teaching you best practices about Behaviour-Driven-Development along the way.
Multitenancy with Rails teaches you super neat tricks about Ruby, Rails and PostgreSQL while you build a multi-tenanted, Software as a Service, Ruby on Rails application. Works on Rails 4 and up.
This book is what I'd consider an "intermediate" Rails book. It's something that you would read after finishing Rails 4 in Action, so in a way Multitenancy is a sequel to Rails 4 in Action.
This book uses Twist -- an app I wrote from scratch -- as the basis for the work done in the book.
(This was my first foray into self-publishing. It went pretty well.)
Have you felt the pain of using Active Record on a large codebase? How about messy controllers? Read this short guide on how to improve a Rails application's structure by exploding its responsibilities into small classes with their own unique responsibilities. Starring rom-rb and dry-rb.
I wrote this book on the back of my near decade-long experience with Rails and it was a really fun experience to work out how to build a Rails app without Active Record. I hope others find it just as fun too. Maybe this book will start a movement?
The "Toy Robot Test" is a common interview exercise for new programmers. This short book will take you through how to implement it in Ruby in a BDD-style, with some great explanations and imagery along the way.
This book is designed to give people unfamiliar with testing an easy-going introduction to writing code from a test-first approach.
The "Toy Robot Test" is a common interview exercise for new programmers. This short book will take you through how to implement it in Elixir in a BDD-style, with some great explanations and imagery along the way.
This book is designed to give people unfamiliar with testing an easy-going introduction to writing Elixir code from a test-first approach.