Overview
Syllabus
Intro
What is Code Golf?
But What is Executable Code Golf?
Example: Paint in 16 bytes
My Hobby: Making 256B Animations
Many Different Categories
State of the Art 1kB to 8kB (Windows v. Linux)
XLINK project (1) • Goal: Produce an open source link-time compressor non-Windows platforms
PAQ Compression Algorithm
Arithmetic Range Coding Properties
Context Modeling and Context Mixing
Sparse n-gram Context Modeling . For each bit to decode
Complete Decoder Specification • Entropy Segment data structure that describes decoder problem
Why does this work better than LZ based compression?
Anatomy of an Object / Library File
XLINK Implementation • Linux linker has many implementation concerns
Programming in MS-DOS
Cannot access enough memory for hash table
Need 32-bit registers for more accurate EC
Hash function too slow for use on 386
i386 PAQ Decompression Stub (255 bytes)
Why should I care about binary compression in 2019?
Future Directions
Taught by
linux.conf.au