corpus.blog
Most cited
Talked about
Blogs
56,966 blogs · [ { "id": "01a087a2-1977-72b3-88e5-20849cfdb216", "title": "9000 RPM is faster than your screen refreshes", "url": "https://ma.ttias.be/9000-rpm/", "published_at": "2026-09-02T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-20849da58fd3", "title": "PWAs: Personal Web Apps", "url": "https://ma.ttias.be/pwas-personal-web-apps/", "published_at": "2026-08-19T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-20849e82f080", "title": "Deduplicating git worktrees on EXT4 with jdupes", "url": "https://ma.ttias.be/deduplicating-git-worktrees-ext4-jdupes/", "published_at": "2026-07-24T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-20849e98eb2c", "title": "Setting up a remote environment for agentic coding", "url": "https://ma.ttias.be/remote-coding-environment-vps/", "published_at": "2026-07-23T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-20849ef40e78", "title": "Merging multiple EPUBs into a single file for Amazon Kindle", "url": "https://ma.ttias.be/merging-epubs-single-kindle-file/", "published_at": "2026-07-12T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-20849f107190", "title": "What 1.8 million real website outages look like", "url": "https://ma.ttias.be/website-uptime-statistics/", "published_at": "2026-06-29T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-20849f473483", "title": "Dealing with concurrent bridge-network creates & host-port races in Docker", "url": "https://ma.ttias.be/docker-bridge-network-host-port-races/", "published_at": "2026-06-22T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-20849fc5757d", "title": "Laravel Octane (FrankenPHP) vs. PHP-FPM: what I measured, and why we went back", "url": "https://ma.ttias.be/laravel-octane-vs-php-fpm-lessons-learned/", "published_at": "2026-06-22T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a0c0a0cd", "title": "Turn your Filament panel into an AI-native dashboard", "url": "https://ma.ttias.be/filament-mcp/", "published_at": "2026-06-22T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a10266b4", "title": "Letting Cloudflare serve Brotli-compressed data with nginx", "url": "https://ma.ttias.be/letting-cloudflare-serve-brotli-with-nginx/", "published_at": "2026-06-15T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a1579fcb", "title": "Linux debugging tools I use daily", "url": "https://ma.ttias.be/linux-debugging-tools-i-use-daily/", "published_at": "2026-06-12T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a1ca47c2", "title": "The backup SSH daemon I run before every do-release-upgrade", "url": "https://ma.ttias.be/backup-sshd-do-release-upgrade/", "published_at": "2026-06-10T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a25c3dd0", "title": "AI is a confidence booster", "url": "https://ma.ttias.be/ai-is-a-confidence-booster/", "published_at": "2026-06-09T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a34c6766", "title": "Transcribing my old podcast locally with open-source AI", "url": "https://ma.ttias.be/transcribing-syscast-with-local-ai/", "published_at": "2026-06-09T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a3af442f", "title": "Configuring Varnish on systemd in 2026: drop-in overrides, not varnish.params", "url": "https://ma.ttias.be/varnish-systemd-drop-in-overrides-2026/", "published_at": "2026-06-08T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a3fb3520", "title": "Debugging cookie stripping in Varnish: client vs backend request in 2026", "url": "https://ma.ttias.be/debugging-varnish-cookie-stripping-2026/", "published_at": "2026-06-07T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a4146301", "title": "The ghost domain problem in DNS, and what we're doing about it", "url": "https://ma.ttias.be/the-ghost-domain-problem-in-dns/", "published_at": "2026-06-06T10:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a4c18458", "title": "Reading the Varnish log in 2026: varnishlog -q, -g grouping and the VSL query language", "url": "https://ma.ttias.be/reading-the-varnish-log-vsl-queries-2026/", "published_at": "2026-06-06T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a5768536", "title": "Varnish in 2026: it's called Vinyl Cache now, and the mental model still holds", "url": "https://ma.ttias.be/varnish-vinyl-cache-2026/", "published_at": "2026-06-05T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a5fa9c20", "title": "Running HTTP/3 with Caddy in 2026: it just works", "url": "https://ma.ttias.be/running-http3-with-caddy-2026/", "published_at": "2026-06-04T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a6e129be", "title": "Lessons learned: don't mix $timeout attributes and properties on queued Laravel jobs", "url": "https://ma.ttias.be/dont-mix-timeout-attributes-and-properties-laravel-jobs/", "published_at": "2026-06-03T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a7df2580", "title": "QUIC and HTTP/3 in 2026: from Google experiment to IETF standard", "url": "https://ma.ttias.be/quic-http3-in-2026/", "published_at": "2026-06-03T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a87902e6", "title": "Caching get_certificate lookups in Caddy", "url": "https://ma.ttias.be/caching-get-certificate-lookups-in-caddy/", "published_at": "2026-06-02T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a975cfe2", "title": "Serving HTTP/2 and HTTP/3 with Nginx in 2026", "url": "https://ma.ttias.be/serving-http2-http3-nginx-2026/", "published_at": "2026-06-02T00:00:00+00:00" }, { "id": "01a087a2-1977-72b3-88e5-2084a9847164", "title": "More time to think", "url": "https://ma.ttias.be/more-time-to-think/", "published_at": "2026-06-01T00:00:00+00:00" } ] posts
Claim your blog
Back to ma.ttias.be
Blog · corpus.blog/blogs/ma.ttias.be/posts
ma.ttias.be
ma.ttias.be
2026
9000 RPM is faster than your screen refreshes
original ↗
2 Sept 2026
PWAs: Personal Web Apps
original ↗
19 Aug 2026
Deduplicating git worktrees on EXT4 with jdupes
original ↗
24 Jul 2026
Setting up a remote environment for agentic coding
original ↗
23 Jul 2026
Merging multiple EPUBs into a single file for Amazon Kindle
original ↗
12 Jul 2026
What 1.8 million real website outages look like
original ↗
29 Jun 2026
Dealing with concurrent bridge-network creates & host-port races in Docker
original ↗
22 Jun 2026
Laravel Octane (FrankenPHP) vs. PHP-FPM: what I measured, and why we went back
original ↗
22 Jun 2026
Turn your Filament panel into an AI-native dashboard
original ↗
22 Jun 2026
Letting Cloudflare serve Brotli-compressed data with nginx
original ↗
15 Jun 2026
Linux debugging tools I use daily
original ↗
12 Jun 2026
The backup SSH daemon I run before every do-release-upgrade
original ↗
10 Jun 2026
AI is a confidence booster
original ↗
9 Jun 2026
Transcribing my old podcast locally with open-source AI
original ↗
9 Jun 2026
Configuring Varnish on systemd in 2026: drop-in overrides, not varnish.params
original ↗
8 Jun 2026
Debugging cookie stripping in Varnish: client vs backend request in 2026
original ↗
7 Jun 2026
The ghost domain problem in DNS, and what we're doing about it
original ↗
6 Jun 2026
Reading the Varnish log in 2026: varnishlog -q, -g grouping and the VSL query language
original ↗
6 Jun 2026
Varnish in 2026: it's called Vinyl Cache now, and the mental model still holds
original ↗
5 Jun 2026
Running HTTP/3 with Caddy in 2026: it just works
original ↗
4 Jun 2026
Lessons learned: don't mix $timeout attributes and properties on queued Laravel jobs
original ↗
3 Jun 2026
QUIC and HTTP/3 in 2026: from Google experiment to IETF standard
original ↗
3 Jun 2026
Caching get_certificate lookups in Caddy
original ↗
2 Jun 2026
Serving HTTP/2 and HTTP/3 with Nginx in 2026
original ↗
2 Jun 2026
More time to think
original ↗
1 Jun 2026