Comments are not documentation

It’s no secret to my friends that love programming. Moreover, to my colleagues at work, it’s no secret that I am very passionate about it as a hobby and as something I do (semi-)professionally. Unfortunately, or perhaps not-so-unfortunately, I learned to code while I was going through my Bachelors in Engineering. While my courses, and eventually my own self-directed learning stuck with me, I never quite got the same education as somebody who was in Software Engineering or Computer Science. Nonetheless, I have worked through some hellish codebases before, and while I may not be an enterprise coder, I do think that I’ve enough experience thus far to discuss an opinion that I’ve received a lot of flak for recently. If you haven’t guessed, I’m talking about code comments.

Read More...


Two birds and a liar's game

This post was largely inspired by an image I encountered while browsing the yard sale we call the internet. It’s somewhat contrived, but it’s a play on a classic riddle. I’m going to examine this riddle in detail, and hopefully slay god and have some fun with logic in the meantime.

Read More...


First-Order Least-Squares Fitting - An Overview

One particular type of data that I find I increasingly deal with is 3D point cloud data. Point cloud data is fairly simple to grasp, it’s merely a “cloud” of points which each have their own individual coordinates in a Cartesian (think X, Y, Z) system. If that still doesn’t clear it up, watch this excellent video which shows off a cool example of point cloud data to model a shipping gallery. The sources of such point cloud datasets vary, including laser scanners, range cameras, or even your standard close-range photogrammetric techniques. In this post, I’m going to examine some typical techniques for fitting linear geometric shapes (lines, planes) to 3D point cloud data. It may get hairy with all the math involved, but I’ll try to keep the equations down where possible.

Read More...


HOWTO - Encrypted Backups in (Debian) Linux

If you’ve ever owned a computer, you can probably imagine a few scenarios where having proper backups is helpful and to some extent, necessary. However, in many cases setting up an appropriate system for backing up your files can be either tedious or brings some air of uncertainty. Recently, I set up my own system for performing backups in (Debian) Linux, and I figured I’d write down my process for my own sake, but likewise to share with others who may not be so sure why or what they may want to backup.

Read More...


Android Audio Encoding

A short while back, a friend made mention of how he noticed that Android places a hard limit on the audio bitrate in videos recorded from the device. I found it interesting that Android by default reduces the audio quality to a hard limit, so I thought I’d post about the issue and explore it a little further. By the end of this article, I hope to have explained some basic signal terminology, as well as have shown you how to improve the quality of audio recorded from android devices.

Read More...


This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.