Packaging Desktop Apps With Flatpak written Sep 10, 2019
A step-by-step walkthrough of the process of packaging a desktop app for distribution using the Flatpak format and Flathub.
Speedy Desktop Apps With GTK and Rust written Jul 05, 2019
A step-by-step walkthrough of the lessons and techniques I learned from building a GTK application in Rust.
Building Readable Tests with Fluent Testing APIs written Jul 23, 2018
A discussion of some issues my former employer ran into with extremely verbose and fragile Rust unit tests, which we solved with a fluent testing API.
Chaining Fallible Operations with Combinators written Jun 26, 2018
A demonstration of some techniques for chaining fallible operations, such as parsing or network requests, using Rust's iterator combinators, without introducing overhead.
Additional Exercises in Reverse Engineering written Feb 03, 2018
Some more exercises and commentary about reverse engineering 64-bit Intel binaries.
An Intro to x86_64 Reverse Engineering written Nov 16, 2017
A thorough introduction to understanding the radare reverse engineering toolkit, demonstrated by taking apart some programs compiled for Intel x86_64, a.k.a. AMD64, under Linux.
Locking Down Firefox written Nov 06, 2017
Some tips and configuration switches to throw in order to make a Firefox Quantum installation more secure and privacy-protecting.
A Gentle Introduction to Practical Types written Sep 29, 2017
Some programmers talk a lot about types, but what is a "type", anyway? This tutorial explores the definition and utility of a ML-like type system.
Getting started with Piston, a game library for Rust written Mar 14, 2017
A comprehensive tutorial for a basic Piston 0.64 application which draws a spinning square on the screen.
Session Types written Feb 16, 2017
Rust's type system is very powerful, even beyond memory safety. Session types are one way to leverage compiler analysis to prevent API misuse.
socketserver: the Python networking module you didn't know you needed written Dec 24, 2016
The Python 3 socketserver module makes network servers much easier and more readable than similar code using raw sockets.
Am I in a Terminal? written Sep 13, 2016
A useful code for determining if a Python program is running in an interactive terminal or not.