2025-06-18
You can use `fzf` to review git commits
jvns.ca/til/fzf-preview-git-commitsI just learned that
you can use it to review a git commit like this and I thought that was really
cool.
2025-06-16
CSS Classes considered harmful
www.keithcirkel.co.uk/css-classes-considered-harmfulThe solution to all of these problems
I humbly put forward that modern web development provides us all the utilities to move away from class names and implement something much more robust, with some fairly straightforward changes:
Attributes
Attributes allow us to parameterise a component using a key-value representation, very similar to Map<string, T>. Browsers come with a wealth of selector functions to parse the values of an attribute.
2025-05-15
Writing that changed how I think about PL
bernsteinbear.com/blog/pl-writingEvery so often I come across a paper, blog post, or (occasionally) video that completely changes how I think about a topic in programming languages and compilers. For some of these posts, I can’t even remember how I thought about the idea before reading it—it was that impactful.
2025-01-07
Write your own tiny programming system(s)!
d3s.mff.cuni.cz/teaching/nprg0772024-11-04
Writing secure Go code
jarosz.dev/article/writing-secure-go-codeSecurity testing starts with understanding vulnerabilities. The CVE website lists known software flaws. The OWASP Top Ten highlights common weaknesses. With this knowledge, we can improve our Go development. This article shows how to put in place robust practices. They are to: fuzz inputs, verify dependencies, and use static analysis tools (SAST).
2024-09-02
Parsing awk is tricky
www.raygard.net/awkdoc/pages/awk_parsing_is_tricky.htmlA somewhat compact implementation of the awk programming language
2024-08-14
A Flexible Minimalist Neovim for 2024
wickstrom.tech/2024-08-12-a-flexible-minimalist-neovim.html2024-08-09
Store Code Discussions in Git using Git Notes
wouterj.nl/2024/08/git-notesCode discussions contain relevant information. Isn’t it a shame that we
keep these in the centralized GitHub/GitLab servers, far away from our
decentralized Git code? As soon as we move provider, we’ll lose all old
discussions! And how do you ever find the pull requests back from 5
years ago? Symfony has implemented a lightweight solution to this problem
years ago using a less-known feature of Git: Git Notes.
2024-07-09
Using use in Gleam
erikarow.land/notes/using-use-gleam2024-07-02
A write-ahead log is not a universal part of durability
notes.eatonphil.com/2024-07-01-a-write-ahead-log-is-not-a-universal-part-of-durability.htmlA write-ahead log is not a universal part of durability
2024-06-26
A reckless introduction to Hindley-Milner type inference
reasonableapproximation.net/2019/05/05/hindley-milner.html2024-06-20
Go's 'range over function' iterators and avoiding iteration errors
utcc.utoronto.ca/~cks/space/blog/programming/GoIteratorsAndAvoidingMistakes2024-06-18
Understanding SPF, DKIM, and DMARC: A Simple Guide
github.com/nicanorflavier/spf-dkim-dmarc-simplifiedUnderstanding a Python closure oddity
utcc.utoronto.ca/~cks/space/blog/python/UnderstandingClosureOddity2024-06-14
litterbox - IRC logger
git.causal.agency/litterbox/aboutpounce - IRC bouncer
git.causal.agency/pounce/aboutinterstar/cardigan-bay: A new wiki engine in Clojure ...
github.com/interstar/cardigan-bayA single-user “wiki” engine powering the ThoughtStorms wiki.
2024-06-13
API Tokens: A Tedious Survey
fly.io/blog/api-tokens-a-tedious-surveyComparison between types of API tokens.
OpenBSD extreme privacy setup
dataswamp.org/~solene/2024-06-08-openbsd-privacy-setup.htmlIn this article, you will learn how to install and configure OpenBSD to reduce its network activity over clearnet
2024-06-11
Self-serve dashboards
briefer.cloud/blog/posts/self-serve-bi-mythSales pitches are the only place where “self-serve dashboards" work. In the real world, it's a different story.
Why "business" people don't use metabase/power-bi.