My Link Collection
Here is all the stuff I find interesting, but I haven't had the time to write full blog posts about. Or sometimes things, I think are worth sharing, or will help me later on, but I don't want to forget about them. So I just put them in a YAML file and render them here. 😬
Digital products and services keep getting worse. In the new report Breaking Free: Pathways to a fair technological future, the Norwegian Consumer Council has delved into enshittification and how to resist it. The report shows how this phenomenon affects both consumers and society at large, but that it is possible to turn the tide.
https://www.youtube.com/watch?v=T4Upf_B9RLQ
Know Postgres. Use Postgres. Postgres is your friend.
https://hypha.pub/postgres-is-your-friend-orm-is-not
FreeBSD is worth a brief aside here, because it differs from Linux in a fundamental way. Linux is a kernel. What most people call "Linux" is actually that kernel combined with a GNU userland, a package ecosystem, and a set of choices that vary from distro to distro — Ubuntu, Fedora, and Arch are all running the same kernel but are meaningfully different systems underneath.
https://hypha.pub/back-to-freebsd-part-1
Babashka now bundles JLine3, a Java library for building interactive terminal applications. You get terminals, line readers with history and tab completion, styled output, keyboard bindings, and the ability to reify custom completers, parsers, and widgets — all from bb scripts.
https://blog.michielborkent.nl/babashka-1.12.215.html
SIMPLE - is the best architecture. Defer decisions. Learn to say "no" and keep stuff out. As an architect you always make the most expensive decisions in a project.
https://www.youtube.com/watch?v=WRg13Ze_UpY
Monoliths vs. microservices? Wrong question. Messy code is the enemy. Master modularity—boundaries, cohesion, trade-offs—and build systems that last. Watch to learn why history repeats itself (and how to break the cycle).
https://www.youtube.com/watch?v=4qfsmE11Ejo
In this article, the transformation of programming—and what it means to build in the age of AI—is explored with raw honesty. A 40-year journey from wonder to uncertainty, and the quiet grief of watching the craft you loved change beyond recognition.
https://www.jamesdrandall.com/posts/the_thing_i_loved_has_changed/
Systems Thinking - There are two main schools of thought in software development about how to build really big, complicated stuff.
https://theprogrammersparadox.blogspot.com/2026/02/systems-thinking.html
The author has run into some trouble with soft delete designs. He'll cover those, and ponder ideas for how he'd build this in the future.
https://atlas9.dev/blog/soft-delete.html
Eucalypt is a frontend library for Squint ClojureScript. It replaces Reagent & React with a compatible-ish subset of the Reagent API. It supports form-1 and form-2 Reagent components.
https://github.com/chr15m/eucalypt
Simple declarative schema migration for SQLite
https://david.rothlis.net/declarative-schema-migration-for-sqlite/
Kroki provides a unified API with support for BlockDiag (BlockDiag, SeqDiag, ActDiag, NwDiag, PacketDiag, RackDiag), BPMN, Bytefield, C4 (with PlantUML), D2, DBML, Ditaa, Erd, Excalidraw, GraphViz, Mermaid, Nomnoml, Pikchr, PlantUML, Structurizr, SvgBob, Symbolator, TikZ, UMLet, Vega, Vega-Lite, WaveDrom, WireViz... and more to come!
https://github.com/yuzutech/kroki
a nice and clean compose key cheat sheet
https://tuttle.github.io/python-useful/compose-key-cheat-sheet.html
RatatuiRuby is a RubyGem built on Ratatui, a leading TUI library written in Rust. You get native performance with the joy of Ruby.
When it comes to database optimization, developers often reach for the same old tools: rewrite the query slightly differently, slap an index on a column, denormalize, analyze, vacuum, cluster, repeat.
Conventional techniques are effective, but sometimes being creative can really pay off!
https://hakibenita.com/postgresql-unconventional-optimizations
It is 2014 and 2026: Command-line Tools can be 235x Faster than your Hadoop Cluster
https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html
Can Ruby draw real cities — using real geospatial data — with no external GIS stack?
https://rubystacknews.com/2026/01/09/ruby-can-draw-cities-now/
A visual guide to the A* algorithm.
https://www.redblobgames.com/pathfinding/a-star/introduction.html
It’s here, the future of masonry layouts on the web!
https://webkit.org/blog/17660/introducing-css-grid-lanes/
OpenFreeMap survived 100,000 requests per second! This much traffic would cost over $6 million per month on MapTiler and double that on Mapbox.
https://blog.hyperknot.com/p/openfreemap-survived-100000-requests
The RETURNING clause has been a staple of Postgres for years, allowing INSERT, UPDATE, and DELETE operations to return data about the affected rows. This capability eliminates the need for follow-up SELECT queries, reducing round trips to the database and improving performance.
Publishing your work increases your luck
For every snarky comment, there are 10x as many people admiring your work.
https://github.com/readme/guides/publishing-your-work
There's a silver bullet next to the holy grail.
https://youtube.com/watch?v=mik1EbTshX4&pp=0gcJCR4Bo7VqN5tD
Simple and useful postgresql features.
https://it.badykov.com/blog/2022/09/12/simple-and-usefull-postgresql-features/
This blog post is to have a place where I can point people who have question about how it works, why, and when it makes sense to use it (pgBouncer that is).
https://www.depesz.com/2012/12/02/what-is-the-point-of-bouncing/
About UUID (and Postgres)
The author read 2000 web pages and shares his findings.
https://alexwlchan.net/2025/learning-how-to-make-websites/#html_tags
A “cooldown” is exactly what it sounds like: a window of time between when a dependency is published and when it’s considered suitable for use. The dependency is public during this window, meaning that “supply chain security” vendors can work their magic while the rest of us wait any problems out.
https://blog.yossarian.net/2025/11/21/We-should-all-be-using-dependency-cooldowns
Make podman work with lazygit.
https://github.com/jesseduffield/lazydocker/issues/4#issuecomment-1633219547
Couple weeks ago Cloudflare announced it would be sponsoring some Open Source projects. Throwing money at pet projects of random techbros would hardly be news, but there was a certain vibe behind them and the people leading them.
https://blogs.gnome.org/alatiera/2025/11/06/dhh-and-omarchy-midlife-crisis/
A Word on Omarchy - An in-depth look at the currently trending Arch Linux configuration that is Omarchy.
https://xn--gckvb8fzb.com/a-word-on-omarchy/
Warbled Sidekiq: Zero-install Executable for JVM
https://blog.headius.com/2025/10/warbled-sidekiq.html
Exploring why Finnish developers excel long-term, showcasing the Nordic way of code.
https://runitbare.com/why-finnish-devs-outperform-silicon-valley-long-term-the-nordic-way-of-code/
Packaging Ruby Apps with Warbler & JAR files
https://blog.headius.com/2025/10/packaging-ruby-apps-with-warbler-jar-files.html
When you see a local-first app that seamlessly syncs with other applications distributed worldwide, it feels like magic. Under the hood, a lot is happening, and it has to happen in the right order for the algorithm to preserve correctness.
https://marcobambini.substack.com/p/the-secret-life-of-a-local-first
More glory, more SQLite 😍
https://andre.arko.net/2025/09/11/rails-on-sqlite-exciting-new-ways-to-cause-outages/
Exclude is particularly handy when you want to keep personal, non-standard files in a repository that is not yours, and where you cannot update its ignore files willy-nilly.
dali is a Clojure library for representing, exporting and manipulating the SVG graphics format.
https://github.com/stathissideris/dali
This page translates common operations in bash with the equivalent in babashka. Examples below use shell which executes a subprocess synchronously. shell is available as a top-level fn for tasks. For bb scripts, refer it in with (require '[babashka.process :refer [shell]]).
Field Notes From Shipping Real Code With Claude Vibe Coding Isn’t Just a Vibe
https://diwank.space/field-notes-from-shipping-real-code-with-claude
Creating Beautiful Charts with JRuby and JFreeChart
https://blog.headius.com/2025/04/beautiful-charts-with-jruby-and-jfreechart.html
Detect if a device is mouseOnly, touchOnly, or hybrid, and if the primary input is mouse or touch.
https://github.com/rafgraph/detect-it
Full-featured logic programming (AKA "Prolog") embedded in/callable from and supporting calls to Clojure. In the spirit of LogLisp, Lisp Machine Prolog, and Franz Inc.'s Allegro Prolog, with some extra goodies.
https://github.com/bobschrag/clolog
Visualize your location history, track your movements, and analyze your travel patterns with complete privacy and control.
https://github.com/Freika/dawarich
Dify is an open-source LLM app development platform. Dify's intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production.
https://github.com/langgenius/dify
pgLedger: Ledger implementation in PostgreSQL
https://www.pgrs.net/2025/03/24/pgledger-ledger-implementation-in-postgresql/
git-who is a command-line tool for answering that eternal question: Who wrote this code?!
Unlike git blame, which can tell you who wrote a line of code, git-who tells you the people responsible for entire components or subsystems in a codebase. You can think of git-who sort of like git blame but for file trees rather than individual files.
https://github.com/sinclairtarget/git-who
Get started with Datomic Pro quickly on a single machine setup that will take you pretty far.
https://github.com/filipesilva/datomic-pro-sqlite
This fundamentally changed the way I build full-stack applications - Durable Objects
1 minute coding tip: git diff-words to see diffs on a per-word basis instead of per line
https://www.youtube.com/watch?v=gDkvLxbA5ZE
Java, How Fast Can You Parse 1 Billion Rows of Weather Data? • Roy van Rijn • GOTO 2024
Typescript Mistakes Every Junior Developer should Avoid | clean-code
https://www.youtube.com/watch?v=ZCllX1p763U
RubyConf 2023 - Ruby on Rack: The Magic Between Request and Response by Meagan Waller
RubyConfTH 2022 - Roda: Simplicity, Reliability, Extensibility, Performance by Jeremy Evans
Babashka Conf 2023: "Growing an Ecosystem: Lessons Learned (Closing Keynote)" by Michiel Borkent
https://code.jeremyevans.net/2023-02-14-speeding-up-tests-in-applications-using-sequel-and-roda.html
RailsConf 2022 - Testing legacy code when you dislike tests (and legacy code) by Maeve Revels
Roda: Simplicity, Reliability, Extensibility & Performance by Jeremy Evans
PGConf NYC 2021 - Advanced Data Types in PostgreSQL by Andreas Scherbaum
“Agile” is more than 20 years old. It is based upon several lightweight approaches that saw the light of day in de years before (like XP, Scrum, and Crystal). One of the cornerstones of Agile is the emphasis on the autonomy of the developers. They should be in control of the what, when, and how.
Build and deploy a full stack Clojure and ClojureScript Web Application
Here’s Why You’re Doing Code Review WRONG - Essential Software Engineer Skills
https://www.youtube.com/watch?v=rTvq8vS42zk
Full Stack Clojure App - clojure/script + deps.edn + shadow-cljs + Helix + Tailwind
The Secret Art of Storytelling in Programming by Yehonathan Sharvit
https://m.youtube.com/watch?v=xbikBoA3Oik
RailsConf 2022 - A Rails Performance Guidebook: from 0 to 1B requests/day by Cristian Planas
you'll always be inferior | Alex Ziskind talks about "Courage to be Disliked" by Fumitake Koga and Ichiro Kishimi and here's what he's got from the book as it relates to feelings of inferiority as a software developer.