Entropic Thoughts
- Posts
- 424 from 26 Oct 2014 to 28 Oct 2026
- Posting
- weekly (69 in the last year)
- Kind
- personal blog
- Feed
- https://entropicthoughts.com/feed
2026 53
- Extremely brief history of PDP computers
- MTL-style circuit simulator
- Script dependencies with Nix
- NixOS Is Making Me Less Afraid
- The geometric model of maintenance
- Swemak: Colemak for Swedish
- Predicting Peace
- Donating to open source
- Shrinking a Fedora virtual disk
- Cheaper LLM labelling
- Tag index for Org mode blog
- Better AI code comment detector
- Claude comment detection
- A curmudgeon tries a language server
- Snakes and Ladders
- A noob learns FFT
- Purely functional digital circuit simulator (SICP 3.3)
- Digital circuit simulator in Haskell (SICP 3.3)
- Kuiper Q-Q plot: are these the same?
- Intuition for distribution differences
- A full body MRI earns you a year of smoking
- Data-directed programming in Haskell (SICP 2.4.3)
- Tagged data in Haskell (SICP 2.4.2)
- GLM 5.2 playing text adventures
- Lean, not backpressure
- LLMs and almost good code
- Is the Monaco Grand Prix decided at qualifying?
- 90 % of the t distribution
- The stock market returns 4 %
- Pythagorean Addition
- Regatta Starting Stations – Chi-squared Continued
- Article previews in RSS
- Fizz Buzz Through Monoids
- Understanding systems
- Spaced Repetition: Beginner Guide/FAQ
- Object Oriented Programming in Ada
- Readership maths skills
- The MVC Mistake
- Lines of code are useful
- Esqueleto Tutorial
- Are LLMs not getting better?
- Rebasing in Magit
- Teaching Children to Bicycle
- Flake Checks in Shell
- Learning KeyBee
- Wilks’ Tolerance Intervals
- Laws of Succession
- Solving Systems of Equations Faster
- Survival Analysis of the Supreme Court
- Nvidia Stock Crash Prediction
- ACX 2025 Prediction Contest Retrospective
- You Need A Kitchen Slide Rule
- Disaster Costs, 1900–2024
2025 71
- Updated LLM Benchmark (Gemini 3 Flash)
- Go in 9×9 is Awesome
- Military Standard on Software Control Levels
- Packaging Perl and Shell for NixOS Deployment
- Deprecate Like You Mean It
- Advent of Code in Dialog
- Transparent Leadership Beats Servant Leadership
- Feynman vs. Computer
- Renewing GPG Subkeys in 2025
- Software Never Fails
- Questions for Cloudflare
- What Killed Perl?
- Arrival Radar
- Advent of Code on the Z-machine
- AWS DynamoDB Outage Analysis
- Weather Forecasts Are Punctuated
- Haiku 4.5 Playing Text Adventures
- The Greatness of Text Adventures
- Non-Obvious Haskell Idiom: Bind to Lambda Case
- Hazardous States and Accidents
- Non-Obvious Haskell Idiom: ViewPattern Argument Transform
- Why I Keep Blogging With Emacs
- What the Meteorologist: Announcing wxpull
- The Wind, a Pole, and the Dragon
- Procedural Rhetoric: Opinions as Algorithms
- You Want Technology With Warts
- Wiggling Into Correlation
- Debugging nixpkgs Package Build
- Search Index in 150 Lines of Haskell
- NixOS Hetzner Boot Repair
- Guessing Game: Haskell Style
- Non-Obvious Haskell Idiom: Conditional For
- Non-Obvious Haskell Idiom: Guard-Sequence
- Evaluating LLMs Playing Text Adventures
- Getting an LLM to Play Text Adventures
- Android Unexpected Keyboard Review
- Interacting With Text Adventures Through Perl
- Pay Off Mortgage Or Invest?
- Lessons From Creating My First Text Adventure
- Financial Calculations in Emacs
- Various Hill Plots
- The Low-Altitude Economy Is About War
- The Most Mario Colours Revisited
- Intuiting Monty Hall
- Do Stonks Go Up?
- When Is Insurance Worth It?
- Generating Shorthand SVG in JavaScript
- org-element Reimplements Emphasis Parsing
- Single-File Stateful Haskell Web App
- Announcing Decision Drill
- Sidenotes, Footnotes, Inlinenotes
- Reading GHC Errors
- Haskell: A Great Procedural Language
- Checking TLS Certificates with OpenSSL from Terminal
- Log-Survival to Death Rate
- Parser Combinators Beat Regexes
- The Surprising Richness of Correlations
- Insurance Perils
- Using Emacs More
- Actor-Motivation Forecasting Web Tool
- Locking Yourself Out With Firewall Configuration
- Arithmetic Models: Better Than You Think
- Deploying a Single-Binary Haskell Web App
- Brier Score
- An Opinion is not a Take
- Intention-to-Treat Experiments
- Featured Flashcards 2024 H2
- Quarterly Cup 2024 Q4 Retrospective
- The Discovery of Magnetic Variation
- Limiting Process Memory with systemd-run
- Statistical Literacy
2024 74
- The Making of a Forecasting Bot
- Book Review: War and Peace
- Chi-Squared From Fundamentals
- Practices of Reliable Software Design
- The Sample Size Curve
- Build Failure Rate from Build Times
- Using Nix to Try Tools
- Book Review: Savage Money
- So You Think You Know Ada?
- Opening any CLI in Emacs
- The Lying p Value
- Reading Notes: MPI and Message Passing Concurrency
- Quarterly Cup 2024 Q3 Retrospective
- Probability-Generating Functions
- Incident Inference From Symptoms
- Announcing Engineering Enigmas
- Enhanced Session with Fedora 40 in Hyper-V
- No Feedback ∴ No Good
- Tagnostic: Determine Tag Quality
- Happy Petrov Day 2024
- How Often Does a Child Get Sick?
- What Does an AI Revolution Look Like?
- Code Reviews Do Find Bugs
- Python Programmers’ Experience
- Types as Interfaces
- Bubble Sort Is Not Robust Either
- Sample Unit Engineering
- My Most Complicated Prompt So Far
- Why Story Points Don’t Work
- The Vindication of Bubble Sort
- Traffic Flow Fundamentals Flashcards
- ACX 2024 Prediction Contest Halfway Review
- q What do I title this article?
- Student Resampled His t Distribution
- Launching a Much-Requested Newsletter
- Entropic Thoughts: New Name for Two-Wrongs
- Publish Your Observations!
- Washing Machine Energy Estimations
- Continuous Kelly Trainer: Ship Investor 2
- Binary Kelly Trainer: Ship Investor Game
- Map of Pontypandy in Fireman Sam
- Troubles In Solving Uno
- Keep a Safe Following Distance
- Neat Inventions
- Getting Better at Counter-Strike
- Failing at Combinatorics with Haskell
- Inventing Fisher’s Exact Test
- Fermi, Majorana and Mental Maths
- Generating Almost Normally Distributed Values
- Forecasting ADIZ Violations
- When Is a Counter-Strike Player Good?
- Why Donate to Charity
- Free Banking Monopoly
- The Parking Lot Drill
- Browser-Based XmR Charts
- Quarterly Cup 2024 Q1 Retrospective
- Programming Apprenticeships
- Laws of Software Evolution
- Intrusive Unit Testing
- Extreme Value Statistical Process Control
- Deliberate Abstraction
- Common Mistakes in Modularisation
- Useful Uses of cat
- The Curse of Capital Management
- Static Actor–Motivation Forecasting: Peace in Middle East
- Software and Orders of Magnitude
- War – What is it Good For?
- SI Units for Request Rate
- .NET on Linux: What a Contrast
- Steady-State Actor–Motivation Forecasting
- Markets vs. Politics and Organisational Structure
- Improving a Gut Feeling Forecast
- Quarterly Cup 2023 Q4 Retrospective
- Outlier Detection
2023 83
- Estimating Standard Deviation From Timeseries
- John the Toolmaker
- First Impressions of Manifold
- Know Your Uncertainty
- Lessons From Evolution
- System Observability: Metrics, Sampling, and Tracing
- Bet On the Outcome of the Poker Experiment!
- Binary Finger Counting
- Computing Poker Win Rate From Sessions
- Poker is Surprisingly Generous
- How Not To Collect Data
- Huffman Codes – How Do They Work?
- Typing Fast Is About Latency, Not Throughput
- Forecasting Mistakes: Dow Jones Barrier
- FlowRatio: Work Sampling Made Easy
- The Expressivity Limitations of Object-Oriented Programming
- The Hypothesis of the Fair Coin
- Sensitivity Counts Against You
- Retrospective: Metaculus Quarterly Cup
- Intuition and Spaced Repetition
- Custom TCP Test Harness in Perl
- The Misunderstood Kelly Criterion
- Relevance Under Uncertainty
- Okay, Microservices Have Benefits Too
- Getting Used To Microservices
- Update On Antarctic Sea Ice
- Response Time Is the System Talking
- The Compound Poisson Process
- It Takes Long to Become Gaussian
- Forecasting Covid-19 Variants
- Trying A More Vanilla Fedora
- Reducing Measurement Error
- Optimise the Expensive First
- Statistician’s Time Series Hack
- Fun With Watercolours
- Forecasting Antarctic Sea Ice
- Retrospective Prompts
- Black Swans in a Permacrisis
- Maximum of Two Dice
- Limited Investment With Timeboxing
- Forecasting Accuracy
- First Impressions of Metaculus
- A3: Avoid Memos With An Agenda
- Word Embeddings in Perl: Baby Steps
- Tindall On Software Delays
- Latent Semantic Analysis in Perl
- Handoff Waste and Taylorism
- Scales of Plan-Driven Development
- Parallel Agile: Interesting Idea – Does It Work?
- Why Perl?
- The Unreasonable Effectiveness of Conditional Probabilities
- Reading Slightly More Incrementally
- Event Sourcing and Microservices – Unix Style
- Painting Shapes, Not Details
- Who Was On The Winning Team?
- Abduction is Not Induction
- Learning Some Logarithms
- Precel: Like Excel but for Uncertain Values
- Early Adventures in Spaced Repetition
- Birthday Line Puzzle
- What Is Probability?
- Update On the Sidescrolling Flight Simulator
- Sidescrolling Flight Simulator
- Mind the Gap When Learning
- Difficult Questions From Children
- Data Consistency Is Overrated
- Validate Your Skill
- Frequentism And False Dichotomies
- Historic Mistakes: Carriers And Presses
- The Secret of Meritocracy
- The Reinforcing Nature of Toil
- Three Customers In A Bank
- Share Buybacks Are Indirect Investments
- Central Banks Do Not Rule By Decree
- Stop Saying “Junior” And “Senior”
- Emptying the Dishwasher With Systems Theory
- Evolution Preserves the Status Quo
- Confusing Uncertainty For Information
- Predicting Resource Usage From Increased Traffic
- You Can (Somewhat) Reliably Measure Change Failure Rate
- Hovering a Helicopter
- Verifiable Software Development Estimations
- Programmers and Non-Coding Work
2022 10
- Sampling For Managers
- Statistical Process Control: A Practitioner’s Guide
- Queueing Systems 2: Percentiles and Simulation
- Markov Chains for Queueing Systems
- Bootstrapping Kaplan–Meier Survival Curves
- Dichotomisation Destroys Data
- Long Hiatus: Emacs Upgrades
- Poor Man’s Logistic Regression
- Quick Variance Computation
- Group Decision-Making and Debate
2021 12
- Default To Large Modules
- Estimating Work Lag
- Reading Notes: Accelerated Expertise
- Trading Functionality For Time
- Screenwriting and Software Development
- The Hidden Cost of Heroics
- Reuse Begets Coupling
- Bayes Rule in Odds Form
- Problem, Learning, and Information
- Build vs. Buy
- Guess ≠ Prediction ≠ Bet
- Survival Analysis For Customer Retention
2019 5
2018 22
- Code Review Checklist, Second Edition
- Debugging Common Lisp in Slime
- Purely Functional AVL Trees in Common Lisp
- Technical Writing: Learning from Kernighan
- Update Bound Data Without Replacing It in D3
- Intuition around NP-Hard and NP-Complete
- The Expressive Ada 2012 Challenge
- Matrix Is Everything I Want IRC To Be
- Computing Science Dictionary
- Blogging With R and ggplot2 in Org
- Migrating Away From Use-Package
- Top-down vs Bottom-up Programming
- Swedish Colemak Hack
- A Gentle Introduction to Monad Transformers
- Emacs Magic: Simple Pastebin
- Ceasing Short-Lived Maintenance of Emacs Versor
- Withdrawn: False Alarm About the TP300LA
- Asus TP300LA After Three Years: Battery Trouble
- Grep, sed and awk – The Right Tool For The Job
- The AWK State Machine Parser Pattern
- Pet Peeve: Tea, Tannins and Strength
- Why You Should Buy Into the Emacs Platform
2017 25
- Reading Notes: Understanding Nginx Location Selection
- Variable Width Unicode Fallback Fonts in Emacs
- Reasons To Like Stockholm: Water
- Emacs Calendar with Fixed Width Font
- Touchpad Pointer Speed in Xorg on Debian Linux
- Display Backlight Keys on TP300LA
- Emacs for Humans: Glossary
- New and Improved: Two-Wrongs Now Powered By Org Mode
- Migrating From iptables To nftables – Link Collection
- Temporarily Disabling iptables
- Passwordless sudo
- On Competing with C Using Haskell
- Sensor and Controller Chip in “Roxcore 720p” Action Camera
- Extendable Data in Haskell (part 2)
- Dynamic Dispatch in Haskell, or: How Can I Make My Code Extendable?
- Bayesian Statistics
- Pairing Debian Laptop with Bluetooth Headphones
- Reading Notes: Guide for Ravenscar in High Integrity Systems
- Securing a Debian Laptop with a Firewall
- Secure DNS on Laptop with Debian
- Selective Delays in SPARK and Ravenscar
- Unicode Strings in Ada 2012
- Timeout Blocking Requests in Ada
- Guessing Game: Ada Style!
- Intuition for Time Complexity of Algorithms
2016 24
- Basic Firewall Configuration (iptables)
- Basic Computer Security: Things I Want to Explore
- My Experience Using Yesod for a “Quick Hack”
- Current Email Solution: gpg-agent, cron, OfflineIMAP, Notmuch, Alot, Vim and msmtp
- Rethinking Text Input on Touch Screens
- Pomohoro: Combine the Pomodoro Technique with hledger and Timeclock for Productivity
- Fallback Font, Good Fonts and a General Font Recommendation
- Fake Bold Small Caps in XeLaTeX with Fontspec
- Connecting to KTH Eduroam on Debian Stretch
- Why Cyclists Use Public Roads
- Starting to Commute by Bicycle
- rtorrent missing from Homebrew on El Capitan
- Gmail Passwords Trusted, Yet Not Trusted
- The Weekly Pure Bullet Journal
- rsync.net
- Is Learning Shorthand for Personal Note-taking Worth It?
- Learning to Say No to Myself
- Systemet i Melins system
- A Checklist for Renewing GPG Subkeys
- Melins system, övning och demonstration
- Why I’m Learning Shorthand
- A Maze of Storage Cages
- The Bug in the Physical Building
- Parser Combinators: Parsing for Haskell Beginners
2015 26
- Using withPtr From inline-c in Haskell
- Darkroom Chemistry and Photograms
- Bubble Sort: Not Even Once
- On Escape Meta Alt Control Shift
- The Joy of Manipulation
- A Haskell Time Library Tutorial
- The Touchpad On the Asus TP300LA
- Redirect Every Subdomain to the Same Subdomain on a Different Host with Nginx
- Static Generation with Haskell
- Statically Generated Blog
- The Case for Controlled Side Effects
- The Mystery of the Deterministic Super Shotgun
- Web Scraping with Lenses
- How Laziness Works
- Developing B&W Film at Home
- IMAP/SMTP port numbers for Google mail
- Monospaced Code Formatting in Skype
- Parser Combinators
- RecordMyDesktop Videos Going out of Sync
- Does My DSLR Have Dead Pixels?
- Fast SQL for Inheritance in a Django Hierarchy
- Documentation: Reference Manual vs. Cookbook
- Why Web Apps Disappoint Me
- The Case for Shooting in Manual Mode
- How Much Does an Experienced Programmer Use Google
- Painting with Light
2014 19
- The “What Are Monads?” Fallacy
- A Year of Baduk
- An Update a Week Keeps the Hackers Away
- Debian Linux On the Asus TP300LA, Bad News #1
- Move Translations Between Django Apps
- Text Selection Behaves as Swipe in WeeChat
- Reasons to Know Vim – It’s Similar to ed
- Debian Linux On My Asus Transformer Book Flip (TP300LA)
- Myth of the Day: Functional Programmers Don’t Use Loops
- Discoverability of Functions in Functional Languages
- Resize Video While Keeping Quality High with FFmpeg
- What Optimisations Are Not
- Why Code Review Matters: Suble (Often Non-Breaking) Bugs
- Custom Surrounding Text with surround.vim
- Draw a Tree Structure With Only CSS
- Say What You Mean, Not What Happens to Work
- Email Quoting with Vim Visual Block Mode
- Calculator in Spotlight Not Doing Simple Arithmetic?
- Crash-Only Software on the Desktop, Please