Notes from the margins.
On code, language, probability, and whatever refuses to leave my head.
102 entries
TL;LGTM
Too Long; Looks Good To Me — on the temptation to rubber-stamp agent-written code, and why you still have to read it even when it is better than yours.
Five Monkeys, a Ladder, and a Bunch of Bananas: Why We Follow Rules Nobody Remembers Making
A short, kind reflection on the famous Five Monkeys experiment — how a group of newcomers ends up guarding a ladder from a cold-water hose none of them have ever seen, and how to gently check whether the water is still turned on.
The Song in Your Head and the Sign on Your Chest: On the Curse of Knowledge and the False Consensus Effect
A plain-English essay on two everyday thinking traps that come from only ever living inside your own head: the Curse of Knowledge (why knowing something makes you terrible at explaining it) and the False Consensus Effect (why we quietly assume most normal people agree with us).
Nocturnote: A Sleek and Modern Text Editor (Deprecated)
Deprecated - succeeded by Descry. Introducing Nocturnote, a cross-platform, customizable text editor built with Electron, Svelte, and Tailwind CSS.
Nobody Walks Away: A Short Rant About Three HBO Max Crime Shows
Sıfır Bir, The Penguin and Barry, watched back to back on HBO Max. Three completely different shows arriving at the same verdict: crime is a debt with compounding interest, nobody gets an exit ramp, and the bill is always handed to whoever nearby still loves you.
Kanije, 1601: Tiryaki Hasan Pasha and a Siege of Seventy-One Days
A seventy-one-year-old Ottoman governor held the fortress of Kanizsa for seventy-one days against a Habsburg-led coalition several times his strength, and no relief ever came. An objective account of the 1601 siege — the disputed numbers, the course of the campaign, and where the documented record ends and the gazavatname legend begins.
A Drawer Full of Razors: Definitions, Origins, and Worked Examples
Fourteen philosophical razors — Occam, Hume, Hitchens, Sagan, Popper, Einstein, Hanlon, Grey, Chesterton and the rest — each with its definition, its real origin, one worked example of correct use and one of misuse. Plus an interactive drawer where the razors contradict each other on five ordinary cases.
Please Continue: A Short Rant About the Milgram Experiments
Four polite sentences got 65% of ordinary people to press a switch marked XXX. Sit at the shock generator, count how many clicks it takes you to refuse, and stop telling yourself you would have walked out.
The Pirate Game: How to Keep 98 Coins and Survive the Vote
Five pirates, 100 coins, and a vote. Play the classic bargaining puzzle, trace its backward-induction solution, and discover why changing the voting rule changes the split.
Penney's Game: The Coin-Flip Bet Where Going Second Always Wins
A short explainer on Penney's Game, the non-transitive coin-flip game where the second player can always pick a three-flip sequence that beats the first player's — sometimes 7 to 1. Includes the optimal-response rule and the full odds table.
The Lost Art of Thinking: A Colossal Rant on Logic
A deep dive into the absolute fundamentals of logic, from ancient Greece to Boolean algebra, and a rant on why modern society desperately needs to relearn how to think.
Dying is Easy, Comedy is Statistically Impossible: An IMDbayes Analysis
Deconstructing Hollywood: A Data Science Journey from Raw Data to p99 Insights. Why you need a 6.5 filter for laughs, but can fly blind with a Documentary.
Kaprekar's Routine: A Curious Number Game
Explore Kaprekar's Routine, a fascinating number game that always leads to the constant 6174 for most four-digit numbers.
The Death of "Arkadaş": A Retrospective on How Turks Stopped Caring and Started Generalizing
A linguistic rant on how an ancient steppe combat pact ("arka-taş") devolved into hollow corporate jargon, paired with a chronological survey of what Seljuks, Ottomans, and modern street-dwellers called each other when precision still mattered.
The 20 Mile March: Consistency Beats Heroics
A short rant on the 20 Mile March from Jim Collins & Morten Hansen's Great by Choice: why a steady, self-imposed daily number beats sprint-and-collapse, the Amundsen vs Scott race that proves it, and the half everyone forgets — the ceiling that makes you stop even when you could do more.
Dashcam Music Theory: The Only Honest Soundtrack Left
A quick rant on the one medium where the music was chosen before the event with zero knowledge of what the event would be: the dashcam. Why an accidental Spotify shuffle is a better music supervisor than any director, and why deliberate film scoring feels cheap once you've noticed the trick.
PASETO vs JWT: Choosing the Right Token for the Job
A side-by-side deep dive on JWT and PASETO: how each format is structured, the cryptographic primitives involved, JWT's recurring footguns (algorithm confusion, the 'none' attack, JWE neglect), how PASETO's versioned protocols eliminate those bug classes by design, and a Go implementation of both for issuing and verifying tokens.
A Gentleman's Lexicon of Pejoratives: How to Insult Your Friends Without Cursing
A bilingual (English / Turkish) armory of precise, mostly archaic pejoratives — mountebank, mooncalf, ninnyhammer, midwit, muhallebi çocuğu, çeyrek aydın — organized by which kind of friend-flaw they target, with field rules and a short defense of why naming a failure beats cursing at it.
Squarified Treemaps: Trading Order for Readable Rectangles
A short summary of Bruls, Huijsmans & van Wijk (2000): why slice-and-dice produces unreadable slivers, how the squarified row-packing algorithm works step by step with a worked example, and the stability tradeoff that comes with it.
Happy Path Bias in Gemini: Why the Code Looks Right Until It Isn't
A recurring failure mode of Gemini-scaffolded systems code: surface polish that reads as senior, paired with a near-total absence of edge-case thinking. What it looks like, where it shows up, why it happens, and how to read around it.
Spec-Driven Development: Writing the Thing Before You Build the Thing
A practical, end-to-end guide to spec-driven development: what a spec really is, why it became load-bearing once LLMs joined the team, the full intent→spec→plan→implement→verify→evolve loop, a fully worked example, when to use SDD and when to skip it, mechanics for working with an LLM, and the failure modes to watch for.
The Case of the Invisible Geometry: Debugging a Silent OpenGL Driver Validation Failure
How a samplerCube uniform guarded by `if (false)` made the entire 3D scene vanish — a silent OpenGL driver validation quirk, the bisect that caught it, and the one-paragraph fix.
Migrating Fezcodex From CRA to Vite + Vike: A Static-Site-Generation Deep Dive
A deep dive into retiring Create React App and react-snap in favor of Vite + Vike and a purpose-built Puppeteer prerender crawler — with the specific traps, fixes, and instrumentation that got us from 59/460 routes rendering to 457/460.
atlas.llm: A Deep Dive Into a Single-Binary, On-Device Coding Companion
A detailed technical exploration of how atlas.llm turns llama.cpp into a usable local AI coding assistant, covering architecture, challenges, and design decisions.
In Review is In Progress
A critique of bloated project management workflows and the fallacy of the 'In Review' state. If it's not 'Done', it's 'In Progress'.
Linguistic Shackles: The Sapir-Whorf Hypothesis
A deep dive into the Sapir-Whorf hypothesis, exploring how linguistic structures influence human cognition and perception.
Why I Built Dush
The story behind Dush, a 'Dumb Shell' that turned into a powerful Go-native scripting platform.
Shell Architecture in Go: From Lexer to Execution
A deep dive into the internal architecture of Dush, exploring its lexer, Pratt parser, and tree-walking evaluator.
Implementing Everything in Go: Built-ins, Pipes, and Jobs
How Dush implements core shell features like pipes, redirects, and job control using Go's standard library.
Modernizing the Shell: The Dush Scripting Language
Exploring the @ sigil system and the clean, modern scripting syntax that makes Dush a joy to use.
Quantum Physics 101: A Beautiful Journey into the Microscopic
An elegant introduction to the bizarre world of quantum mechanics, covering Superposition, Wave Function Collapse, Entanglement, and the EPR Paradox.
The Lost Art of the Tactile: Why 90s Cinema Ruined Modern Movies
A passionate rant about the shift from the tactile, analog weight of 80s/90s cinema to the weightless digital era, featuring McTiernan, Cameron, and the glory of practical effects.
The Side Character Conspiracy: Solving the Sitcom's Greatest Mystery
A detective's deep-dive into the "Side Character Conspiracy," proving why the protagonists of sitcoms are often the most boring part of the show.
Wave Function Collapse: Taming Entropy in Procedural Generation
An in-depth guide to the Wave Function Collapse algorithm, featuring visual explanations and implementations in JavaScript and Golang.
The Deep End: Distributed Systems, Consensus, and State
A comprehensive deep dive into the engineering behind distributed systems. Unpacking logical clocks, the CAP theorem, Raft consensus, split-brain fencing, Sagas, and idempotency with pseudocode and examples.
MBTI & Astrology: The Modern Quest for Identity
A gentle exploration of why we love personality frameworks like MBTI and Astrology, even if the science behind them might be a little fuzzy.
The Encyclopedia of Bad Arguments: A Guide to Logical Fallacies
A comprehensive deep dive into formal and informal logical fallacies, cognitive biases, and why human beings are so terrible at arguing.
The Basics of Time Travel: Theories, Paradoxes, and Spacetime
A deep dive into the theoretical physics of time travel, exploring Einstein's relativity, wormholes, and the paradoxes that challenge our understanding of causality.
The Quadtree: Solving the O(N^2) Spatial Nightmare
A deep dive into spatial partitioning with Quadtrees, explaining how to avoid O(N^2) nightmares with recursive decomposition.
gobake: The Build Orchestrator Go Was Missing
Introducing gobake, a Go-native build orchestrator that replaces Makefiles with type-safe Go recipes.
Escape the Hierarchy Trap: How Tag File Systems Work
Ditch the folders! A deep dive into Tag-based File Systems, why hierarchical organization is failing us, and how FUSE and databases make tagging possible. Includes a Go implementation!
The Chaos Coordinator: Mastering Distributed Hash Tables (DHT)
A deep dive into Distributed Hash Tables (DHTs), Kademlia, XOR metrics, and building decentralized routing in Go. Fun, fast, and very educational.
Bridging the Gap: How We Built the Fezcodex MCP Server
A deep dive into creating a Model Context Protocol (MCP) server for Fezcodex, enabling AI agents to autonomously author and manage blog content.
The Model Context Protocol (MCP): Bridging the Gap Between AI and Data
An introductory guide to Anthropic's Model Context Protocol (MCP). Learn how it standardizes AI connectivity with data sources and tools.
Prompt Engineering University
A comprehensive, university-style curriculum on Prompt Engineering. From foundational strategies to advanced agentic workflows.
6 chaptersLinux vs. Unix: The Kernel Wars and the Philosophy of Modular Design
A deep dive into the history, kernel architectures, and the uncompromising philosophy that shaped modern computing. Monoliths, microkernels, and the power of the pipe.
The Halo Effect: Why We Trust Idiots with Good Hair
The Halo Effect is the silent killer of technical debt. Exploring why we mistake a shiny coat of paint for a functional engine in software engineering.
Mastering Git Worktrees: Parallel Development with AI Agents
Stop context switching. Learn how to use Git Worktrees to manage multiple features simultaneously and orchestrate parallel AI agents.
Philosophy 101
16 chaptersUnderstanding Database Normalization: The Path to Third Normal Form (3NF)
A professional guide to database normalization, explaining the journey from 1NF to 3NF with clear examples and architectural diagrams.
CQRS: Command Query Responsibility Segregation in Modern Architecture
An authoritative guide to CQRS (Command Query Responsibility Segregation) following Martin Fowler's principles, implemented in Golang.
Hyrum's Law: Why Your Bug Fix Broke My Spacebar Heating Workflow
With a sufficient number of users, every bug becomes a feature. Exploring why you can't fix anything without breaking someone's weird workflow.
Architecting Trust: 5 Patterns to Prevent Insider Threats
Developers have God-mode access, but absolute power creates absolute risk. Here are 5 architectural patterns to prevent internal fraud and system abuse.
Deep Link Configuration: Achieving a Global Parameter Observer in React
How to implement a global URL parameter observer that silently updates application state and cleans up the address bar for a seamless user experience.
Introducing Fezluxe: A Study in Refined Architectural Elegance
A deep dive into the philosophy and implementation of the new Fezluxe design language. Moving beyond brutalism to find sophisticated digital calm.
The FIFA Paradox: Why We Spend 14 Hours Playing Games We Hate
In the gaming world, there is a pervasive stereotype: "Shooters and Sports games are trash for casuals, while RPGs and Strategy games are high art for intellectuals.". Any truth?
Upgrading Debian 11 to 13: The Safe Path
A quick gist on how to safely upgrade from Debian 11 to Debian 13 by following the required sequential path.
Steganography: Hiding Secrets in Plain Sight with LSB
A technical deep dive into Least Significant Bit (LSB) steganography and how we implemented it for the Fezcodex Steganography Tool.
The Ultimate Pixel Art Resources Guide
A curated list of essential tools, websites, and guides to start or level up your pixel art journey, inspired by JuniperDev.
Implementing Drag and Drop in React without Libraries
A deep dive into building a robust drag-and-drop system for Tier Forge using the native HTML5 Drag and Drop API.
Fixing gh-pages: Resolving spawn ENAMETOOLONG
A quick guide on how to fix the spawn ENAMETOOLONG error in gh-pages by switching to the latest GitHub version.
Git Cheatsheet: From Basics to Time Travel
A comprehensive Git cheatsheet covering daily workflows, advanced history searching, and repository maintenance.
Aether: Cyberpunk Audio Interface
Introducing Aether, a cloud-based, data-driven music player with a high-fidelity cyberpunk aesthetic and generative art.
5 Ways to Pass Arguments in a URL (Beyond the Basic Query)
A quick reference guide to the five main argument passing mechanisms in URLs and HTTP requests.
Quick Renaming .js to .jsx for React
A quick guide on using PowerShell to batch rename React files from .js to .jsx, ensuring your editor recognizes them correctly.
The Corrupted Blood Incident: When a Glitch Taught Us About Pandemics
A rant about the WoW Corrupted Blood incident, how it modeled real-world pandemics, and the GDC lessons we ignored.
Building the Knowledge Graph: Visualizing Fezcodex in 3D
A technical deep dive into how I built the 3D 'Neural Net' graph visualization using React, Three.js, and force-directed graph theory.
Routing Revolution: SSG, BrowserRouter, and the SEO Fix
A technical deep dive into migrating from HashRouter to BrowserRouter using Static Site Generation (SSG) for perfect SEO on GitHub Pages.
The Art of the Algorithm: Generative Visuals in Fezcodex
How Fezcodex uses math, randomness, and recursion to turn code into art. Exploring GenerativeArt, BlendLab, and more.
Brutalist Fezcodex: The Big Cleanup
A short and simple explanation of the major architectural and aesthetic refactor of Fezcodex.
Introducing New Reading Modes: Dossier and Terminal!
Explore Fezcodex blogpost like never before with our new reading modes.
Typeface vs. Font: The Music Analogy
Typeface vs. Font: The Music Analogy.
Why Your Brain Hates Lyrics While You Work: The Irrelevant Speech Effect
A ELI5 version of the irrelevant speech effect.
React Hooks Showdown: useMemo vs useCallback vs useState vs useEffect
A comprehensive comparison of React's most commonly used hooks, explaining when and why to use each.
React Magic: Rendering Components from Markdown Links
How to trigger complex React interactions and render dynamic components directly from static Markdown links.
Implementing a Resizable Global Sliding Side Panel in React
How I built a context-driven, global sliding side panel system for Fezcodex using React and Framer Motion.
Building a Digital Rotary Phone
A deep dive into the engineering behind the interactive Rotary Phone app: trigonometry, Framer Motion, and React state management.
The Art of Recursive Botany: How Fractal Flora Works
Dive into the mesmerizing world of fractal trees. Learn the simple recursive rules that generate infinite digital flora, and explore the math behind their organic beauty.
Unlocking Your Journey: Introducing the Fezcodex Achievement System!
Explore Fezcodex like never before with our new achievement system. Discover hidden features, unlock unique badges, and track your progress through the site's gamified world.
Unlocking the Multiverse: New Visual Modes in Fezcodex
Introducing Invert, Retro, Party, Mirror, and Noir modes. Discover how to access these hidden visual treats via the Command Palette and Settings.
Reducing React App Bundle Size: A Practical Guide
How I reduced the main bundle size by over 70% using code splitting and disabling source maps.
Mastering Tailwind CSS: The "Absolute Centering" Trick
Learn how to perfectly center a title while keeping a side element positioned absolutely, ensuring a balanced layout regardless of content size.
Gaussian Elimination: The Swiss Army Knife of Linear Systems in Computer Engineering
An explanation of Gaussian Elimination, a fundamental technique for solving linear systems, and its broad applications in computer engineering.
Fixing GRUB Syntax Errors Caused by Grub Customizer
A quick fix for problems caused by Grub Customizer
4 Equals For Complete Equalness
Dive into the quirky world of JavaScript's floating-point math, where 0.1 + 0.2 isn't always 0.3. Discover why and then ponder the mythical `====` operator, designed for complete equalness beyond your wildest dreams!
The Inevitable Dance of Entropy: A Rant on Chaos
A philosophical rant on Chaos Theory, unpredictability, and the illusion of control.
Decoding the Digital Alphabet: A Comprehensive Guide to BaseXX Encodings
A deep dive into various BaseXX encoding methods, comparing their character sets, efficiency, and common use cases in modern computing.
Fezcodex Stories with `git subtree`
A short explanation of git subtrees
Parenthesis Intended Markup Language
A deep dive into PIML, a human-readable data serialization format, its syntax, data types, and comparison with JSON, YAML, and TOML.
Publishing to NPM
A short explanation of publishing NPM packages
Image Toolkit Deep Dive
A deep dive into the implementation of the Image Toolkit app.
Picker Wheel Deep Dive
A deep dive into the implementation of the Picker Wheel app.
Demystifying Tailwind CSS
Demystifying Tailwind CSS
The Necessary D&D Post
An introduction to my D&D adventures.
About Fezcodex
Ubuntu Once More
Ubuntu 25.10
React of Fezcodex
17 chaptersGemini Explains
2 chaptersDo I Need to Create a Lib For That?
a journey to create my first golang package
HashRouter vs. BrowserRouter
Why am I using HashRouter for github pages
Algorithms
Algorithms
6 chaptersInterview Journal
A series dedicated to technical interview preparation, architectural patterns, and deep dives into software engineering fundamentals.
4 chapters