Making a Simple Scheduler for an Arduino
The latest cool thing I worked on for NCSS in order to play "The Final Countdown" on a single Arduino Uno with proper chords. Also because I really wanted to write a scheduler, and this was a good excuse.
View ArticleGetting into Linux Kernel Development
I've been interested in kernel development for a long time, and recently got some patches merged into the Linux kernel. Here are my experiences about the process of kernel development and what newbies...
View ArticleTuple Unpacking Oddness
While working on tutoring the NCSS Challenge, I found a very interesting oddity of Python's tuple unpacking execution order. While it turns out this is very well documented, it isn't very intuitive (as...
View ArticleAndroid Compilation Headaches
I've spent the last week of my life trying to build TWRP, which requires having a full, and working Android build environment. With the emphasis on working, I've had just about enough of the stupidity...
View ArticleDocker Internals and Implementing Rebase
SUSE's semi-annual Hackweek was last week and I decided to work on implementing docker rebase, mainly to learn about the internal image format of Docker and see whether it was possible to improve how...
View ArticleDockerinit and Dead Code
After running into insane amounts of very weird issues with gccgo with Docker, some of which were actual compiler bugs, someone on my team at SUSE asked the very pertinent question "just exactly what...
View ArticleDebugging why ping was Broken in Docker Images
All complicated bugs start with the simplest of observations. I recently was assigned a bug on our openSUSE Docker images complaining that ping didn't work. After a couple of days of debugging, I was...
View ArticleRootless Containers with runC
There has been a lot of work within the runC community recently to get proper "rootless containers". I've been working on this for a couple of months now, and it looks like it's ready. This will be the...
View ArticleAdventures into ptrace(2) Hell
As part of my work on rootless containers, I found that many tools try to drop privileges. This makes those tools break inside rootless containers, so I spent a week or two working on a tool that...
View Articleumoci: a New Tool for OCI Images
Very recently, I've been working on implementing the required tooling for creating and modifying Open Container Initiative images without needing any external components. The tool I've written is...
View ArticleGenerating Coverage Profiles for Golang Integration Tests
While Go's system for unit tests is very seamless and full-featured, allowing for coverage reports to be generated as well as various other cool features, the integration testing story is far less...
View ArticleThe Road to OCIv2 Images: What's Wrong with Tar?
The need for a better container image format has been fairly self-apparent for a long time, but there hasn't been a solid effort to redesign how container images should operate. Most container image...
View Article