2025-07-03
Beamer Viewer
beamerviewer.euxane.euThis web app displays notes and slides in separate windows,
keeping both synchronised.
It accepts simple, double-width, or double-height PDF presentations:
2025-06-26
The plan-execute pattern
mmapped.blog/posts/29-plan-execute.htmlI feel uneasy about design patterns.
On the one hand, my university class on design patterns revived my interest in programming.
On the other hand, I find most patterns in the Gang of Four book to be irrelevant to my daily work;
they solve problems that a choice of programming language or paradigm creates.My litmus test of a good design pattern is its cross-disciplinary applicability.
I’m more likely to accept an idea that pops up in fields beyond software engineering.
And the most convincing patterns are the ones that help me in everyday life.This article describes a universal pattern that billions of people rely on daily, but software engineers rarely discuss—the plan-execute pattern.
Box combinators
mmapped.blog/posts/41-box-combinators.htmlIn functional programming,
combinator libraries refer to a design style that emphasizes bottom-up program construction.
Such libraries define a few core data types
and provide constructors—functions that create initial objects—and combinators—functions that build larger objects from smaller pieces.Combinators enable the programmer to use intuitive visual and spatial reasoning
that’s vastly more powerful than linear language processing.
As a result, solving problems with combinators feels like playing with lego pieces.
2025-06-20
Cursed Knowledge | Immich
immich.app/cursed-knowledgeThings we wish we didn't know
2025-05-28
The Ingredients of a Productive Monorepo
blog.swgillespie.me/posts/monorepo-ingredients2025-05-23
Async from scratch 1: What's in a Future, anyway? | natkr's ramblings
natkr.com/2025-04-10-async-from-scratch-1There are a lot of guides about how to use async Rust from a "user's
perspective", but I think it's also worth understanding how it
works, what those async blocks actually mean.
2025-05-06
Debian installation with encrypted BTRFS
chaos.tomaskral.eu/guides/debian-encrypted-btrfs-root2025-03-13
Building interactive web pages with Guile Hoot
spritely.institute/news/building-interactive-web-pages-with-guile-hoot.html2024-12-17
Building GBA Games in Rust
shanesnover.com/2024/02/07/intro-to-rust-on-gba.html2024-11-20
On "Safe" C++
izzys.casa/2024/11/on-safe-cxx2024-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-07-03
Announcing wcurl: a curl wrapper to download files
samueloph.dev/blog/announcing-wcurl-a-curl-wrapper-to-download-files2024-06-27
plainweb
www.plainweb.devplainweb is a framework using HTMX, SQLite and TypeScript for less complexity and more joy.
2024-06-19
Pimalaya
pimalaya.orgOfficial website of the Pimalaya project.
2024-06-18
Understanding a Python closure oddity
utcc.utoronto.ca/~cks/space/blog/python/UnderstandingClosureOddity2024-06-13
Category Theory in Context
math.jhu.edu/~eriehl/context.pdfAPI Tokens: A Tedious Survey
fly.io/blog/api-tokens-a-tedious-surveyComparison between types of API tokens.
An easy-to-implement, arena-friendly hash map
nullprogram.com/blog/2023/09/302024-06-12
I really like the RP2040
dgroshev.com/blog/rp20402024-06-10
soju IRC bouncer
soju.imsoju is a user-friendly IRC bouncer. soju connects to upstream IRC servers on behalf of the user to provide extra functionality. soju supports many features such as multiple users, numerous IRCv3 extensions, chat history playback and detached channels. It is well-suited for both small and large deployments.