https://blog.davidv.dev/ https://blog.davidv.dev/posts/postgres-initdb-restart-wire-protocol/ https://blog.davidv.dev/posts/postgres-extensions/ https://blog.davidv.dev/posts/postgres-library/ https://blog.davidv.dev/posts/geo-distributed-blog/ https://blog.davidv.dev/posts/trainmore-re/ https://blog.davidv.dev/posts/mobile-translator-ocr/ https://blog.davidv.dev/posts/mobile-translator/ https://blog.davidv.dev/posts/ipvs-lb/ https://blog.davidv.dev/posts/abusing-firecracker/ https://blog.davidv.dev/posts/booting-x86-64/ https://blog.davidv.dev/posts/first-contact-with-k8s/ https://blog.davidv.dev/posts/pcie-option-rom/ https://blog.davidv.dev/posts/pcie-driver-dma/ https://blog.davidv.dev/posts/learning-pcie/ https://blog.davidv.dev/posts/self-modifying-code-crashes/ https://blog.davidv.dev/posts/exploring-hub75/ https://blog.davidv.dev/posts/homelab-backup-lte-connection/ https://blog.davidv.dev/posts/minimizing-linux-boot-times/ https://blog.davidv.dev/posts/cross-arch-nomad/ https://blog.davidv.dev/posts/spicing-up-a-robot-vacuum/ https://blog.davidv.dev/posts/picopico-compiler-runtime/ https://blog.davidv.dev/posts/strict-mode-ansible/ https://blog.davidv.dev/posts/rusts-default-in-python/ https://blog.davidv.dev/posts/cursing-a-process-vdso-for-time-hacking/ https://blog.davidv.dev/posts/pico8-console-part-2-performance/ https://blog.davidv.dev/posts/making-a-handheld-pico8-console-part-1/ https://blog.davidv.dev/posts/measuring-keyboard-to-display-latency/ https://blog.davidv.dev/posts/building-a-gtk-based-mobile-app/ https://blog.davidv.dev/posts/docker-based-images-on-baremetal/ https://blog.davidv.dev/posts/building-an-mqtt-client-for-the-kindle/ https://blog.davidv.dev/posts/cross-compiling-for-openwrt-platforms/ https://blog.davidv.dev/posts/reverse-engineering-the-bose-qc35-bluetooth-protocol/ https://blog.davidv.dev/posts/creating-a-golden-centos-image/ https://blog.davidv.dev/posts/flashing-linux-disk-images-from-an-initramfs/ https://blog.davidv.dev/posts/revamping-an-old-tv-as-a-gift/ https://blog.davidv.dev/posts/bookworm---utility-to-download-books-via-irc/ https://blog.davidv.dev/posts/bsd-inspired-network-setup/ https://blog.davidv.dev/posts/messing-up-backups/ https://blog.davidv.dev/posts/simplifying-the-iot-frameworks-api/ https://blog.davidv.dev/posts/extending-the-capabilities-of-dumb-devices/ https://blog.davidv.dev/posts/logging-and-remote-debugging-on-the-iot-house/ https://blog.davidv.dev/posts/automated-debian-install/ https://blog.davidv.dev/posts/integrating-a-kindle-into-house-automation/ https://blog.davidv.dev/posts/rewriting-history-on-firefox-to-get-reddits-old-ui-back/ https://blog.davidv.dev/posts/ota-updates-for-the-iot-house/ https://blog.davidv.dev/posts/iot-house-with-sonoff-and-micropython/ https://blog.davidv.dev/posts/network-update-part-3-network-segregation/ https://blog.davidv.dev/posts/network-update-part-2-monitoring-the-network-with-netflow-influxdb-and-grafana/ https://blog.davidv.dev/posts/3d-printer-woes/ https://blog.davidv.dev/posts/network-update-part-1-custom-router-with-espressobin/ https://blog.davidv.dev/posts/hacking-the-hg659/ https://blog.davidv.dev/posts/gpu-passthrough-in-debian/ https://blog.davidv.dev/posts/debian-stretch-headless-install/ https://blog.davidv.dev/posts/meta-blogging/ https://blog.davidv.dev/posts/nginx-caching-and-x-accel-redirect/ https://blog.davidv.dev/posts/good-luck-im-behind-4-reverse-proxies/ https://blog.davidv.dev/posts/patching-over-backblazes-b2-lack-of-cors/ https://blog.davidv.dev/posts/backups-backups-backups/ https://blog.davidv.dev/posts/migrating-single-disk-to-raid1-on-debian/ https://blog.davidv.dev/tags/3dprinter/ https://blog.davidv.dev/tags/TIL/ https://blog.davidv.dev/tags/aarch64/ https://blog.davidv.dev/tags/android/ https://blog.davidv.dev/tags/ansible/ https://blog.davidv.dev/tags/architecture/ https://blog.davidv.dev/tags/backups/ https://blog.davidv.dev/tags/bash/ https://blog.davidv.dev/tags/bluetooth/ https://blog.davidv.dev/tags/c/ https://blog.davidv.dev/tags/changelog/ https://blog.davidv.dev/tags/cluster/ https://blog.davidv.dev/tags/cross-compiling/ https://blog.davidv.dev/tags/cursed/ https://blog.davidv.dev/tags/debian/ https://blog.davidv.dev/tags/ebpf/ https://blog.davidv.dev/tags/embedded/ https://blog.davidv.dev/tags/esp32/ https://blog.davidv.dev/tags/firecracker/ https://blog.davidv.dev/tags/grafana/ https://blog.davidv.dev/tags/gtk/ https://blog.davidv.dev/tags/homelab/ https://blog.davidv.dev/tags/influxdb/ https://blog.davidv.dev/tags/iot/ https://blog.davidv.dev/tags/ipvs/ https://blog.davidv.dev/tags/kindle/ https://blog.davidv.dev/tags/kotlin/ https://blog.davidv.dev/tags/kubernetes/ https://blog.davidv.dev/tags/latency/ https://blog.davidv.dev/tags/linux/ https://blog.davidv.dev/tags/load-balancing/ https://blog.davidv.dev/tags/lua/ https://blog.davidv.dev/tags/meta/ https://blog.davidv.dev/tags/netflow/ https://blog.davidv.dev/tags/networking/ https://blog.davidv.dev/tags/nginx/ https://blog.davidv.dev/tags/nomad/ https://blog.davidv.dev/tags/ocr/ https://blog.davidv.dev/tags/openwrt/ https://blog.davidv.dev/tags/optimization/ https://blog.davidv.dev/tags/pci-gpu/ https://blog.davidv.dev/tags/pico8/ https://blog.davidv.dev/tags/picopico/ https://blog.davidv.dev/tags/postgres/ https://blog.davidv.dev/tags/proxmox/ https://blog.davidv.dev/tags/python/ https://blog.davidv.dev/tags/qemu/ https://blog.davidv.dev/tags/rant/ https://blog.davidv.dev/tags/reading/ https://blog.davidv.dev/tags/reverse-engineering/ https://blog.davidv.dev/tags/riscv/ https://blog.davidv.dev/tags/rp2040/ https://blog.davidv.dev/tags/rust/ https://blog.davidv.dev/tags/sdl/ https://blog.davidv.dev/tags/shitpost/ https://blog.davidv.dev/tags/short/ https://blog.davidv.dev/tags/systems-deployment/ https://blog.davidv.dev/tags/tesseract/ https://blog.davidv.dev/tags/testing/ https://blog.davidv.dev/tags/uefi/ https://blog.davidv.dev/tags/vacuum/ https://blog.davidv.dev/tags/wireguard/ https://blog.davidv.dev/tags/writing/