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.
Rails 4 in Action guides you through building a fully-featured Rails 4 application, teaching you best practices about Behaviour-Driven-Development along the way.
Here's what some people have had to say about Rails 4 in Action:
"I used to be a real estate agent but then I read your book and now I'm a Rails developer!"
"Thanks for recommending the book (Rails 4 in Action). That book is amazing!"
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.)
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.
This book walks you through the initialization process and request cycle of the Rails framework itself. The idea came out of a lot of people calling Rails code "magic". This book seeks to demistify the "magic" of the Rails codebase and show that it's just real code that anyone is capable of understanding.
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.