41554 blogs · [ { "id": "01a08c56-2ca4-719d-8b1e-0335997d76d4", "title": "Make one thing as clean as possible", "url": "https://timothymiller.dev/posts/2026/make-one-thing-as-clean-as-possible/", "published_at": "2026-04-03T10:10:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033598dfa820", "title": "On Using Hyprland", "url": "https://timothymiller.dev/posts/2025/on-using-hyprland/", "published_at": "2025-06-30T07:32:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033598766954", "title": "How to host your own git repositories", "url": "https://timothymiller.dev/posts/2025/how-to-host-your-own-git-repos/", "published_at": "2025-06-11T07:42:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-0335979609d5", "title": "My Experience with ConvertKit (now Kit)", "url": "https://timothymiller.dev/posts/2025/my-experience-with-converkit-kit/", "published_at": "2025-05-21T10:28:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033596cb2bf4", "title": "Skewed Incentives", "url": "https://timothymiller.dev/posts/2025/skewed-incentives/", "published_at": "2025-04-07T07:34:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033595fdef41", "title": "Make music", "url": "https://timothymiller.dev/posts/2025/make-music/", "published_at": "2025-01-16T10:29:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033595f33d29", "title": "Installing App Images as First Class Citizens in NixOS", "url": "https://timothymiller.dev/posts/2024/installing-appimages-as-first-class-citizens-in-nixos/", "published_at": "2024-12-02T09:31:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033595e20361", "title": "My Experience with NixOS", "url": "https://timothymiller.dev/posts/2024/my-experience-with-nixos/", "published_at": "2024-11-04T10:16:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033594e57bc7", "title": "App Launchers in KDE", "url": "https://timothymiller.dev/posts/2024/app-launchers-in-kde/", "published_at": "2024-10-17T10:05:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033594678838", "title": "KDE Tips and Tricks", "url": "https://timothymiller.dev/posts/2024/KDE-tips-and-tricks/", "published_at": "2024-09-05T06:56:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033594309ba2", "title": "My Framework 16 Keyboard", "url": "https://timothymiller.dev/posts/2024/framework-keyboard/", "published_at": "2024-08-06T10:38:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033593acd7cd", "title": "My Framework Laptop After a Week", "url": "https://timothymiller.dev/posts/2024/framework-laptop-after-a-week/", "published_at": "2024-07-11T10:30:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03359338eff8", "title": "Autologin with NixOS and KDE Plasma", "url": "https://timothymiller.dev/posts/2024/auto-login-with-nixos-and-kde-plasma/", "published_at": "2024-07-02T07:36:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03359282ab27", "title": "Using Obsidian with 11ty", "url": "https://timothymiller.dev/posts/2024/using-obsidian-with-11ty/", "published_at": "2024-06-07T06:48:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033591917e18", "title": "Block AI Bots from Your Site", "url": "https://timothymiller.dev/posts/2024/block-ai-bots-from-your-site/", "published_at": "2024-05-17T16:10:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-0335914dbaf7", "title": "LocalWP now supports migrations", "url": "https://timothymiller.dev/posts/2024/localwp-now-supports-migrations/", "published_at": "2024-05-02T14:53:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033591194561", "title": "On Buying a New Vehicle", "url": "https://timothymiller.dev/posts/2024/on-buying-a-new-used-vehicle/", "published_at": "2024-04-17T09:04:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033590eab482", "title": "On CSS and Codeblocks", "url": "https://timothymiller.dev/posts/2023/psa-on-css-and-codeblocks/", "published_at": "2023-11-09T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-0335901f97f7", "title": "Adventures in Phoneland - the LightPhone", "url": "https://timothymiller.dev/posts/2023/adventures-in-phoneland-1/", "published_at": "2023-03-24T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033590023d75", "title": "Math is Fast Counting", "url": "https://timothymiller.dev/posts/2022/math-is-fast-counting/", "published_at": "2022-10-07T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03358f3f7be4", "title": "The Five Golden Rules of Coffee Brewing", "url": "https://timothymiller.dev/posts/2022/golden-rules-of-coffee/", "published_at": "2022-10-04T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03358e7408c0", "title": "Fixing my Keyboard", "url": "https://timothymiller.dev/posts/2022/fixing-my-keyboard/", "published_at": "2022-09-22T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03358e32c075", "title": "Google Analytics is Dead", "url": "https://timothymiller.dev/posts/2022/ga-is-dead/", "published_at": "2022-09-16T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03358e01cb2d", "title": "Breaking my Keyboard: A lesson in moving too fast", "url": "https://timothymiller.dev/posts/2022/breaking-my-keyboard/", "published_at": "2022-09-13T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03358d08feec", "title": "The Many Faces of Obsidian", "url": "https://timothymiller.dev/posts/2022/many-faces-of-obsidian/", "published_at": "2022-09-05T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03358c99d84e", "title": "The Best Way to Install Apps on Linux", "url": "https://timothymiller.dev/posts/2022/best-way-to-install-apps-linux/", "published_at": "2022-08-25T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03358c7772a2", "title": "Cleaning Up Consumption", "url": "https://timothymiller.dev/posts/2022/cleaning-up-consumption/", "published_at": "2022-08-19T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03358bee0fcc", "title": "My Favorite Thing about Obsidian", "url": "https://timothymiller.dev/posts/2022/my-favorite-thing-about-obsidian/", "published_at": "2022-08-12T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03358b11665f", "title": "Stop Using the Padding Hack", "url": "https://timothymiller.dev/posts/2022/stop-using-the-padding-hack/", "published_at": "2022-08-05T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03358b02869c", "title": "Looking into Linux Phones", "url": "https://timothymiller.dev/posts/2022/looking-into-linux-phones/", "published_at": "2022-07-29T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03358a5a30ec", "title": "Keeping up a writing habit", "url": "https://timothymiller.dev/posts/2022/keeping-up-a-writing-habit/", "published_at": "2022-07-22T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-0335898cdbb2", "title": "BIG updates to my uses page", "url": "https://timothymiller.dev/posts/2022/big-updates-to-my-uses-page/", "published_at": "2022-07-15T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033588e77832", "title": "How Apple Broke my Heart", "url": "https://timothymiller.dev/posts/2022/how-apple-broke-my-heart/", "published_at": "2022-07-07T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033588965e92", "title": "I’m done with LocalWP", "url": "https://timothymiller.dev/posts/2022/done-with-local/", "published_at": "2022-06-28T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-0335888ea64e", "title": "How to Fix Broken RSS Feeds", "url": "https://timothymiller.dev/posts/2022/fixing-broken-rss-feeds/", "published_at": "2022-06-24T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033588179e06", "title": "How to fix Screen Tearing in Linux", "url": "https://timothymiller.dev/posts/2022/fixing-nvidia-in-linux/", "published_at": "2022-06-15T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033588137e95", "title": "Advanced Window Management in Linux", "url": "https://timothymiller.dev/posts/2022/advanced-window-management-in-linux/", "published_at": "2022-06-03T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033587fb3d0a", "title": "Killing Ctrl-Tab: Better App Switching on Linux", "url": "https://timothymiller.dev/posts/2022/killing-ctrl-tab/", "published_at": "2022-05-25T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033587ede95f", "title": "Adding a Changelog to My 11ty Blog", "url": "https://timothymiller.dev/posts/2020/adding-a-changelog-to-my-11ty-blog/", "published_at": "2020-05-05T12:41:33+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033587a57a8c", "title": "Six HTML5 Elements I Should Use More", "url": "https://timothymiller.dev/posts/2020/html5-elements-i-should-use-more/", "published_at": "2020-04-17T09:49:38+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033586c68948", "title": "Finding and Fixing Broken Links with BLC", "url": "https://timothymiller.dev/posts/2020/fixing-broken-links-with-blc/", "published_at": "2020-04-10T10:28:36+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033585c89266", "title": "Filtering Out Politics in Feedbin", "url": "https://timothymiller.dev/posts/2020/filtering-out-politics-in-feedbin/", "published_at": "2020-03-31T10:51:07+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033585869459", "title": "Creating a Raspberry Pi NAS", "url": "https://timothymiller.dev/posts/2020/creating-a-raspberry-pi-nas/", "published_at": "2020-03-27T09:52:50+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-0335852e080e", "title": "A Superior Git Remote", "url": "https://timothymiller.dev/posts/2020/a-superior-git-remote/", "published_at": "2020-03-05T12:00:03+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033584637828", "title": "Making a Real Bonafide Plugin for 11ty", "url": "https://timothymiller.dev/posts/2020/making-a-real-bonefide-plugin-for-11ty/", "published_at": "2020-02-28T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-0335845dfb26", "title": "Own Your Own Feedbin Data with 11ty", "url": "https://timothymiller.dev/posts/2020/own-your-own-feedbin-data-with-11ty/", "published_at": "2020-02-21T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033583bd98cd", "title": "Switching to an Ergonomic Colemak Keyboard", "url": "https://timothymiller.dev/posts/2020/switching-to-an-ergonomic-colemak-keyboard/", "published_at": "2020-02-14T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-0335838f6644", "title": "CSS4", "url": "https://timothymiller.dev/posts/2020/css4/", "published_at": "2020-02-07T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033582a148ed", "title": "Hand Coding a Line Spirograph", "url": "https://timothymiller.dev/posts/2020/hand-coding-spirographs/", "published_at": "2020-02-01T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033581d2a578", "title": "You Are Being Tracked", "url": "https://timothymiller.dev/posts/2020/you-are-being-tracked/", "published_at": "2020-01-25T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033581759d5a", "title": "Getting (back!) into RSS", "url": "https://timothymiller.dev/posts/2020/getting-back-into-rss/", "published_at": "2020-01-18T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-0335809f0754", "title": "Killing Cmd-Tab. Your Path to Better Application Switching", "url": "https://timothymiller.dev/posts/2020/killing-cmd-tab/", "published_at": "2020-01-10T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-033580026406", "title": "Creating Worry-Free Keyboard Shortcuts with the “Hyper” Key", "url": "https://timothymiller.dev/posts/2020/worry-free-keyboard-shortcuts/", "published_at": "2020-01-03T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03357f18699a", "title": "Leveling Up with BetterTouchTool", "url": "https://timothymiller.dev/posts/leveling-up-with-btt/", "published_at": "2019-12-27T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03357efbdcce", "title": "My Experience with RSIs", "url": "https://timothymiller.dev/posts/my-rsi-journey/", "published_at": "2019-12-07T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03357e0ac32d", "title": "NEJSConf — 2019!", "url": "https://timothymiller.dev/posts/2019-nejsconf/", "published_at": "2019-08-14T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03357dd9c3a2", "title": "Iterating in JavaScript", "url": "https://timothymiller.dev/posts/iterating-in-javascript/", "published_at": "2019-07-30T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03357d9760f2", "title": "Moment.js Without the Dependencies", "url": "https://timothymiller.dev/posts/momentjs-without-the-dependencies/", "published_at": "2019-07-26T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03357d64cae7", "title": "Implementing Dark Mode from the Beginning", "url": "https://timothymiller.dev/posts/implementing-dark-mode-from-the-start/", "published_at": "2019-07-17T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03357c811dde", "title": "Setapp - One Month In", "url": "https://timothymiller.dev/posts/setapp-one-month-in/", "published_at": "2019-07-10T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03357c482e53", "title": "Reduce Motion in Background Videos", "url": "https://timothymiller.dev/posts/reduce-motion-in-bg-videos/", "published_at": "2019-07-03T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03357bdf9598", "title": "One Year Young", "url": "https://timothymiller.dev/posts/one-year-young/", "published_at": "2019-06-27T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03357af46103", "title": "When hiring an agency", "url": "https://timothymiller.dev/posts/when-hiring-an-agency/", "published_at": "2019-06-14T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-03357a141d58", "title": "Setapp - worth it? Initial thoughts.", "url": "https://timothymiller.dev/posts/setapp-initial-thoughts/", "published_at": "2019-06-04T00:00:00+00:00" }, { "id": "01a08c56-2ca4-719d-8b1e-0335792ed1cd", "title": "Broken but beautiful", "url": "https://timothymiller.dev/posts/intro/", "published_at": "2019-04-13T00:00:00+00:00" } ] posts Claim your blog
Back to timothymiller.dev
Blog · corpus.blog/blogs/timothymiller.dev/posts

timothymiller.dev

timothymiller.dev

2026

2025

2024

2023

2022

2020

2019