Brandon Rozek

Photo of Brandon Rozek

Software Developer, Researcher, and Linux Enthusiast.


June, 2022

Retreiving GPS data in decimal format from EXIF data in photos

Conditional Assignment in Bash

Having your Website Visible on the Fediverse

Git Pushing to Multiple Remotes

May, 2022

Displaying Hikes with

Archiving Toots

Displaying a Toot in Hugo

Hiding Section From Listing in Hugo

Document Formats and Plaintext

On Writing Simple Scripts

Python Argument Parser

Most Common Mistake in Induction Proofs

Automatically Updating Podman Containers

Finding Cool People on Mastodon

Why I PESOS From Mastodon

Which commit broke the build? Using Git Bisect

OpenMPI on Fedora

April, 2022

Rclone: The Swiss Army Knife of Cloud Storage

Permission Denied: Writing to Privileged Locations

Networkx Random Sample Graph

March, 2022

Non-Root Systemd Scripts

Finding Cuda Errors

February, 2022

Intensional Logic Extends First Order

JUnit Script

Loop Invariants

Git Partial Clones

Reasoning through Loops in Dafny

Program Verification with Hoare Logic and Dafny

Docker Secrets

Mount Object Storage Locally using S3 Fuse

Git Diff by Words

Aliases for Snaps and Flatpaks

Reducing Network Bandwidth in Nginx with Gzip

Dafny v3.3 Show Countermodel

Rebuild Kernel Modules with Akmods

January, 2022

Rootless Docker-Compose with Podman

Code alongside Output in LaTex

Multi-Column slides in Beamer

Code in LaTex Beamer

Term To SVG

LaTex List Labels

SOCKS5 Proxy

Tree-based Plots in NetworkX

Common Network Debugging Commands

October, 2021

Lean Theorem Prover Tactics

August, 2021

Convert DJVU to PDF

Do-While Loop in Other Languages

July, 2021

Antenna Basics

Parallel SCP with LFTP

June, 2021

Forward Packets with Socat

Terminal Output in Vim Bootloader

Ventoy for managing ISOs on one USB

Comparator Logic Gate

Z3 Constraint solving

Print Statements with Frame Information

April, 2021

Introduction to RF Power Amplifiers

March, 2021

Human Readable Sizes

Detect Python Version

February, 2021

Stow Version Manager

Clearing Systemd Logs

LibreOffice Calc Tips

DHCP for Raspberry Pi

December, 2020

Quick Bash: Validate IP Address

Quick Bash: Check Argument Count

Mirroring with Gitea

Mirror a Hugo Site

November, 2020

Autostart Desktop Applications

Chroot and Virtual Filesystems

Streaming PulseAudio over RTP

Multicast Receive Script

Custom Device Paths with UDEV rules

Forwarding Phone's GPS

Getting Started with FM Digital Modes

October, 2020

Preserving Classic URLs on my Website

C++ within Python with SWIG

Quickly Creating CGroups to Limit CPU/Memory of Applications

Bandwidth Limiting Applications

Deploying Binaries to other Linux Distros using Appimage

Reverse One-Hot Encode

Tail Call Optimization in Python

Manage Python Applications

September, 2020

Auto Purge Old Docker Images

Creating QR Codes from the Terminal

Launch Apps through the Terminal

Partial Argument Parse and Passing in Bash


Splitting Files to Circumvent Size Limits

Starting Graphical Applications Remotely without X-Forwarding

How to get list of IP Addresses in Python

July, 2020

Jupyter with Pyenv

Quick Python: Async Callbacks

June, 2020

Firefox Privacy Configuration

GPG Agent as SSH Agent

Extract All the Things

Quick Python: Export Decorator

PDF To Kindle

GPG Card

SSH Connection Sharing

May, 2020

Docker Macvlan Networks

How to Drop Commits in Git

OBS Webcam

V4l2 Webcam

Configuring DHCP DNS in Pihole

Wildcard Domains in PiHole

TCP/UDP with Bash

Git Credential Store

Algorithms in LaTex

Show Applications using the Internet

Git Line Endings

Auto-Deploy Docker Applications

Shared Packer & Terraform Config

Automatic Deployments with Terraform

Snapshot Creation with Packer

Digital Ocean API

Quick Python: __all__

Python Packaging: Optional Dependencies


April, 2020

Code in LaTex

