Blog
Cuboid Inertia: Shells, Wireframes, Vertices
The inertia matrix for cuboids with some different mass distributions.
Confidence Intervals for Wishart Random Matrices
Algorithms to compute the probability that a Wishart-distributed matrix lies within an interval.
Inertia Tensor of an Ellipsoidal Shell
Derivation of the inertia tensor for an ellipsoidal shell.
New Features in pyb_utils
Some new features in pyb_utils to make working with PyBullet even easier: rigid body construction, named tuples, and quaternion utilities.
Collision Detection in PyBullet
How to compute the shortest distances between objects in PyBullet for arbitrary robot configurations.
Cut, Copy, and Paste Files from the Command Line
Conveniently cut, copy, and paste files between directories without leaving the terminal.
Implementing Lagrangian Mechanics Three Ways
A tutorial on computing the dynamics of a robot using manual, automatic, and symbolic differentiation.
A safer rm
Safer alternatives to the venerable rm command line utility.
Quirks in qpOASES
A few issues I've run into using the quadratic programming solver qpOASES, and how to solve them.
vim: highlight match under cursor
A simple vim plugin to highlight the occurrence of the search pattern currently under the cursor.
SSH: agent key RSA returned incorrect signature type
Background on and resolution of the SSH error agent key RSA returned incorrect signature type.
j, a directory navigation tool
A bit about my directory nagivation tool j and what I learned developing it.
Missing Ligatures and How to Find Them
Examination of the occurence of ligatures in English and the ability to restore them when missing.
A Non-Comprehensive List of Curses
An overview of some curses I found interesting.
Spoilers and Metadata
How does a book's metadata create spoilers, and do those spoilers influence my enjoyment of the book?
Capstone: Lessons Learned
Lessons learned from my fourth-year engineering Capstone project.
Capstone: The Journey Thus Far
Just over halfway through the Capstone Design Project of my final year of undergraduate engineering. This is the story so far.
The San Francisco Coffee Crawl
The story of the day I decided to try six (it ended up being seven) different coffee shops in San Francisco.
Ctrl-P in the Terminal with fzf
Extend fzf to automatically change directories and open files when selected.
View and Clone a Git Repo with the Same URL using Nginx
Set up nginx to use the same URL to view a git repository on the web and to clone the repository over HTTPS.
Duration Anxiety
The anxiety that arises from an activity's duration, which serves to increase the duration and leads to more anxiety.
Local Help
Instead of jumping right to Google and Stack Overflow, give your local machine a chance.
Why zsh?
I recently switched to zsh from bash. Here I explain a few reasons why.
fzf, vi-mode, and fixing delays
The fzf fuzzy-finder tool was only appearing for me after an annoying delay. Here I've documented how I fixed the problem.
Bash Tricks I Like #3
Always have access to the current git branch.
Bash Tricks I Like #2
Identify all of the colours in your terminal.
Why I Favour the Night
In defense of those whose productivity doesn't wane even after the sun goes down.
A Simple Git Workflow
Guidelines to using git with a team.
Why I Dislike Time-based Tasks
Many tasks suffer because they are performed for a certain amount of time rather than given a certain amount of effort. Don't do this.
Bash Tricks I Like #1
An easy and elegant alias for moving up directories.
A Tree-based Approach to Mathematical Functions
Modelling and evaluating mathematical functions using trees.
Anagram Sort
If you want to sort strings such that all anagrams fall next to each other, how do you do it?
Do More, Plan Less
It's easy to be disappointed when you don't live up to all of your wonderful plans. So stop just planning them and start doing them!
Let's Talk String Reversal
A guide to some algorithms for checking if a string is a palindrome and string reversal.
Organized Organization
It's important to stay organized. One of the keys to staying organized is doing so in an organized way.