56,966 blogs ยท [ { "id": "01a0875c-6bbe-732e-b052-41cd13ce12ef", "title": "A method and calculator for building foamcore drawer organisers", "url": "https://capnfabs.net/posts/foamcore-would-be-a-sick-name-for-a-music-genre/", "published_at": "2026-02-08T23:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd143b1ec6", "title": "A custom cardboard insert for Forest Shuffle + expansions", "url": "https://capnfabs.net/posts/forest-shuffle-expansions-custom-insert/", "published_at": "2026-01-24T23:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd14600243", "title": "I vibe-coded an app. And also made some jewelry.", "url": "https://capnfabs.net/posts/vibe-coding/", "published_at": "2025-06-24T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd154451af", "title": "A low-distraction Spotify player for the home", "url": "https://capnfabs.net/posts/stereo-remote/", "published_at": "2025-02-22T23:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd15ec1da7", "title": "The Windows 98 taskbar, now on macOS", "url": "https://capnfabs.net/posts/win98-taskbar-macos/", "published_at": "2025-02-01T23:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd16c29b7a", "title": "Five good hikes around Berlin", "url": "https://capnfabs.net/posts/berlin-day-hikes/", "published_at": "2025-01-10T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd172ff6d6", "title": "Let's talk about alcohol.", "url": "https://capnfabs.net/posts/alcohol/", "published_at": "2025-01-04T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd17468c51", "title": "We all need more reasons to celebrate.", "url": "https://capnfabs.net/posts/reasons-to-celebrate/", "published_at": "2024-06-14T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd180a34bb", "title": "How to: Run spotifyd or librespot when a USB sound card is connected (on Linux)", "url": "https://capnfabs.net/posts/udev-systemd-spotify-usb-audio/", "published_at": "2023-12-03T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd184df212", "title": "Berlin weather forecasts on an E-ink display", "url": "https://capnfabs.net/posts/weather-forecast-eink-dwd/", "published_at": "2023-08-27T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd19232472", "title": "A walk from Brighton to Eastbourne (via the Seven Sisters)", "url": "https://capnfabs.net/posts/brighton-eastbourne-seven-sisters/", "published_at": "2023-03-13T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd19e8ae84", "title": "Parse huge XML files quick with Rust + Serde + quick-xml", "url": "https://capnfabs.net/posts/parsing-huge-xml-quickxml-rust-serde/", "published_at": "2023-02-24T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd1ae39d24", "title": "kids these days are releasing all their music with lowercase titles", "url": "https://capnfabs.net/posts/lowercase-dot-mp3/", "published_at": "2023-02-20T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd1b12358a", "title": "2022 was", "url": "https://capnfabs.net/posts/2022-retrospective/", "published_at": "2023-01-09T20:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd1bb042c5", "title": "A Walk and a Pop-up Newsletter", "url": "https://capnfabs.net/posts/walk-and-pop-up-newsletter/", "published_at": "2022-12-29T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd1c3bcb4f", "title": "Where is Fabian, now?", "url": "https://capnfabs.net/posts/where-is-fabian-now/", "published_at": "2022-11-02T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd1c5ec038", "title": "Almost deleted photos, 2007 - 2020", "url": "https://capnfabs.net/posts/almost-deleted-photos/", "published_at": "2022-06-11T22:42:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd1d01e16c", "title": "Why is this Floppy Disk Drive Clicking Incessantly?", "url": "https://capnfabs.net/posts/why-is-this-floppy-disk-drive-clicking-incessantly/", "published_at": "2021-05-18T22:08:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd1d48e6a4", "title": "Quarantine Diary, Day 12", "url": "https://capnfabs.net/posts/quarantine-diary/", "published_at": "2021-03-14T22:18:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd1dbfaceb", "title": "What on Earth is this Encryption Scheme?", "url": "https://capnfabs.net/posts/wtf-encryption-scheme-synology-diskstation-nas/", "published_at": "2021-02-17T17:41:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd1eaf773d", "title": "2020. It's over!", "url": "https://capnfabs.net/posts/2020-its-over/", "published_at": "2021-01-04T21:57:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd1f6c9607", "title": "Mushroom Studies, Autumn 2020, Brandenburg", "url": "https://capnfabs.net/posts/mushroom-studies-autumn-2020-brandenburg/", "published_at": "2020-11-25T22:50:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2002dd28", "title": "Cross-Compiling Rust Apps II: Linux Subtrees and Linker Shenanigans", "url": "https://capnfabs.net/posts/cross-compiling-rust-apps-linker-shenanigans-multistrap-chroot/", "published_at": "2020-11-06T17:12:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd209d57ee", "title": "Cross-Compiling Rust apps for the Raspberry Pi", "url": "https://capnfabs.net/posts/cross-compiling-rust-apps-raspberry-pi/", "published_at": "2020-10-22T19:20:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd214e9e08", "title": "It's 2020, and I still can't figure out why I'm getting your marketing emails", "url": "https://capnfabs.net/posts/2020-gdpr-email-marketing-wrong/", "published_at": "2020-09-02T10:42:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd22140029", "title": "Tech Jobs, Mobile Dev, Blogging: A conversation with Chelsea Troy", "url": "https://capnfabs.net/posts/tech-jobs-blogging-chelsea-troy/", "published_at": "2020-08-28T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd22d4e371", "title": "How to ask questions well, asynchronously", "url": "https://capnfabs.net/posts/ask-questions-well-asynchronously/", "published_at": "2020-08-13T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd23541932", "title": "Regarding the Willows on the Landwehr Canal", "url": "https://capnfabs.net/posts/regarding-the-willows-landwehr-canal/", "published_at": "2020-08-07T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd23fcfe48", "title": "Notes on Speaking at EnthusiastiCon 2020", "url": "https://capnfabs.net/posts/remote-conference-talk-notes/", "published_at": "2020-06-09T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd247cdb4b", "title": "What is a digital photo, really?", "url": "https://capnfabs.net/posts/what-is-a-digital-photo-really/", "published_at": "2020-06-06T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2562737b", "title": "Hello Colemak ๐Ÿ‘‹", "url": "https://capnfabs.net/posts/should-you-learn-colemak/", "published_at": "2020-05-31T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd258e5216", "title": "Animating SVGs with Python Scripts", "url": "https://capnfabs.net/posts/svg-animations-python-script/", "published_at": "2020-04-15T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd25da88e8", "title": "How Does Lossless Compression in Fuji RAF Files work?", "url": "https://capnfabs.net/posts/fuji-raf-compression-algorithm/", "published_at": "2020-04-09T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd26851a20", "title": "I Guess you Could Call this a Crash Landing", "url": "https://capnfabs.net/posts/crash-landing-coronavirus/", "published_at": "2020-03-31T14:03:25+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd26f1aa1a", "title": "Adding Margin Notes to my Hugo Theme", "url": "https://capnfabs.net/posts/margin-notes-hugo-theme/", "published_at": "2020-01-27T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2785c309", "title": "The Bagel Code", "url": "https://capnfabs.net/posts/bagel-code/", "published_at": "2020-01-20T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd287339b4", "title": "2019. It's done!?", "url": "https://capnfabs.net/posts/2019-its-over/", "published_at": "2020-01-03T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd29185d57", "title": "Ghosts in the Snow", "url": "https://capnfabs.net/posts/ghosts-in-the-snow/", "published_at": "2019-12-20T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd29cae107", "title": "When do you Stop Writing?", "url": "https://capnfabs.net/posts/when-do-you-stop-writing/", "published_at": "2019-12-16T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2a7d5782", "title": "How Does SQLAlchemy Manage Database Transactions?", "url": "https://capnfabs.net/posts/sqlalchemy-connection-management/", "published_at": "2019-12-15T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2b38c0ab", "title": "To Read the Heretics", "url": "https://capnfabs.net/posts/reading-heretics/", "published_at": "2019-12-11T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2bd6f1fe", "title": "3 Novel Features for Hugo Themes", "url": "https://capnfabs.net/posts/hugo-theme-exclude-processed-images/", "published_at": "2019-09-21T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2bfc7487", "title": "Grouse, a difftool for static site generators", "url": "https://capnfabs.net/posts/grouse-diff-tool-hugo-static-site-generators/", "published_at": "2019-09-19T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2c8fb85f", "title": "Just Diff It", "url": "https://capnfabs.net/posts/just-diff-it/", "published_at": "2019-09-17T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2ce3d2aa", "title": "The tripod mount screws fell out of my Fuji X-T2", "url": "https://capnfabs.net/posts/fuji-xt2-tripod-screws/", "published_at": "2019-08-25T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2d746141", "title": "How To: Find and Fix Light Leakages on a Film Camera", "url": "https://capnfabs.net/posts/film-camera-fix-light-leaks/", "published_at": "2019-08-23T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2e5db904", "title": "Techniques for setting boundaries around your remote job", "url": "https://capnfabs.net/posts/techniques-for-setting-boundaries-around-your-remote-job/", "published_at": "2019-08-19T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2e77985f", "title": "Emoji Haikus, and the deepest secrets of the unicode specification", "url": "https://capnfabs.net/posts/emoji-haiku-v2/", "published_at": "2018-12-24T13:15:35+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2f48636f", "title": "Eleven days on the E5 Long Distance Hiking Trail", "url": "https://capnfabs.net/posts/2018-eleven-days-e5/", "published_at": "2018-10-13T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd2fd424d1", "title": "Is Fabian Still Alive?", "url": "https://capnfabs.net/posts/is-fabian-still-alive/", "published_at": "2017-05-29T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd309407c4", "title": "Reykjavik is", "url": "https://capnfabs.net/posts/reykjavik-is/", "published_at": "2017-04-04T00:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd31672f85", "title": "I sit in 13A.", "url": "https://capnfabs.net/posts/i-sit-in-13a/", "published_at": "2016-10-22T18:01:17+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd31abed92", "title": "Lofoten // Norway", "url": "https://capnfabs.net/posts/lofoten-norway/", "published_at": "2016-10-07T13:08:41+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd32413d2f", "title": "Australian Election Map 2016", "url": "https://capnfabs.net/posts/australian-election-map-2016/", "published_at": "2016-07-25T01:37:42+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd325dc6a8", "title": "Embassy Reviews (a Twitter bot)", "url": "https://capnfabs.net/posts/embassy-reviews-a-twitter-bot/", "published_at": "2016-06-27T11:58:06+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd3292bc3e", "title": "Emoji Haikus", "url": "https://capnfabs.net/posts/emoji-haikus/", "published_at": "2016-04-12T02:22:10+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd32e69dab", "title": "EMR-E / Project Buendia Presentation at OpenMRS Global Summit 2015", "url": "https://capnfabs.net/posts/emr-e-project-buendia-presentation-at-openmrs-global-summit-2015/", "published_at": "2015-12-11T05:22:10+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd332ceb7e", "title": "Three tips for better Android development productivity", "url": "https://capnfabs.net/posts/android-development-developer-productivity/", "published_at": "2015-11-01T18:59:38+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd33a0b6b6", "title": "Faking Screen Resolution on Android Devices", "url": "https://capnfabs.net/posts/mocking-screen-resolution-on-android-devices/", "published_at": "2015-09-25T08:49:10+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd33fb94bd", "title": "App-level Resources Done Right on Android", "url": "https://capnfabs.net/posts/app-level-state-done-right-on-android/", "published_at": "2015-09-21T08:01:44+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd341e77ee", "title": "So I Rebuilt My Website", "url": "https://capnfabs.net/posts/so-i-rebuilt-my-website/", "published_at": "2015-09-14T12:06:04+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd349e4bcd", "title": "Android Auto Demo With Bill Shorten", "url": "https://capnfabs.net/posts/android-auto-demo-with-bill-shorten/", "published_at": "2015-05-21T12:04:22+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd357f9b7d", "title": "Ebola Crisis Response", "url": "https://capnfabs.net/posts/ebola-crisis-response/", "published_at": "2015-03-22T12:13:28+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd35bfb9dc", "title": "Iran", "url": "https://capnfabs.net/posts/iran/", "published_at": "2014-12-23T12:53:35+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd35e4c521", "title": "Under the Hood of Android Auto", "url": "https://capnfabs.net/posts/under-the-hood-of-android-auto/", "published_at": "2014-06-25T12:36:42+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd36c734cd", "title": "Open Source Electrical Networks Toolkit", "url": "https://capnfabs.net/posts/open-source-electrical-networks-toolkit/", "published_at": "2014-02-14T07:20:56+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd37228b09", "title": "IPCTK: Run code out of process, use like a normal object", "url": "https://capnfabs.net/posts/ipctk-run-code-out-of-process-use-like-a-normal-object/", "published_at": "2013-02-12T12:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd37c37b80", "title": "Git: Undoing a fast-forward merge when you should've just used a new branch", "url": "https://capnfabs.net/posts/git-undoing-a-fast-forward-merge/", "published_at": "2013-01-14T12:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd38332fb2", "title": "Rethinking the static keyword in Object-Oriented Programming (OOP)", "url": "https://capnfabs.net/posts/rethinking-the-static-keyword-in-object-oriented-programming-oop/", "published_at": "2012-12-30T12:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd3833cc3a", "title": "Information Technology, Data and Context", "url": "https://capnfabs.net/posts/information-technology-data-and-context/", "published_at": "2012-12-11T12:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd390209fb", "title": "Selling Recommendations", "url": "https://capnfabs.net/posts/selling-recommendations/", "published_at": "2012-08-07T12:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd39d2c6ac", "title": "Abstraction, Humanity and Design", "url": "https://capnfabs.net/posts/abstraction-humanity-and-design/", "published_at": "2012-08-02T12:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd39e10c7e", "title": "Desperate Men", "url": "https://capnfabs.net/posts/desperate-men/", "published_at": "2011-12-14T12:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd3adc1cb2", "title": "Designing Timecard, A Windows Phone 7 App", "url": "https://capnfabs.net/posts/designing-timecard-a-windows-phone-7-app/", "published_at": "2011-12-13T12:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd3b02f558", "title": "On Guidance: Listening Carefully for the Voice of God", "url": "https://capnfabs.net/posts/on-guidance-listening-carefully-for-the-voice-of-god/", "published_at": "2011-11-24T12:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd3b07fa54", "title": "Visualising Serial Data: Arduino, I2C, XNA and more TLAs than are worth it IMO", "url": "https://capnfabs.net/posts/visualising-serial-data/", "published_at": "2011-10-13T12:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd3b31ba08", "title": "Lessons: Getting Arduinos to play nice with I2C", "url": "https://capnfabs.net/posts/project-hip-replacement-monitor/", "published_at": "2011-10-03T12:00:00+00:00" }, { "id": "01a0875c-6bbe-732e-b052-41cd3b99ddd1", "title": "In the Shoes of Jesus' Disciples", "url": "https://capnfabs.net/posts/in-the-shoes-of-jesus-disciples/", "published_at": "2011-09-22T12:00:00+00:00" } ] posts Claim your blog
Back to capnfabs.net
Blog ยท corpus.blog/blogs/capnfabs.net/posts

capnfabs.net

capnfabs.net

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013

2012

2011