OpenVPN Container


Replace Audio in Video

Quick Python: Cached Property

Quick Python: HTTP Server

Quick CA for internal LAN

Python Patterns: Subscribe

Download Changes

Iteratively Read CSV

Quick Python: Concurrent Futures

Pip Editable

Signing Commits

GPG Keygen

Pip Config


Python asyncio

Quick Python: Dataclasses

Quick Python: Copy Decorator

Quick Python: Getters and Setters

March, 2020

Quick Python: Unit Testing

Quick Python: Decorators

Quick Python: Memoization

Birthday Music

Disc Golf and PyMC3

Quick Python: Length of Iterables

Pyenv Build Flags

Uninstall Vim Plugins

Neovim Plugins

Sphinx & MathJax

Git Patch

Git Bundle


Qt Timers

Python Operator Overloads

C++ Overloads

Record Output Audio via Terminal


February, 2020


Resuming Stopped Apt Updates

Python: Set Interval

Python develop


Pyenv and Tox

Backing Up YouTube Content

Quick Python: List Files Recursively


Missing Libraries

Quick Python: Package Namespacing

Custom Executables

SSH Jump

Ping Discovery

Bat: The user friendly cat

January, 2020

Quick Python: Abstract Classes


Quick Python: Interrupts

Zsh and Snaps

Offline Pip Packages

Temporary Static IP

Mirror Download with wget

Burning ISOs with dd/pv

Managing Python Versions with Pyenv

Limit Bandwidth through Terminal



Python Path Hacks

Cryptographic Games

Playing with Live CDs

Quickly Setting up a Storage Device


Toggling X Input

Virtual Disks

Temporarily Resolving Hostnames

December, 2019

LXD on tmpfs

Theorem Proving Definitions

Analyzing Startup Times with Systemd

Advanced Docker Image Construction with Bash

Nested X Sessions with Xephyr

Ensuring Docker Compose Startup with Systemd

Traefik & Nginx



RSA Cryptography

Groups Simplified

Videos and GIFs

November, 2019

Collaborating on Beamer Pandoc Slides



Wireguard VPN

Man Pages with Pandoc

October, 2019

Blog Workflow

Python Typing

Useful Abstract Definitions

Custom Python REPL

Git Lens


September, 2019

Live Documentation


SSH Config


Getting started with Digital Modes in Linux

August, 2019

Shutdown After Job

Local Repo From Live Installer

Network Throughput Testing

Virtualizing Environments with Clonezilla

Systemd with Python environments

Bash Flags

SSH Local Port Forwarding

Archiving Sites

Copy to RAM Please

Memory Errors in Go

July, 2019

Oh My Zsh


Rsync with a Different Key


Discovering Ham Radio

Gitlab CI/CD

June, 2019

Handling Background Processes in Bash

Why ZeroMQ

Debugging and Performance

Linux Desktop Icons

May, 2019

Custom System Fonts

Unattended Upgrades

VNC Setup

Wacom and USB Redirection in Virtual Machines

External Media Formats

Capture The Flag

Symmetric Groups in Python

Color Manipulation with Sass

Python Virtual Environments

Borg Backup

Notes on '13 Ways Designers Screw Up Client Presentations'

Real Analysis Sequences in Haskell

January, 2018

Identifying Misspelled Words in your Dataset with Hunspell

August, 2017

Obtaining Command Line Input in Java

Escape Sequences in Java

July, 2017

Albuquerque Real Estate Multiple Regression model

June, 2017

Java Swing Components

Using System Themes In Java Swing

May, 2017

Viewing Java Applets

March, 2017

Male vs Female Life Expectancy

Monte Carlo Pi

Simplifying Expressions with Octave

Uniformity of Math.random()

Knit a Document in RStudio

August, 2016

Pass the password manager

December, 2015

Creating vCards from h-cards

Playing with QR Codes

November, 2015

Limiting the Cache in Service Workers Revisited

Math with Fractions.js

An Offline Experience with Service Workers

October, 2015


Javascript Conditional Statements

Animatable: Transform

Animatable: Visual

Javascript Data Types

HTML, CSS, Javascript, and how they all link together

Animatable: Location

Animatable: Text

September, 2015

Animatable: Box Model

May, 2015

Animatable: Border

April, 2015

Responsive Layout and Animation

Math Theory for Function Between Two Points