56,966 blogs · [ { "id": "01a0876c-45b9-71c0-b2f6-2c86473460e3", "title": "Migrating my Homelab from TrueNAS to Proxmox", "url": "https://dfederm.com/migrating-my-homelab-from-truenas-to-proxmox/", "published_at": "2026-03-30T00:00:00+00:00" }, { "id": "01a0876c-45b9-71c0-b2f6-2c8647caed05", "title": "Managing Home Assistant Config From GitHub", "url": "https://dfederm.com/managing-home-assistant-config-from-github/", "published_at": "2026-02-17T00:00:00+00:00" }, { "id": "01a0876c-45b9-71c0-b2f6-2c8647f46ae9", "title": "How to rip Blu-rays and watch on Jellyfin", "url": "https://dfederm.com/how-to-rip-blurays-and-watch-on-jellyfin/", "published_at": "2026-01-21T00:00:00+00:00" }, { "id": "01a0876c-45b9-71c0-b2f6-2c8648399ae4", "title": "Migrating pictures from OneDrive to Immich on TrueNAS Scale", "url": "https://dfederm.com/migrating-pictures-from-onedrive-to-immich-on-truenas-scale/", "published_at": "2024-07-17T00:00:00+00:00" }, { "id": "01a0876c-45b9-71c0-b2f6-2c864915707f", "title": "Backing up TrueNAS Scale to OneDrive", "url": "https://dfederm.com/backing-up-truenas-scale-to-onedrive/", "published_at": "2024-03-20T00:00:00+00:00" }, { "id": "01a0876c-45b9-71c0-b2f6-2c864a109645", "title": "Building a NAS and Media Server for under $500", "url": "https://dfederm.com/building-a-nas-and-media-server-for-under-500/", "published_at": "2024-01-06T00:00:00+00:00" }, { "id": "01a0876c-45b9-71c0-b2f6-2c864ad61318", "title": "Limited Parallelism Work Queue", "url": "https://dfederm.com/limited-parallelism-work-queue/", "published_at": "2023-12-03T00:00:00+00:00" }, { "id": "01a0876c-45b9-71c0-b2f6-2c864b118d61", "title": "Scripting Machine Setup", "url": "https://dfederm.com/scripting-machine-setup/", "published_at": "2023-05-23T00:00:00+00:00" }, { "id": "01a0876c-45b9-71c0-b2f6-2c864bd200fd", "title": "Removing unused dependencies with ReferenceTrimmer", "url": "https://dfederm.com/removing-unused-dependencies-with-referencetrimmer/", "published_at": "2023-02-12T00:00:00+00:00" }, { "id": "01a0876c-45b9-71c0-b2f6-2c864c2c4950", "title": "Async Mutex", "url": "https://dfederm.com/async-mutex/", "published_at": "2022-11-03T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3e2e9c75e", "title": "How does PackageReference work?", "url": "https://dfederm.com/how-does-packagereference-work/", "published_at": "2022-06-06T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3e28333b8", "title": "Did you forget to set the alarm?", "url": "https://dfederm.com/did-you-forget-to-set-the-alarm/", "published_at": "2022-02-17T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3e2734247", "title": "Migrate from Home Assistant legacy Z-Wave to Z-Wave JS", "url": "https://dfederm.com/migrate-homeassistant-zwave-to-zwave-js/", "published_at": "2021-02-28T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3e1dbb8fc", "title": "Creating a blog using GitHub Pages", "url": "https://dfederm.com/creating-a-blog-using-github-pages/", "published_at": "2021-01-18T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3e1989210", "title": "Debugging MSBuild", "url": "https://dfederm.com/debugging-msbuild/", "published_at": "2020-12-13T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3e0b794a1", "title": "Building a Console App with .NET Generic Host", "url": "https://dfederm.com/building-a-console-app-with-.net-generic-host/", "published_at": "2020-08-24T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3e09710f2", "title": "Setting up a Security System with Home Assistant", "url": "https://dfederm.com/setting-up-a-security-system-with-home-assistant/", "published_at": "2020-04-25T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3dfd13c21", "title": "Authoring MSBuild Project SDKs", "url": "https://dfederm.com/authoring-msbuild-project-sdks/", "published_at": "2020-02-13T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3df1c62d1", "title": "Migrating from WebCORE to Home Assistant", "url": "https://dfederm.com/migrating-from-webcore-to-home-assistant/", "published_at": "2019-07-11T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3df12cf13", "title": "Learn Span by Implementing a high-performance CSV Parser", "url": "https://dfederm.com/learn-span-by-implementing-a-high-performance-csv-parser/", "published_at": "2018-07-19T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3de7a7fd3", "title": "A Tale of Performance and Bad SQL Usage", "url": "https://dfederm.com/a-tale-of-performance-and-bad-sql-usage/", "published_at": "2018-03-24T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3de030c85", "title": "Trimming Unnecessary Dependencies from Projects", "url": "https://dfederm.com/trimming-unnecessary-dependencies-from-projects/", "published_at": "2018-02-19T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3dd4c3057", "title": "Setting up a Roaming Developer Console", "url": "https://dfederm.com/setting-up-a-roaming-developer-console/", "published_at": "2018-02-10T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3dc4f2d7f", "title": "Testing asynchronous code: async vs fake async", "url": "https://dfederm.com/testing-asynchronous-code-async-vs-fake-async/", "published_at": "2018-02-04T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3db57851d", "title": "HttpClient and Unit Testing", "url": "https://dfederm.com/httpclient-and-unit-testing/", "published_at": "2018-01-28T00:00:00+00:00" }, { "id": "01a0c7a0-ee83-728b-acce-4ce3e7163193", "title": "About | David’s Blog", "url": "https://dfederm.com/about/", "published_at": null }, { "id": "01a0c7a0-ee83-728b-acce-4ce3e79e4f29", "title": "Categories | David’s Blog", "url": "https://dfederm.com/categories/", "published_at": null }, { "id": "01a0c7a0-ee83-728b-acce-4ce3e86d6d8e", "title": "David’s Blog", "url": "https://dfederm.com/", "published_at": null }, { "id": "01a0c7a0-ee83-728b-acce-4ce3e8df31b6", "title": "License | David’s Blog", "url": "https://dfederm.com/license/", "published_at": null }, { "id": "01a0c7a0-ee83-728b-acce-4ce3e9b7454f", "title": "Privacy Policy", "url": "https://dfederm.com/privacy-policy/", "published_at": null }, { "id": "01a0c7a0-ee83-728b-acce-4ce3ea26870f", "title": "David’s Blog", "url": "https://dfederm.com/2/", "published_at": null }, { "id": "01a0c7a0-ee83-728b-acce-4ce3ea9cd8d8", "title": "David’s Blog", "url": "https://dfederm.com/3/", "published_at": null }, { "id": "01a0c7a0-ee83-728b-acce-4ce3eb62f9d7", "title": "David’s Blog", "url": "https://dfederm.com/4/", "published_at": null }, { "id": "01a0c7a0-ee83-728b-acce-4ce3eb8b33c5", "title": "David’s Blog", "url": "https://dfederm.com/5/", "published_at": null } ] posts Claim your blog
Back to dfederm.com
Blog · corpus.blog/blogs/dfederm.com/posts

dfederm.com

dfederm.com

2026

2024

2023

2022

2021

2020

2019

2018

Undated