Cyphar's Bloghttps://www.cyphar.com/blog/tag/programming/posts.atom2016-01-21T17:30:00ZAleksa SaraiThe wild ramblings of Aleksa Sarai.Copyright (C) 2014-2020 Aleksa Sarai. Licensed under CC-BY-SA 4.0.WerkzeugDockerinit and Dead Codehttps://www.cyphar.com/blog/post/20160121-dockerinit-and-dead-code2016-01-21T17:30:00Z2016-01-21T17:30:00ZAleksa Sarai<p>After running into insane amounts of very weird issues with <code>gccgo</code> with Docker, some of which were actual compiler bugs, someone on my team at SUSE asked the very pertinent question "just exactly what is dockerinit, and why are we packaging it?". I've since written a patch to remove it, but I thought I'd take the time to talk about <code>dockerinit</code> and more generally dead code (or more importantly, code that won't die).</p>Tuple Unpacking Oddnesshttps://www.cyphar.com/blog/post/20150901-tuple-unpacking-oddness2015-11-13T18:05:00Z2015-09-01T01:00:00ZAleksa Sarai<p>While working on tutoring the <a href="https://groklearning.com/">NCSS Challenge</a>, 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 with most edge cases in languages).</p>Getting into Linux Kernel Developmenthttps://www.cyphar.com/blog/post/20150715-getting-into-linux-kernel-development2015-12-07T22:30:00Z2015-07-15T14:20:00ZAleksa Sarai<p>I've been interested in kernel development for a <em>long</em> time, and recently got some patches merged into the Linux kernel. Here are my experiences about the process of kernel development and what newbies can do to get started.</p>Making a Simple Scheduler for an Arduinohttps://www.cyphar.com/blog/post/20150112-making-a-simple-scheduler-for-arduino2015-01-16T21:30:00Z2015-01-12T03:00:00ZAleksa Sarai<p>The latest cool thing I worked on for <a href="http://ncss.edu.au/summer_school/">NCSS</a> 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.</p>