My blog
Welcome to the ultimate, radical and uncompromisingly primitive
pre-web1.0-style blog and website.
Let's party like it's ~1993-1996.
This website is best viewed under lynx/links/elinks/w3m.
Main topics: CS, math, reverse engineering, SAT/SMT solvers, cryptography, tinkering with *NIX...
The posts:
- IOCCC/mullender revisited, position-independent code, shellcode (05-Jan-2026)
- Hunting for extremal Latin squares using MaxSAT solver (01-Jan-2026)
- [RevEng][x86][x64][C][newbies] Software reset in embedded devices (01-Jan-2026)
- Testing word counting code using KLEE and CBMC (25-Dec-2025)
- [Math] Intervals: examples of open intervals; fencepost errors (19-Dec-2025)
- [Math] Intervals: Apache Maven version numbers (19-Dec-2025)
- [Math] Intervals: examples of half-open intervals (18-Dec-2025)
- [Math] Intervals: examples of closed intervals (18-Dec-2025)
- [Pentesting][Math] Bruteforce passwords using cartesian product (18-Dec-2025)
- [Pentesting][Math] Finding masks for Hashcat using combinatorics (15-Dec-2025)
- What is MQTT (IoT, smart homes) --- an explanation under 120 lines or 1100 words (11-Dec-2025)
- [Math] Number of ways to insert 4 wires into 8-pin 8P8C Ethernet connector (09-Dec-2025)
- Flatten function/operation in functional programming (08-Dec-2025)
- [Unix][C] Similarities between Unix symlinks and C/C++ pointers/references (04-Dec-2025)
- [Pentesting] Dahua (CCTV cameras) auth (02-Dec-2025)
- [Pentesting] ONVIF (CCTV cameras) auth (28-Nov-2025)
- [Pentesting] RTSP (CCTV cameras) auth (24-Nov-2025)
- [Pentesting] HTTP auth, part III: rogue web-server (21-Nov-2025)
- [Pentesting] HTTP auth, part II: digest (21-Nov-2025)
- [Pentesting] HTTP auth, part I: basic (21-Nov-2025)
- [Pentesting] Passwords from Wikipedia (21-Nov-2025)
- [RevEng] Challenge: Ukrainian receipts: the solution (20-Nov-2025)
- [RevEng] Toy decompiler (17-Nov-2025)
- [Pentesting] Walking passwords, part II (13-Nov-2025)
- [Pentesting] The cost of cracking WPA2 (Wi-Fi) passwords in 2025 (13-Nov-2025)
- Two more uses of information entropy metric (10-Nov-2025)
- Yet another XOR feature: a lamp turned on/off with several toggle switches (10-Nov-2025)
- Recovering/undeleting short deleted files in 50 SLOC of pure C, any filesystem supported. (14-Oct-2025)
- Linux kernel compressed files have some text strings (02-Oct-2025)
- Oracle zero-day vulnerability for sale (18-Sep-2025)
- [Crypto] Leaking IV in CBC mode (16-Sep-2025)
- Yet another explanation of the Quicksort algorithm (23-Nov-2019)
- [Linux] Simplest possible snapshot-style backups using rsync (16-Oct-2019)
- Cracking simple XOR cipher with simulated annealing (21-Jul-2019)
- Packing students into dorm using simulated annealing (28-Jun-2019)
- Make shortest cables in your rack using simulated annealing (27-Jun-2019)
- Generating Malbolge code using simulated annealing (26-Jun-2019)
- Worst sorting algorithm I ever saw: proving it using KLEE (25-Jul-2018)
- Cracking simple LCG PRNG (02-Mar-2017)
- Content-addressable storage (27-Sep-2015)
- Typeless programming languages (BCPL, B), C evolution and decompiling (08-Sep-2015)
- Fuzzy string matching + simplest possible spellchecking + hunting for typos and misspellings in Wikipedia (23-Jul-2015)
- Tweaking LLVM Obfuscator + quick look into some of LLVM internals (16-May-2015)
- Making C compiler generate obfuscated code (07-Dec-2010)
Subscribe to my feed
By RSS.
Old blogs
1,
2,
3.
Missing something?
Read here.