Writing
In roughly reverse chronological order, here are some things I’ve written over the years.
Books
JavaScript Crash Course
Coming in 2024! This is my second book for No Starch Press. I can’t wait for everyone to see it. This book took me way longer to write than the first one due to having kids and being hit by a global pandemic, but I’m really pleased with how it came out, eventually.
The book is structured as a quick (but thorough) intro to the language, followed by three projects: creating a game (using the canvas element), making music (using Tone.js), and fetching and graphing data (using D3). I had a lot of fun making these projects, especially the music one. All the code from the book is on codepen.io, and the music project is here.
JavaScript Crash Course: No Starch Press
JavaScript for Kids
My first book for No Starch Press, published in 2014. This book came about when my friend Angus Croll, author of If Hemingway Wrote JavaScript for No Starch, suggested to Bill Pollock that I write the JavaScript followup to their popular Python for Kids book.
The book is primarily aimed at kids, but I was surprised by how many reviews it got from adults saying that it was the first time they’d been able to pick up programming from a book.
My favorite quote from a review by GeekDad:
“I’ve fallen in love with a book. Like fallen head-over-heels, carry-it-all-around-town, sneak-in-pages-whenever-I-can in love. The real deal.”
JavaScript for Kids: No Starch Press
Ebooks
Easy Forth
Back in 2015 I wanted to learn Forth, so I decided to write an ebook to teach it, because I often find teaching something is the best way to learn it. It also gave me the excuse to write my own Forth interpreter, which is used in the book to let readers write and execute code while they’re reading.
The book ends with a full implementation of the game Snake, as I did with Easy 6502 and JavaScript for Kids!
https://skilldrick.github.io/easyforth
Easy 6502
In 2012 I started learning 6502 assembly language as an academic exercise. I found that most of the materials out there for learning the language were lacking, and required installing ancient software. Easy 6502 started out as a series of unpublished blogs on my website but I realized that it was going to be bigger than that and deserved its own site. I also decided that the book should have an embedded assembler/runtime, so I found an existing JavaScript 6502 assembler and adapted it for my needs.
As with several of my other projects, the book culminated in a playable Snake game. It was a fun project to write, and showed just how little code you need to create a simple game.
Easy 6502 was very popular, earning the top spot on Hacker News more than once, and has even made its way into some computer science curriculums. Possibly my proudest moment in programming was when John Romero, co-creator of Doom, linked to it in response to somebody saying they wanted to learn 6502:
@Arc0re_1 : be my guest...... https://t.co/PlTAAQhDQr
— John Romero 🤘🏽 (@romero) March 30, 2016