Tutorials
-
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.