Welcome to Evan Klitzke’s blog.

Pinning GPU Memory in Tensorflow
How To Host Your Own Private Git Repositories
Bash $* and $@
Blog Rewrite In Go
Efficient File Copying On Linux
The Cult of DD
Unix System Call Timeouts
How To Play Pool At A Bar
An Introduction to Valgrind Memcheck
All About Linkers
In Defense of C++
Unexpected Places You Can And Can’t Use Null Bytes
How TCP Sockets Work
Blocking I/O, Nonblocking I/O, And Epoll
Goroutines, Nonblocking I/O, And Memory Usage
Hanging A Process With Select
Stopping A Process
Stdout Buffering
How To Nice A Bash Function
Crosh/SSH and ChromeOS
x86 Register Encoding
Pyflame Dual Interpreter Mode
Call Stacks and Link Registers
Towers of Hanoi in x86 Assembly
Go Compiles Infinite Loops Very Efficiently
Declare Your Bash Variables
Using ssh-agent and ED25519 Keys on GNOME
Systemd Socket Activation
Esc is Ctrl-[
F-Market Line Considered Harmful
5-HTP Contraindications
Documenting Code
Fedora, QEMU, and 9p Filesystem Passthrough
Inline C/Assembly In Bash
A Funny Thing About C and C++
CRCs vs Hash Functions
GitHub Private Repos
Memory Protection and ASLR on Linux
C++ and Thoughts On Java, Go, and Rust
The Curious Case of Position Independent Executables
GNOME Terminal Server
The x86-64 Red Zone
Free Medical Data
Ptrace, Syscall, and Python
How GCC LTO Works
Generator Comprehensions / Using any() and all() in Python
The 64-bit Extensions to x86 Are a Mess
Configuring GNOME
GCC Generates Strange Code
How To Use Autotools
GPL Licensing
Parsing ELF symbol tables
A Ptrace Idiosyncrasy
Demangling C++ Symbols
C Functions Without Arguments
Ptrace (continued)
Using Ptrace For Fun And Profit
SSH Again
Effectively Using .bash_profile
Self-Balancing Trees
Linux Swappiness
Misunderstanding mlock(2) and mlockall(2)
Bash If/Equals
Some Minor Site Changes
The SF Housing Crisis
Environment Variables
The Halting Problem
Binding On Port 0
Color and TTYs
Cornering At Low Speeds
Impressions From Running a Full Bitcoin Node
The Caveats of TCP_NODELAY
The Hate Is Real
Uninterruptible Sleep
eCryptfs on Fedora
New Bike Day
Envoy and Ed25519
Running A Full Bitcoin Node
Platinum Tunnels
Android Developer Options & ADB
Testing Code
Slack IRC Gateway
If I Ever Start A Tech Company
BitlBee Accounts
Large Data Files
The Thrill Of Riding
BitlBee & HipChat
Mission Bicycle w/ SRAM Automatix Hub
The Commodification of Databases
Rendering Videos From OpenGL Is Hard
Linear Algebra; or, The Folly of Youth
Surprising Things Found While Exploring Bash
Cars And Turn Restrictions On Market St In San Francisco
Being Self-Taught
Resource Management in Garbage Collected Languages
My Philosophy on “Dot Files”
LaRouche PAC
An Important Difference Between mysql(1) and MySQLdb
How To Be An Urban Cyclist—Part 1
On Not Having A LinkedIn Account
Final Conflict—Ashes To Ashes
Cloud Nothings—Attack On Memory
Hello World