/ links

links

A collection of articles, videos, and other resources that piqued my interest. Most are related to web development and programming in general, but there's some other topics mixed in. I often find these by browsing link aggregators like Lobsters and the programming subreddit.

Patterns in confusing explanations

by Julia Evans — Aug 2021
Writing patterns that make explanations hard to understand.
article documentation

PAGNIs: Probably Are Gonna Need Its

by Simon Willison — Jul 2021
Examples of features that are the opposite of YAGNI. The cost of adding them later is way higher than the cost of adding them early on.
article

Avoiding complexity with systemd

by Michael Maclean — Jun 2021
How to create a systemd service with a dynamic user, socket activation, and credentials.
article systemd

The most useful math formulas

by ubitux — Jun 2021
Linear interpolation, inverse lerp, remap.
article math

The Documentation System

by Daniele Procida — Aug 2017
Documentation needs to include and be structured around its four different functions: tutorials, how-to guides, technical reference and explanation.
article documentation Discovered May 2021.

Against service layers in Django

by James Bennett — Mar 2020
Opinions about business logic, models, and managers.
article django Discovered Apr 2020.

Parcel v2

by Devon Govett — Sep 2019
A compiler/bundler like Webpack, but nicer to work with.
tool js Discovered Jan 2020.

idyll

by Interactive Data Lab at UW — Oct 2018
A toolkit for creating data-driven stories and explorable explanations.
tool Discovered Nov 2019.

The Flawed Theory Behind Unit Testing

by Michael Feathers — Jun 2008
Unit testing is not just about catching errors. It's about forcing us to think about the code, similarly to Clean Room (logical predicates).
article testing Discovered Nov 2019.

Giving Up on TDD

by Robert C. Martin — Mar 2016
Captures the essence of TDD, giving answers to common complaints from programmers.
article testing Discovered Nov 2019.

How to recognize AI snake oil

by Arvind Narayanan — Nov 2019
Categorizes AI apps into how difficult they are to create: perception; automatic judgement; predicting social outcomes.
article ai

The Practical Test Pyramid

by Ham Vocke — Feb 2018
Shows which kinds of test belong in each level of the pyramid; gives practical implementation examples
article testing Discovered Nov 2019.

Leveling Up Skill #6: Commit Tracing

by Chelsea Troy — Jul 2018
Use git and formulaic writing to learn a new codebase or framework faster.
article git Discovered Nov 2019.

Two Cents

by PBS — Oct 2018
Educational show about personal finance.
video series finance Discovered Nov 2019.

htop explained

by Pēteris Ņikiforovs — Dec 2016
Deep dive on intepreting output from htop. Process states, niceness, memory usage, etc.
article linux Discovered Nov 2019.

German Texts for Beginners

by german.net — Oct 2019
Reading exercises for learning german. Classified by CEFR levels (A1, A2, etc.).
resource german

SerenityOS: From zero to HTML in a year

by Andreas Kling — Oct 2019
Guy builds his own operating system from scratch: kernel, GUI toolkit, networking, sound, and web browser.
article

Taking Control of Your Git History

by Matija Marohnić — Oct 2019
Walkthrough of git commands for exploring and manipulating history.
article git

PostgreSQL When It's Not Your Job

by Christophe Pettus — May 2017
How to configure: logging, memory, checkpoints, roles, WAL, backups, point in time recovery, replication, etc. Enough tips to be dangerous!
article postgresql Discovered Oct 2019.

CSS Utility Classes and "Separation of Concerns"

by Adam Wathan — Aug 2017
CSS that depends on HTML vs HTML that depends on CSS. Semantic vs utility-first CSS.
article css Discovered Sep 2019.

Design Tips from Refactoring UI

by Steve Schoger — May 2018
A collection of tips for making web apps look and feel better.
article css Discovered Sep 2019.