Two Wrongs



This index page tries really hard to be the best index page it can, but it falls short. Have patience with it.

In the meantime, here are some of my most popular articles.

If you were looking for something else, you may find it below. This is a complete listing of all published articles.


Software Engineering: What Has Changed Since 1968?

Quality in Software Development, Part 1: Culture & Communication

Referencing Nuget Packages in F# Interactive

My Currently Preferred Programming Languages

Essay Recommendation: On Having Enough Socks

Centered Cursor Mode in Vanilla Emacs

Emacs Calc – Evaluate Expression For Multiple Values

Standard Exception Hierarchy in .NET Core

.NET on Non-Windows Platforms: A Brief History

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

Top-down vs Bottom-up Programming

Migrating Away From Use-Package

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

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

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

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

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

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