What if your binary executable was a SQLite database?
What if you could chmod +x a SQLite database and run it directly as a system executable?
Developer Farhaan Zakaria built SELF (Structured Executable & Linkable Format), a prototype that replaces standard ELF binary files with SQLite databases. Instead of custom parsing tools, commands like ./hello execute the file normally, while standard sqlite3 queries inspect its symbol tables and load segments. The project builds on his earlier tool, sqlelf, which used SQL virtual tables to query existing ELF files.
Why it matters: Traditional ELF files function like hand-rolled databases, implementing custom string interning, B-trees, and bloom filters by hand. Moving to SQLite gives executables a stable, self-describing schema with built-in index maintenance. Modifying a binary becomes plain SQL; stripping optional sections is as simple as running a DELETE query and a VACUUM.
Here's the gist: A SELF binary requires only two core tables to execute: self_meta for header key-value pairs and segments for program bytes. Checking linked libraries drops down to a simple query: SELECT soname FROM ldd.
Inspecting software binaries might soon mean opening a database shell instead of fiddling with readelf and grep.
Sources
- Executable Is a SQLite Database — https://fzakaria.com/2026/08/23/your-executable-is-a-sqlite-database
- Hacker News Discussion — https://news.ycombinator.com/item?id=49415271

