corpus.blog
Most cited
Talked about
Blogs
41554 blogs · [ { "id": "01a08766-fe2b-70c9-a543-ccf8d1e98773", "title": "Feedback loop engineering", "url": "https://www.danieldemmel.me/blog/feedback-loop-engineering", "published_at": "2026-01-31T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d219b0f4", "title": "Coding agents in secured VS Code dev containers", "url": "https://www.danieldemmel.me/blog/coding-agents-in-secured-vscode-dev-containers", "published_at": "2026-01-24T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d234ff66", "title": "My current development tooling setup", "url": "https://www.danieldemmel.me/blog/my-coding-agent-workflows", "published_at": "2025-11-04T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d3050456", "title": "The leftist case for generative AI", "url": "https://www.danieldemmel.me/blog/the-leftist-case-for-generative-ai", "published_at": "2025-10-29T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d3ce9289", "title": "Using Distroless in production instead of Alpine", "url": "https://www.danieldemmel.me/blog/securing-python-docker-images-with-distroless", "published_at": "2025-08-08T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d471cff9", "title": "Lisbon Story 1994–2024", "url": "https://www.danieldemmel.me/blog/lisbon-story-1994-2024", "published_at": "2024-10-06T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d4c43cdb", "title": "Expanding TrueNAS Scale with a new drive", "url": "https://www.danieldemmel.me/blog/expanding-truenas-scale-with-a-new-drive", "published_at": "2024-07-21T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d5280d98", "title": "What are Large Language Models and how to run open ones on your device", "url": "https://www.danieldemmel.me/blog/what-are-large-language-models-and-how-to-run-open-ones-on-your-device", "published_at": "2023-12-02T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d6234646", "title": "Understanding embeddings and how to use them for semantic search", "url": "https://www.danieldemmel.me/blog/understanding-embeddings-and-how-to-use-them-for-semantic-search", "published_at": "2023-11-05T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d673d656", "title": "Installing and configuring TrueNAS Scale for home use", "url": "https://www.danieldemmel.me/blog/installing-and-configuring-truenas-scale-for-home-use", "published_at": "2023-08-21T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d6dccea3", "title": "Delightful rabbit hole #1", "url": "https://www.danieldemmel.me/blog/delightful-rabbit-hole-no1", "published_at": "2023-07-12T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d7931fc0", "title": "Build a cheap but fast home NAS system", "url": "https://www.danieldemmel.me/blog/build-a-cheap-but-fast-home-nas-system", "published_at": "2023-06-16T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d86d8a99", "title": "Safely access your home NAS with an OpenVPN server on GCP", "url": "https://www.danieldemmel.me/blog/safely-access-your-home-nas-with-an-openvpn-server-on-gcp", "published_at": "2021-08-08T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d8a8aaaa", "title": "Give app servers a REST – CDNs and APIs are the new LAMP", "url": "https://www.danieldemmel.me/blog/Give-app-servers-a-REST-CDNs-and-APIs-are-the-new-LAMP", "published_at": "2017-07-12T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d8afb8e7", "title": "Creative Lives interview", "url": "https://www.danieldemmel.me/blog/creative-lives-interview", "published_at": "2017-07-04T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d92f8492", "title": "Why and how Github should have binary diffs", "url": "https://www.danieldemmel.me/blog/why-and-how-github-should-have-binary-diffs", "published_at": "2015-11-28T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d9d02dd5", "title": "Finding an affordable electric family cargo bike in London", "url": "https://www.danieldemmel.me/blog/finding-an-affordable-electric-family-cargo-bike-in-london", "published_at": "2015-08-31T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8d9ecab10", "title": "Indiewebify yourself", "url": "https://www.danieldemmel.me/blog/indiewebify-yourself", "published_at": "2015-08-16T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8daa46a96", "title": "Containerise everything", "url": "https://www.danieldemmel.me/blog/containerise-everything", "published_at": "2015-08-14T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8db72b72e", "title": "Why YOU — not Henry Ford — should design your working life", "url": "https://www.danieldemmel.me/blog/why-you-not-henry-ford-should-design-your-working-life", "published_at": "2014-04-13T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8dc67a9fa", "title": "Build your Minimum Viable Product", "url": "https://www.danieldemmel.me/blog/build-your-minimum-viable-product", "published_at": "2014-01-19T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8dcba73ec", "title": "An introduction to jQuery Deferred / Promise and the design pattern in general", "url": "https://www.danieldemmel.me/blog/an-introduction-to-jquery-deferred-slash-promise", "published_at": "2013-03-22T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8dd80168b", "title": "Getting Cross-origin resource sharing with complex jQuery AJAX requests", "url": "https://www.danieldemmel.me/blog/getting-cross-origin-resource-sharing-with-complex-jquery-ajax-requests", "published_at": "2013-01-18T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8de01bea0", "title": "On the fragile relationship between nature conservation and economic growth", "url": "https://www.danieldemmel.me/blog/some-thoughts-on-the-fragile-relationship-between-nature-conservation-and-economic-growth", "published_at": "2012-09-03T00:00:00+00:00" }, { "id": "01a08766-fe2b-70c9-a543-ccf8de942aa7", "title": "Setting up rmate with Sublime Text for remote file editing over SSH", "url": "https://www.danieldemmel.me/blog/setting-up-rmate-with-sublime-text-for-remote-file-editing-over-ssh", "published_at": "2012-09-02T00:00:00+00:00" } ] posts
Claim your blog
Back to danieldemmel.me
Blog · corpus.blog/blogs/danieldemmel.me/posts
danieldemmel.me
danieldemmel.me
2026
Feedback loop engineering
original ↗
31 Jan 2026
Coding agents in secured VS Code dev containers
original ↗
24 Jan 2026
2025
My current development tooling setup
original ↗
4 Nov 2025
The leftist case for generative AI
original ↗
29 Oct 2025
Using Distroless in production instead of Alpine
original ↗
8 Aug 2025
2024
Lisbon Story 1994–2024
original ↗
6 Oct 2024
Expanding TrueNAS Scale with a new drive
original ↗
21 Jul 2024
2023
What are Large Language Models and how to run open ones on your device
original ↗
2 Dec 2023
Understanding embeddings and how to use them for semantic search
original ↗
5 Nov 2023
Installing and configuring TrueNAS Scale for home use
original ↗
21 Aug 2023
Delightful rabbit hole #1
original ↗
12 Jul 2023
Build a cheap but fast home NAS system
original ↗
16 Jun 2023
2021
Safely access your home NAS with an OpenVPN server on GCP
original ↗
8 Aug 2021
2017
Give app servers a REST – CDNs and APIs are the new LAMP
original ↗
12 Jul 2017
Creative Lives interview
original ↗
4 Jul 2017
2015
Why and how Github should have binary diffs
original ↗
28 Nov 2015
Finding an affordable electric family cargo bike in London
original ↗
31 Aug 2015
Indiewebify yourself
original ↗
16 Aug 2015
Containerise everything
original ↗
14 Aug 2015
2014
Why YOU — not Henry Ford — should design your working life
original ↗
13 Apr 2014
Build your Minimum Viable Product
original ↗
19 Jan 2014
2013
An introduction to jQuery Deferred / Promise and the design pattern in general
original ↗
22 Mar 2013
Getting Cross-origin resource sharing with complex jQuery AJAX requests
original ↗
18 Jan 2013
2012
On the fragile relationship between nature conservation and economic growth
original ↗
3 Sept 2012
Setting up rmate with Sublime Text for remote file editing over SSH
original ↗
2 Sept 2012