41554 blogs · [ { "id": "01a08768-9fa5-71ed-9c61-8bd51d52ea20", "title": "Project Announcement: Klanghaus - The Missing Piece of My Music Setup", "url": "https://www.davd.io/posts/2026-08-20-klanghaus-native-ios-macos-client-for-music-assistant/", "published_at": "2026-08-20T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd51d9b66e0", "title": "Buy, Own, Stream - The \"Rip, Mix, Burn\" of 2026", "url": "https://www.davd.io/posts/2026-08-02-buy-own-stream/", "published_at": "2026-08-02T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd51de99a95", "title": "Back on GrapheneOS in 2026", "url": "https://www.davd.io/posts/2026-03-21-back-on-grapheneos-in-2026/", "published_at": "2026-03-21T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd51e1bd9cb", "title": "My Linux Setup 2025/2026", "url": "https://www.davd.io/posts/2025-12-02-my-linux-setup-2025-2026/", "published_at": "2025-12-02T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd51e8fae19", "title": "The Human Touch in a Machine World", "url": "https://www.davd.io/posts/2025-05-26-the-human-touch-in-a-machine-world/", "published_at": "2025-05-26T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd51f7ea299", "title": "Self-hosting Brave Sync Server v2", "url": "https://www.davd.io/posts/2025-02-15-self-hosting-the-brave-sync-server/", "published_at": "2025-02-15T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd520590bb7", "title": "Re-Implementing the Google Reader API in 2025", "url": "https://www.davd.io/posts/2025-02-05-reimplementing-google-reader-api-in-2025/", "published_at": "2025-02-05T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5213b778c", "title": "Suddenly, a homelab", "url": "https://www.davd.io/posts/2023-12-30-suddenly-a-homelab/", "published_at": "2023-12-20T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5214c7848", "title": "Finally switching from iOS: My GrapheneOS setup", "url": "https://www.davd.io/posts/2023-05-19-my-grapheneos-setup/", "published_at": "2023-05-19T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52154c23b", "title": "Tesla Wall Connector: Calculate EV charging cost using Home Assistant", "url": "https://www.davd.io/posts/2023-04-12-calculating-ev-power-price-tesla-wall-connector-home-assistant/", "published_at": "2023-04-12T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5218b8323", "title": "FreeBSD mail server: rspamd & DKIM", "url": "https://www.davd.io/posts/2022-06-16-freebsd-mail-server-rspamd-dkim/", "published_at": "2022-06-16T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52216ccef", "title": "FreeBSD mail server: Virtual users and LMTP", "url": "https://www.davd.io/posts/2022-05-29-freebsd-mail-server-virtual-users-lmtp/", "published_at": "2022-05-29T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52225e8e9", "title": "FreeBSD mail server: IMAP using Dovecot", "url": "https://www.davd.io/posts/2022-01-05-freebsd-mail-server-imap-using-dovecot/", "published_at": "2022-01-05T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd522f8b210", "title": "FreeBSD mail server: Basic SMTP with OpenSMTPd", "url": "https://www.davd.io/posts/2021-12-18-freebsd-mail-server-part-1/", "published_at": "2021-12-18T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5234195d1", "title": "Spatial Audio in tvOS 15 Beta 1 does not work on Apple TV HD", "url": "https://www.davd.io/posts/2021-06-21-spatial-audio-does-not-work-on-appletv-hd/", "published_at": "2021-06-21T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd523420a92", "title": "First workstation build in years", "url": "https://www.davd.io/posts/linux-workstation-build/", "published_at": "2020-10-29T23:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5239ba04c", "title": "My workflow for blogging on iPad", "url": "https://www.davd.io/posts/blogging-on-ipad/", "published_at": "2019-10-10T23:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5247c1522", "title": "Implementing CSS Dark Mode", "url": "https://www.davd.io/posts/implementing-css-dark-mode/", "published_at": "2019-03-26T20:31:12+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd524c52801", "title": "Fix Relative Paths in NodeJS Apps", "url": "https://www.davd.io/posts/fix-nodejs-relative-paths/", "published_at": "2019-03-22T06:49:38+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52508144b", "title": "Move Docker Volumes using rsync", "url": "https://www.davd.io/posts/move-docker-volumes/", "published_at": "2019-03-21T14:27:52+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd525228bf5", "title": "Creating a Fever API for Nextcloud News Part 1: Exploration / Mocking", "url": "https://www.davd.io/creating-a-fever-api-for-nextcloud-news-1-exploration-mocking/", "published_at": "2019-03-04T12:03:33+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd525648f33", "title": "byeCloud: Hosting Notes with Nextcloud", "url": "https://www.davd.io/byecloud-hosting-notes-with-nextcloud/", "published_at": "2019-03-01T12:25:47+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd525dbf4a6", "title": "Build a blog with Hugo I: Getting started", "url": "https://www.davd.io/blog-with-hugo-1-getting-started/", "published_at": "2019-02-10T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd526234686", "title": "Install Ubuntu on FreeBSD with byhve (Update Ubuntu 18.04)", "url": "https://www.davd.io/install-ubuntu-on-freebsd-with-bhyve/", "published_at": "2019-02-05T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd526bc5d62", "title": "Samba fileserver on FreeBSD (Update FreeBSD 12)", "url": "https://www.davd.io/samba-fileserver-on-freebsd/", "published_at": "2019-01-30T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5276197cd", "title": "Docker: MongoDB connection slow", "url": "https://www.davd.io/docker-mongodb-connection-slow/", "published_at": "2019-01-12T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd527682f0d", "title": "Convert MKV to MP4 on macOS", "url": "https://www.davd.io/convert-mkv-to-mp4-on-macos/", "published_at": "2018-12-23T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd527d19113", "title": "NodeJS: Interactive shell with hot reload", "url": "https://www.davd.io/nodejs-interactive-shell-with-hot-reload/", "published_at": "2018-11-28T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5285351cd", "title": "byeCloud: Firefox Sync Server - UPDATE", "url": "https://www.davd.io/byecloud-firefox-sync-server/", "published_at": "2018-11-05T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5294b23e9", "title": "byeCloud: Replace iCloud Keychain with KeePass", "url": "https://www.davd.io/byecloud-replace-icloud-keychain-with-keepass/", "published_at": "2018-11-04T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5297b7776", "title": "byeCloud: GitLab with Docker and Traefik", "url": "https://www.davd.io/byecloud-gitlab-with-docker-and-traefik/", "published_at": "2018-11-02T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd529fd8452", "title": "Resize all images in subdirectories", "url": "https://www.davd.io/resize-all-images-in-subdirectories/", "published_at": "2018-08-20T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52a473be4", "title": "Sign your Git commits with PGP", "url": "https://www.davd.io/sign-your-git-commits-with-pgp/", "published_at": "2018-07-23T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52a8ced11", "title": "Download encrypted HLS content with ffmpeg", "url": "https://www.davd.io/download-encrypted-hls-content-with-ffmpeg/", "published_at": "2018-07-03T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52ab96b96", "title": "Securing macOS", "url": "https://www.davd.io/securing-macos/", "published_at": "2018-06-02T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52b1ccdcb", "title": "Gmail DNS records for Hetzner Domain Robot", "url": "https://www.davd.io/gmail-dns-records-for-hetzner-domain-robot/", "published_at": "2018-04-28T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52c1a4d1a", "title": "byeCloud: News with Miniflux", "url": "https://www.davd.io/byecloud-news-with-miniflux/", "published_at": "2018-04-25T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52c22c395", "title": "Mount Time Capsule SMB from a Linux host", "url": "https://www.davd.io/mount-time-capsule-smb-from-a-linux-host/", "published_at": "2018-02-06T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52c540358", "title": "Screencast: How Git stores data", "url": "https://www.davd.io/screencast-how-git-stores-data/", "published_at": "2017-11-24T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52d4de5b1", "title": "macOS: Change wallpaper by CLI", "url": "https://www.davd.io/macos-change-wallpaper-by-cli/", "published_at": "2017-10-04T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52d80cb16", "title": "byeCloud: Building a mailserver with modern webmail", "url": "https://www.davd.io/byecloud-building-a-mailserver-with-modern-webmail/", "published_at": "2017-08-09T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52e2cf429", "title": "byeCloud: Syncing Photos with Nextcloud", "url": "https://www.davd.io/byecloud-syncing-photos-with-nextcloud/", "published_at": "2017-08-09T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52eb86dc5", "title": "byeCloud: File syncing with Nextcloud", "url": "https://www.davd.io/byecloud-file-syncing-with-nextcloud/", "published_at": "2017-07-21T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52eee63ff", "title": "byeCloud: Replacing iCloud with self-hosted services", "url": "https://www.davd.io/byecloud-replacing-icloud-with-self-hosted-services/", "published_at": "2017-07-20T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52efc16f9", "title": "AirPods finally work as headset on the Mac", "url": "https://www.davd.io/airpods-finally-work-as-headset-on-the-mac/", "published_at": "2017-07-07T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52f0db636", "title": "Show macOS notifications from shell scripts", "url": "https://www.davd.io/supercharge-your-macos-shell-scripts/", "published_at": "2017-07-07T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52f616cc2", "title": "Postfix subaddressing (with PostgreSQL)", "url": "https://www.davd.io/postfix-regex-aliases-with-postgresql/", "published_at": "2017-05-29T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52f87a34a", "title": "FreeBSD: Route jail traffic through VPN", "url": "https://www.davd.io/freebsd-route-jail-traffic-through-vpn/", "published_at": "2017-05-05T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd52f923693", "title": "Building a NAS control panel for macOS with BitBar", "url": "https://www.davd.io/freebsd-nas-building-a-control-panel-for-macos-with-bitbar/", "published_at": "2017-05-01T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5301a3ee9", "title": "Essentials on securing macOS", "url": "https://www.davd.io/essentials-on-securing-macos/", "published_at": "2017-04-27T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd530c5840c", "title": "NPM deadlock bug fixed in FreeBSD 11", "url": "https://www.davd.io/npm-deadlock-bug-fixed-in-freebsd-11/", "published_at": "2017-01-20T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd53100855b", "title": "Build your own dynamic DNS in 5 minutes", "url": "https://www.davd.io/build-your-own-dynamic-dns-in-5-minutes/", "published_at": "2016-12-18T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd531ab5b11", "title": "iCloud Photo Sync stuck - how to force resume", "url": "https://www.davd.io/icloud-photo-sync-stuck-how-to-force-resume/", "published_at": "2016-12-18T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd53260090d", "title": "Thoughts on API design in a world of carelessness", "url": "https://www.davd.io/thoughts-on-api-design-in-a-world-of-carelessness/", "published_at": "2016-09-05T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5326389f7", "title": "Building a FreeBSD NAS Part 2: Hardware assembly", "url": "https://www.davd.io/posts-freebsd-nas-hardware-assembly/", "published_at": "2016-04-30T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd532f5f895", "title": "Building a FreeBSD NAS Part 3: System setup", "url": "https://www.davd.io/posts-freebsd-nas-system-setup/", "published_at": "2016-04-30T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd532fdce76", "title": "Building a FreeBSD NAS Part 4: Service deployment", "url": "https://www.davd.io/posts-freebsd-nas-service-deployment/", "published_at": "2016-04-30T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5333e0ca2", "title": "FreeBSD: iTunes media server using forked-daapd", "url": "https://www.davd.io/posts-freebsd-itunes-media-server-using-forked-daapd/", "published_at": "2016-04-30T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd533654665", "title": "FreeBSD: Time Machine backup server with netatalk", "url": "https://www.davd.io/posts-freebsd-time-machine-backup-server-with-netatalk/", "published_at": "2016-04-30T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd533b16377", "title": "Building a FreeBSD NAS Part 1: Concept & Hardware selection", "url": "https://www.davd.io/posts-freebsd-nas-concept-hardware-selection/", "published_at": "2016-04-26T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5345c62b8", "title": "OS X: Automated provisioning using Homebrew and Cask", "url": "https://www.davd.io/os-x-automated-provisioning-using-homebrew-and-cask/", "published_at": "2016-04-22T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd5347bcaac", "title": "FreeBSD: Send mails over an external SMTP server", "url": "https://www.davd.io/freebsd-send-mails-over-an-external-smtp-server/", "published_at": "2016-04-13T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd535764590", "title": "OS X: Run any command in a sandbox", "url": "https://www.davd.io/os-x-run-any-command-in-a-sandbox/", "published_at": "2016-04-11T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd535e78881", "title": "rsync over SSH", "url": "https://www.davd.io/rsync-over-ssh/", "published_at": "2016-03-31T00:00:00+00:00" }, { "id": "01a08768-9fa5-71ed-9c61-8bd536d3c0bc", "title": "FreeBSD jails with a single public IP address", "url": "https://www.davd.io/posts-freebsd-jails-with-a-single-public-ip-address/", "published_at": "2016-03-28T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a1e67f2da", "title": "Introduction to automated, static code analysis in PHP", "url": "https://www.davd.io/introduction-to-automated-static-code-analysis-in-php/", "published_at": "2016-03-20T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a1f5f2339", "title": "FreeBSD Init-Script for the Caddy Webserver", "url": "https://www.davd.io/posts-caddy-freebsd-init-script/", "published_at": "2016-03-03T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a1f97f521", "title": "My Top 20 OS X tools", "url": "https://www.davd.io/my-top-20-os-x-tools/", "published_at": "2016-02-21T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a20553089", "title": "Git: Delete merged branches", "url": "https://www.davd.io/posts-git-delete-merged-branches/", "published_at": "2016-01-25T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a21128392", "title": "Simple mail forwarding using Postfix", "url": "https://www.davd.io/simple-mail-forwarding-using-postfix/", "published_at": "2016-01-25T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a21a1850c", "title": "Simple Podcast-Downloader for Linux & BSD", "url": "https://www.davd.io/simple-podcast-downloader-for-linux-bsd/", "published_at": "2016-01-03T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a2274776e", "title": "Why use FreeBSD?", "url": "https://www.davd.io/why-use-freebsd/", "published_at": "2015-09-27T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a23528c4e", "title": "Puppet Quickstart", "url": "https://www.davd.io/puppet-quickstart/", "published_at": "2015-01-02T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a23c26043", "title": "Install old JDK versions (1.6, 1.7) in Mac OS X Yosemite", "url": "https://www.davd.io/install-old-jdk-versions-1-6-1-7-in-mac-os-x-yosemite/", "published_at": "2014-12-18T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a248fe63a", "title": "Install bower on Mac OS X", "url": "https://www.davd.io/install-bower-on-mac-os-x/", "published_at": "2014-12-02T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a255f9ff7", "title": "OS X Yosemite: Resolve .local-Domains", "url": "https://www.davd.io/os-x-yosemite-resolve-local-domains/", "published_at": "2014-10-28T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a25b5b5aa", "title": "Git: Ignore permission changes", "url": "https://www.davd.io/git-ignore-permission-and-ownership-changes/", "published_at": "2014-07-22T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a2676289c", "title": "Linux on the 13-inch MacBook Pro Retina", "url": "https://www.davd.io/linux-on-the-13-inch-macbook-pro-retina/", "published_at": "2014-01-27T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a270eceec", "title": "USB issues on the MacBook Pro 2008-2011? The solution!", "url": "https://www.davd.io/usb-issues-on-the-macbook-pro-2008-2011-the-solution/", "published_at": "2013-06-07T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a27f17353", "title": "Resolve AppleTV and iTunes Home Sharing visibility issues", "url": "https://www.davd.io/resolve-appletv-and-itunes-home-sharing-visibility-issues/", "published_at": "2013-02-17T00:00:00+00:00" }, { "id": "01a08768-9fa6-7025-a8d8-b42a282683d3", "title": "Static IP + DNS settings in CentOS 6", "url": "https://www.davd.io/static-ip-dns-settings-in-centos-6/", "published_at": "2013-01-29T00:00:00+00:00" } ] posts Claim your blog
Back to davd.io - Some dev and some ops
Blog · corpus.blog/blogs/davd.io/posts

davd.io - Some dev and some ops

davd.io

2026

2025

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013