My Values

Having personal values is like having a trusty compass that guides me through all the ups and downs of life. It’s the things I believe in that shape how I act and make decisions, and it gives my life a sense of purpose and meaning. Even when things get tough, my values give me the clarity and confidence I need to stay true to myself.

Dec 29, 2022

Creating a Culture of Documentation

Documentation is one of those things that often gets overlooked. After all, it’s not strictly required for your code to run! But there is a great amount of value to be gained by creating a culture of documentation. I’m not talking about the “low quality” documentation that insists on simply re-writing in prose the name of the variable.

Nov 22, 2020



Running the DeepRacer with ROS2

At one point I thought that I would do all new development in the next generation of OSRF software (ROS2 and Ignition). Porting the DeepRacer to use ROS2 may be an exercise in futility, but I thought it might be fun to find out just how painful it is to run a mixed ROS/ROS2 environment.

Mar 14, 2020

Running the gamepad onboard the DeepRacer

After I hooked up a gamepad through ROS to the DeepRacer, the next step was to get it loaded directly onto the DeepRacer. Because what good is a remote control for an RC car if you need to set up a laptop to use it?

Jan 25, 2020

Controlling the DeepRacer with a gamepad

The first thing I wanted to do when I got my DeepRacer was to drive it around. It comes with a web interface where you can run it in “manual” mode, but I wanted to use a gamepad controller. (By default the web interface is only controllable via mouse.)

Dec 29, 2019

Digging into ROS on the DeepRacer

So you have a DeepRacer, and you want to learn more about the software that’s on it, read on!

Dec 29, 2019

Unboxing the AWS Deep Racer

It arrived!

I pre-ordered the AWS DeepRacer months ago in anticipation of getting my hands dirty both with AWS and ML. But it was delayed.

Dec 29, 2019


Bridging ROS and ROS2

Running the ros1_bridge in a custom environment is tricky, and required me to make a patch to complete. Here’s what I learned:

Mar 14, 2020

VSCode, Docker, and ROS2

I started out playing with ROS2 by using a docker container. It was a fast and easy way for me to try out ROS2. As an avid user of ROS, I naturally wanted to keep up with the new changes being made. However, it can be difficult to set up, especially for new users. This guide is intended to be used by people that are familiar with coding and software development, but maybe not ROS.

Dec 29, 2019


Ignition vs Gazebo

Since Gazebo 11 will be the last major version I thought I’d test the replacement Ignition. There’s a handy comparison chart with feature comparisons between the two programs.

Sep 22, 2020

Software Development

Integration Testing

Integration testing is a crucial part of ensuring the smooth operation of complex software systems. Instead of focusing on individual parts, integration tests examine how different components, like classes, modules, binaries, systems, or even entire products, work together.

Dec 09, 2023

Git Style Guide

Git is a powerful and flexible version control system (VCS) for your code. There are several strategies you can employ to add, maintain, and modify your code. This doc explains my currently preferred git style and justifications for it.

Jan 15, 2023

VSCode Tasks Problem Matchers

If you use VSCode tasks, you’ll probably be familiar with the warning that’s reported in the command palette if you haven’t specified a “problem matcher” for your task.

Sep 14, 2020

Setting Up a Local Docker Registry

After you’ve been developing your code using docker there will inevitably come a time when you’d like to share your workspace (code and all!) with someone else or put it on another computer.

May 27, 2020

Supercharging VSCode with Tasks

In my previous articles, I showed you how I set up github pages and ros2 with vscode.

Dec 29, 2019

VSCode, Docker, and Github Pages

As a casual user of GitHub Pages, I find that I continually have to remember how I set up the development environment so I can edit my website. There’s nothing worse than losing hours to configuration nightmares on coding that is supposed to be fun. And since I use docker and vscode, it was a pretty easy decision to try to put my website workspace into a container.

Dec 29, 2019

VSCode and Docker

Lately, I’ve been experimenting with using Docker for all of my software development.

Dec 29, 2019