I ran into an interesting Windows quirk recently. I set up a spare Windows 7 box as a GitLab-CI Runner to see if it was any better than an existing Jenkins-based pipeline. The runner is pretty easy to set up, a few commands and I had it set up as a service running under Windows built in Local System account - the recommended configuration.

I configured the runner to clone a master repo (set up as a public repo in GitLab) and run some build scripts. One of those scripts checks out a submodule which comes from another GitLab repo, but this one's permissions are set to internal. This caused the script to barf because internal repos in GitLab require authentication.

Continue reading...

SSL, or Secure Sockets Layer, is one of the technologies essential to security on the web. It allows a web browser and server to form an encrypted connection. Encryption is an essential part of web security. If you're browsing the web in a coffee shop or airport without encryption, it's trivial for anyone else to see exactly what you're looking at.

Continue reading...

I've been operating my site on various flavors of shared web hosting for years. Shared hosting has a lot of benefits: it's cheap, easy to set up, and hides almost all of the nuts and bolts. I finally decided to take the plunge and remove the training wheels by hosting my site on AWS.

Continue reading...

Recently, I've been watching the excellent show Mayday (or Air Disasters in the USA). The anatomy of how complex systems break down and fail has always fascinated me, and this show does an awesome job of presenting that information in an engaging fashion.

Continue reading...

Recently, I've been itching for a fun hardware project to work on. Part of that spark came when I was looking through some of my old college projects, in particular the Track Independent Train Mapping and Identification project that was the focus of the Embedded System Design course I took at Virginia Tech.

Continue reading...