Leadership
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.
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.
Robotics
DeepRacer
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.
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?
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.)
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!
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.
ROS
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:
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.
Simulation
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.
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.
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.
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.
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.
Supercharging VSCode with Tasks
In my previous articles, I showed you how I set up github pages and ros2 with vscode.
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.
VSCode and Docker
Lately, I’ve been experimenting with using Docker for all of my software development.