Programming
JavaScript Space Invaders Tutorial Series
This is a JavaScript game tutorial that actually teaches you how to build a usable game engine. It is a simple enough example to not be overwhelming to beginners and yet still show all the elements that make a game engine. After finishing this series, you will be able to build on this foundation to create any style of game you want.
- Jan 2019 JavaScript Game Tutorial - Space Invaders Part 8 - Events and Audio
- Dec 2018 JavaScript Game Tutorial - Space Invaders Part 7 - 3D Renderer
- Nov 2018 JavaScript Game Tutorial - Space Invaders Part 6 - Optimization
- Jul 2018 JavaScript Game Tutorial - Space Invaders Part 5 - Sprites and Polish
- Jul 2018 JavaScript Game Tutorial - Space Invaders Part 4 - Collision Detection
- Jul 2018 JavaScript Game Tutorial - Space Invaders Part 3 - Enemy Behavior
- Jul 2018 JavaScript Game Tutorial - Space Invaders Part 2 - User Input
- Jun 2018 JavaScript Game Tutorial - Space Invaders Part 1 - Introduction
- May 2018 Beginner JavaScript Game Tutorial For Professional Use
Web Development
Most of my recent work has been focused on Web-based technologies.
- Jun 2019 PouchDB: An Introductory Tutorial
- May 2019 Visual Studio Code Template: Webpack, Babel, Express Server and Client
- Jan 2019 Web Audio: An Introductory Tutorial
- Nov 2018 Three.js: An Introductory Tutorial
- Oct 2018 Web 3D Graphics Programming for Beginners
- Sep 2018 Writing High Performance JavaScript with Web Workers
- May 2018 JavaScript Classes Quick Reference
Objective-C
I spent a lot of time programming in Mac OS X and I really like the Objective-C language, but it is clearly being phased out in favor of Swift, so I don't get to do much work in it anymore.
- Nov 2012 How to Make a Core Animation Layer Not Clickable
- Nov 2012 Cocoa Bindings to a CALayer position's values
- Jul 2012 cURL in Mac OS X
- Jun 2012 Importing Data into Core Data on a Background Queue
- Jun 2012 Using Cocoa Bindings with NSTableView and NSDictionaryController
- May 2012 Application Resume on Mac OS X Lion
AppleScript
AppleScript is one of the unsung heroes of the Mac experience. It is a great tool for automating repetitive tasks. You can do surprisingly complex things, as seen in several of the AppleScripts I have created over the years.
Gaming
Vanilla World of Warcraft
I played the original World of Warcraft at its release. There has been continued interest in this version of the game with private servers and the official release of World of Warcraft Classic, so I have been putting together some of the tips and tricks I learned over the years to help others get started.
- Jun 2018 The Best Control Scheme for World of Warcraft
- Jun 2018 Leveling a Hunter in Vanilla World of Warcraft
- Aug 2018 Vanilla World of Warcraft Addon Guide
- Sep 2019 World of Warcraft: Classic Addon Guide
- Oct 2019 How to Buy Your Mount at 40 - Vanilla World of Warcraft
- Apr 2019 World of Warcraft Single Player Server Quick Start Guide
- Apr 2019 World of Warcraft Single Player Server Advanced Settings
- Apr 2019 World of Warcraft Single Player Server Bot Control
- May 2020 World of Warcraft Single Player Server GM Commands
- Mar 2018 Custom Hunter Macros for Vanilla World of Warcraft
- Dec 2018 Custom Druid Macros for Vanilla World of Warcraft
- May 2019 Custom Paladin Macros for Vanilla World of Warcraft
- Jun 2019 Custom Mage Macros for Vanilla World of Warcraft
- Sep 2019 Custom Hunter Macros for World of Warcraft: Classic
- Sep 2019 Custom Priest Macros for Vanilla World of Warcraft
- Sep 2019 Custom Rogue Macros for Vanilla World of Warcraft
- Sep 2019 Custom Warlock Macros for Vanilla World of Warcraft
- Sep 2019 Custom Druid Macros for World of Warcraft: Classic
- Sep 2019 Custom Warlock Macros for World of Warcraft: Classic
- Sep 2019 Custom Priest Macros for World of Warcraft: Classic
- Oct 2019 Custom Mage Macros for World of Warcraft: Classic
- Jan 2020 Custom Paladin Macros for World of Warcraft: Classic
- Feb 2020 Custom Rogue Macros for World of Warcraft: Classic
Game Design
Building game engines is a very different task than actually designing games. It can be helpful to really analyze games that you play in terms of pure game design, to see what works and what doesn't when you want to create your own game. Building on what others have done and learn from their mistakes.
Gaming
- Oct 2020 Is Kinguin Legit? So Far, So Good
- Apr 2020 Final Assault Strategy Guide
- Jan 2020 Diablo + Hellfire Modding Guide
- Jan 2019 RecRoom Paintball Tips and Tricks
- Jun 2016 Original Myst on Modern Macs
Thrustmaster TMX / T150 Settings
- Feb 2021 Best DIRT 5 Wheel Settings for Thrustmaster TMX / T150
- Dec 2020 Best rFactor 2 Wheel Settings for Thrustmaster TMX / T150
- Dec 2020 Best Assetto Corsa Competizione Wheel Settings for Thrustmaster TMX / T150
- Nov 2020 Best F1 2020 Wheel Settings for Thrustmaster TMX / T150
- Oct 2020 Best Forza Motorsport 7 Wheel Settings for Thrustmaster TMX / T150
- Sep 2020 Best WRC 9 Wheel Settings for Thrustmaster TMX / T150
- Aug 2020 Best Forza Horizon 4 Wheel Settings for Thrustmaster TMX / T150
- Jul 2020 Best RaceRoom Racing Experience Wheel Settings for Thrustmaster TMX / T150
- Jul 2020 Best Project CARS 2 Wheel Settings for Thrustmaster TMX / T150
- Jul 2020 Best Project CARS Wheel Settings for Thrustmaster TMX / T150
- Jul 2020 Best WRC 8 Wheel Settings for Thrustmaster TMX / T150
- Jul 2020 Best WRC 7 Wheel Settings for Thrustmaster TMX / T150
- Jul 2020 Best F1 2019 Wheel Settings for Thrustmaster TMX / T150
- Jun 2020 Best F1 2018 Wheel Settings for Thrustmaster TMX / T150
- Jun 2020 Best NASCAR Heat 4 Wheel Settings for Thrustmaster TMX / T150
- Jun 2020 Best F1 2015 Wheel Settings for Thrustmaster TMX / T150
- Jun 2020 Best VRally 4 Wheel Settings for Thrustmaster TMX / T150
- Jun 2020 Best DiRT 4 Wheel Settings for Thrustmaster TMX / T150
- Jun 2020 Best DiRT 3 Wheel Settings for Thrustmaster TMX / T150
- Jun 2020 Best F1 2012 Wheel Settings for Thrustmaster TMX / T150
- Jun 2020 Best GRID 2019 Wheel Settings for Thrustmaster TMX / T150
- Jun 2020 Best GRID Autosport Wheel Settings for Thrustmaster TMX / T150
- Jun 2020 Best GRID 2 Wheel Settings for Thrustmaster TMX / T150
- Jun 2020 Best Race Driver: GRID Wheel Settings for Thrustmaster TMX / T150
- Mar 2020 Best Dirt Rally 2.0 Wheel Settings for Thrustmaster TMX / T150
- Apr 2019 Best Assetto Corsa Wheel Settings for Thrustmaster TMX / T150
- Jan 2019 Best Dirt Rally Wheel Settings for Thrustmaster TMX / T150
Virtual Reality
- Jan 2021 How To Run DiRT 3 in VR Using VorpX
- Nov 2020 How to Run F1 2020 in VR Using VorpX
- Sep 2020 How to Run Burnout Paradise in VR Using VorpX
- Aug 2020 How to Run NASCAR Heat 4 in VR Using VorpX
- Aug 2020 How to Run F1 2019 in VR Using VorpX
- Aug 2020 How to Run F1 2018 in VR Using VorpX
- Aug 2020 How to Run F1 2012 in VR Using VorpX
- Jul 2020 How to Run Race Driver: GRID in VR Using VorpX
- Jul 2020 How To Run DiRT 4 in VR Using VorpX
- Nov 2019 How to Run Doom in Virtual Reality
- Jul 2019 Trying Every Myst Game in Virtual Reality
- Apr 2019 How to Run Fallout: New Vegas in VR Using VorpX
- Mar 2019 Should You Buy VorpX?
General Technology
Tech Tips
I have learned all kinds of tips and tricks over the years.
- Dec 2019 How To Download a YouTube Channel or Playlist
- Oct 2019 How to Download Twitch Videos Using Free Software
- Feb 2019 Using rsync to Copy Folders Between Macs
- Nov 2018 How to Scan Slides at Archival Quality
- Aug 2018 Visual Studio Code Settings and Extensions Migration
- Apr 2018 LibreOffice Calc: Export All Sheets to CSV
- Jul 2014 Use Hazel to Unzip Lots of Zip Files
- Jul 2014 Convert WavPack (WV) files using XLD on Mac OS X
- Oct 2012 CrashPlan Software Crashing
- Sep 2012 Mountain Lion Notification Center and Remember the Milk tasks
- Sep 2012 iPhoto '11 Smart Album Trick
- May 2012 Using Hazel and Automator to Scan Photographs