Notes on coding, security, music & philosophy
Ioannis Kapolos
Preface
I have been writing software for a little over twenty years, long enough to have watched several paradigms arrive, conquer and quietly leave. My training is in applied mathematics, then economics, later software engineering at Harvard. My work is building systems that have to stay correct after the people who wrote them have moved on.
This is a depository of my thinking, sometimes in long form. How programs are made and how they fail, and about the things that are not programs at all, yet keep shaping how I write them.
Writing
- Coding in preparation
Programming is a cooking discipline.
Rule 110 — the simplest known universal computer.
- Security 1 entry
Break it till you make it.
Rule 30 — order in, apparent randomness out; once proposed as a stream cipher.
- Music in preparation
Can't beat the beat. Shout out to Öwnboss "To The Beat".
Rule 90 — self-similarity, a figure answered by itself at every scale.
- Philosophy in preparation
Why have answers when you have all the questions?
Rule 184 — nothing is created or destroyed; only rearranged.
Recent
- How a photo caption became a shell security/
Selected work
- [1] Crete. A procedural macro for state management in Rust: typed stores and field markers, without ceremony. github.com/kapolos/crete
- [2] Pancha. An early attempt, at the onset of the AI era, at a coding assistant with a native, cross-platform interface rather than a terminal. Rust, React and Tauri. No longer maintained. preview.pancha.ai
- [3] SourceScry. Understand the code: retrieval-augmented question answering over a codebase. Python and LangChain. sourcescry.com
- [4] React Godfather. An alternative mental model for function components: a thin layer between components and React that instruments them quietly. github.com/kapolos/react-godfather
- [5] Pramda. Practical functional programming for PHP, written when the language was not expecting it. github.com/kapolos/pramda
Correspondence
- hello@kapolos.com
- code
- github.com/kapolos
- work
- linkedin.com/in/ioannis-john-kapolos
- feed
- /feed.xml (Atom, for those who still read that way)