Publications
I am an active author and technical editor. I've written 10 full-length technical books, edited others, and written several smaller technical articles.Books I've written
I have written several books about software developemnt, web development, and tooling. I love writing and creating material that helps people get better at what they do.
tmux 3: Productive Mouse-Free Development (2025)
ISBN: 9798888651315 - ISBN-13: 979-8888651315
Your mouse is slowing you down. You’re juggling multiple terminal windows, development tools, or shell sessions, and the context switching is eating away at your productivity. Take control of your environment with tmux, a keyboard-driven terminal multiplexer that you can tailor to your workflow. With this updated third edition for tmux 3, you’ll customize, script, and leverage tmux’s unique abilities to craft a productive terminal environment that lets you keep your fingers on your keyboard’s home row.
Build Websites with Hugo: Fast Web Development with Markdown (2020)
ISBN: 1680507265 - ISBN-13: 978-1680507263
Rediscover how fun web development can be with Hugo, the static site generator and web framework that lets you build content sites quickly using the skills you already have. Design layouts with HTML and share common components across pages. Create Markdown templates that let you create new content quickly. Consume and generate JSON, enhance layouts with logic, and generate a site that works on any platform with no runtime dependencies or database. Hugo gives you everything you need to build your next content site and have fun doing it.
Small Sharp Software Tools (2019)
ISBN: 1680502964 - ISBN-13: 978-1680502961
The command-line interface is making a comeback. That’s because developers know that all the best features of your operating system are hidden behind a user interface designed to help average people use the computer. But you’re not the average user, and the CLI is the most efficient way to get work done fast. Turn tedious chores into quick tasks: read and write files, manage complex directory hierarchies, perform network diagnostics, download files, work with APIs, and combine individual programs to create your own workflows. Put down that mouse, open the CLI, and take control of your software development environment.
tmux 2: Productive Mouse-free Development (2016)
ISBN: 9781680502213 - ISBN-13: 978-1680502213
Your mouse is slowing you down. The time you spend context switching between your editor and your consoles eats away at your productivity. Take control of your environment with tmux, a terminal multiplexer that you can tailor to your workflow. With this updated second edition for tmux 2.3, you’ll customize, script, and leverage tmux’s unique abilities to craft a productive terminal environment that lets you keep your fingers on your keyboard’s home row.
This book is out of print
Exercises for Programmers (2015)
ISBN: 1680501224 - ISBN-13: 978-1680501223
When you write software, you need to be at the top of your game. Great programmers practice to keep their skills sharp. Get sharp and stay sharp with more than fifty practice exercises rooted in real-world scenarios. If you're a new programmer, these challenges will help you learn what you need to break into the field, and if you're a seasoned pro, you can use these exercises to learn that hot new language for your next gig.
Web Development Recipes Second Edition (2015)
ISBN: 1680500562 - ISBN-13: 978-1680500561
Modern web development is so much more than just HTML and CSS with a little JavaScript mixed in. People want faster, more usable interfaces that work on multiple devices, and you need the latest tools and techniques to make that happen. This book gives you over 40 concise solutions to today's web development problems, and introduces new solutions that will expand your skill set with proven, practical advice from authors who use these tools and techniques every day. In this completely updated edition, you'll find innovative new techniques and workflows, as well as reworked solutions that take advantage of new developments.
Automate with Grunt (2014)
ISBN: 9781941222119 - ISBN-13: 978-1941222119
Grunt is everywhere. JavaScript projects from jQuery to Twitter Bootstrap use Grunt to convert code, run tests, and produce distributions for production. It's a build tool in the spirit of Make and Rake, but written with modern apps in mind. This book gets you up to speed with Grunt using practical hands-on examples, so you can wrangle your projects with ease. You'll learn how to create and maintain tasks and project builds, and automate your workflow with plugins and custom tasks.
HTML5 and CSS3: Level Up with Today's Web Technologies (2013)
ISBN: 9781937785598 - ISBN-13: 978-1937785598
HTML5 and CSS3 are more than just buzzwordstheyre the foundation for today's web applications. This book gets you up to speed on the HTML5 elements and CSS3 features you can use right now in your current projects, with backwards compatible solutions that ensure that you don't leave users of older browsers behind. This new edition covers even more new features, including CSS animations, IndexedDB, and client-side validations.
tmux: Productive Mouse-free Development (2013)
ISBN: 1934356964 - ISBN-13: 978-1934356968
Your mouse is slowing you down. The time you spend context switching between your editor and your consoles eats away at your productivity. Take control of your environment with tmux, a terminal multiplexer that you can tailor to your workflow. Learn how to customize, script, and leverage tmux's unique abilities and keep your fingers on your keyboard's home row.
This book is out of print
Web Development Recipes (2012)
ISBN: 1934356832 - ISBN-13: 978-1934356838
Modern web development takes more than just HTML and CSS with a little JavaScript mixed in. Clients want more responsive sites with faster interfaces that work on multiple devices, and you need the latest tools and techniques to make that happen. This book gives you more than 40 concise, tried-and-true solutions to today’s web development problems, and introduces new workflows that will expand your skillset.
This book is out of print
HTML5 and CSS3: Develop with Tomorrow's Standards Today (2010)
ISBN: 1934356689 - ISBN-13: 978-1934356685
HTML5 and CSS3 are the future of web development, but you don’t have to wait to start using them. Even though the specification is still in development, many modern browsers and mobile devices already support HTML5 and CSS3. This book gets you up to speed on the new HTML5 elements and CSS3 features you can use right now, and backwards compatible solutions ensure that you don’t leave users of older browsers behind.
This book is out of print
Web Design for Develppers (2009)
ISBN: 1934356131 - ISBN-13: 978-1934356135
Web Design for Developers will show you how to make your web-based application look professionally designed. We’ll help you learn how to pick the right colors and fonts, avoid costly interface and accessibility mistakes—your application will really come alive. We’ll also walk you through some common Photoshop and CSS techniques and work through a web site redesign, taking a new design from concept all the way to implementation.
This book is out of print
Deploying Rails Applications (Contributing Author) (2008)
ISBN: 0978739205 - ISBN-13: 978-0978739201
Until now, the information you needed to deploy a Ruby on Rails application in a production environment has been fragmented and contradictory. This book changes all of that by providing consistent, levelheaded advice you can trust. You’ll get the inside angle from those that have built, deployed, and maintained some of the largest Rails apps in production, anywhere.
This book is out of print
Articles I've written
I've written articles for web sites and online publications.
- How To Build and Deploy a Hugo Site to DigitalOcean App Platform
DigitalOcean Community - 2020-10-12 - How To Install and Use Homebrew on macOS
DigitalOcean Community - 2020-10-08 - How To Install and Use Docker on Ubuntu 20.04
DigitalOcean Community - 2020-06-09 - Using Grep & Regular Expressions to Search for Text Patterns in Linux
DigitalOcean Community - 2020-06-05 - How To Use Terraform with DigitalOcean
DigitalOcean Community - 2020-06-05 - How To Use the AWK language to Manipulate Text in Linux
DigitalOcean Community - 2020-05-26 - Intermediate Sed: Manipulating Streams of Text in a Linux Environment
DigitalOcean Community - 2020-05-19 - The Basics of Using the Sed Stream Editor to Manipulate Text in Linux
DigitalOcean Community - 2020-06-05 - How To Install Docker Compose on Debian 10
DigitalOcean Community - 2020-01-29 - How to Install Node.js and Create a Local Development Environment on macOS
DigitalOcean Community - 2019-11-01 - How To Provision and Manage Remote Docker Hosts with Docker Machine on Ubuntu 18.04
DigitalOcean Community - 2018-09-14 - How To Install Linux, Nginx, MySQL, PHP (LEMP stack) on Debian 9
DigitalOcean Community - 2018-09-13 - How to Install Hadoop in Stand-Alone Mode on Debian 9
DigitalOcean Community - 2018-09-07 - How To Rewrite URLs with mod_rewrite for Apache on Debian 9
DigitalOcean Community - 2018-09-07 - How to Install and Use Composer on Debian 9
DigitalOcean Community - 2018-09-07 - How To Install Java with Apt on Debian 9
DigitalOcean Community - 2018-09-07 - How to Install and Configure VNC on Debian 9
DigitalOcean Community - 2018-09-05 - How To Install Ruby on Rails with rbenv on Ubuntu 18.04
DigitalOcean Community - 2018-07-13 - How to Rewrite URLs with mod_rewrite for Apache on Ubuntu 18.04
DigitalOcean Community - 2018-07-12 - How To Install and Use Composer on Ubuntu 18.04
DigitalOcean Community - 2018-07-11 - How to Install and Configure VNC on Ubuntu 18.04
DigitalOcean Community - 2018-07-09 - How To Set Up Nginx with HTTP/2 Support on Ubuntu 18.04
DigitalOcean Community - 2018-07-09 - How To Install and Use Docker on Ubuntu 18.04
DigitalOcean Community - 2018-09-07 - How To Use IRB to Explore Ruby
DigitalOcean Community - 2017-10-26 - How To Work with String Methods in Ruby
DigitalOcean Community - 2017-10-15 - How To Use Array Methods in Ruby
DigitalOcean Community - 2017-10-13 - Understanding Data Types in Ruby
DigitalOcean Community - 2017-10-06 - How To Work with Arrays in Ruby
DigitalOcean Community - 2017-10-06 - How To Convert Data Types in Ruby
DigitalOcean Community - 2017-10-08 - How to Use Comments in Ruby
DigitalOcean Community - 2017-09-28 - How To Work with Strings in Ruby
DigitalOcean Community - 2017-07-24 - How To Install Ruby and Set Up a Local Programming Environment on Windows 10
DigitalOcean Community - 2017-07-10 - How to Write Your First Ruby Progrm
DigitalOcean Community - 2017-06-30 - How To Install Ruby and Set Up a Local Programming Environment on macOS
DigitalOcean Community - 2017-06-30 - How To Install Ruby and Set Up a Local Programming Environment on Ubuntu 16.04
DigitalOcean Community - 2017-06-30 - How To Install and Configure Ghost on Ubuntu 16.04
DigitalOcean Community - 2017-09-07 - How to Install MongoDB on Debian 8
DigitalOcean Community - 2017-02-28
Books I've edited
In addition to writing, I'm also a developmental editor. I've worked on the following books:
- Powerful Command-Line Applications in Go by Ricardo Gerardi (2021)
ISBN: 168050696X - ISBN-13: 978-1680506969 - The Ray Tracer Challenge by Jamis Buck (2019)
ISBN: 1680502719 - ISBN-13: 978-1680502718 - Mastering Ruby Closures by Benjamin Tan Wei Hao (2017)
ISBN: 1680502611 - ISBN-13: 978-1680502619 - React for Real by Ludovico Fischer (2017)
ISBN: 1680502638 - ISBN-13: 978-1680502633 - Deploying JRuby 9k by Joe Kutner (2016)
ISBN: 1680501690 - ISBN-13: 978-1680501698 - Learn Game Programming with Ruby by Mark Sobkowicz (2015)
ISBN: 1680500732 - ISBN-13: 978-1680500738 - Fire in the Valley by Michael Swaine and Paul Frieberger (2014)
ISBN: 1937785769 - ISBN-13: 978-1937785765 - Learn to Program with Minecraft Plugins - Second Edition by Andrew Hunt (2014)
ISBN: 1941222943 - ISBN-13: 978-1941222942 - Learn to Program with Minecraft Plugins by Andrew Hunt (2014)
ISBN: 1937785785 - ISBN-13: 978-1937785789 - Remote Pairing by Joe Kutner (2013)
ISBN: 9781937785598 - ISBN-13: 978-1937785741 - Crafting Rails 4 Applications by José Valim (2013)
ISBN: 1937785556 - ISBN-13: 978-1937785550 - The Healthy Programmer by Joe Kutner (2013)
ISBN: 1937785319 - ISBN-13: 978-1937785314 - Programming Groovy 2 by Venkat Subramaniam (2013)
ISBN: 9781937785307 - ISBN-13: 978-1937785307 - iOS SDK Development by Chris Adamson and Bill Dudney (2012)
ISBN: 1934356948 - ISBN-13: 978-1934356944 - Deploying with JRuby by Joe Kutner (2012)
ISBN: 1934356972 - ISBN-13: 978-1934356975 - Deploying Rails by Tom Copland and Anthony Burns (2012)
ISBN: 1934356956 - ISBN-13: 978-1934356951 - The Rails View by Bruce Williams and John Athayde (2012)
ISBN: 1934356956 - ISBN-13: 978-1934356876 - The Developer's Code by Ka Wei Cheung (2012)
ISBN: 1934356794 - ISBN-13: 978-1934356791 - Crafting Rails Applications by José Valim (2011)
ISBN: 1934356735 - ISBN-13: 978-1934356739 - Programming Concurrency on the JVM by Venkat Subramaniam (2011)
ISBN: 193435676X - ISBN-13: 978-1934356760