56,966 blogs · [ { "id": "01a08c55-c8cd-73dc-a9ab-3c0413298a0b", "title": "Don't use an LLM for your README.md", "url": "https://til.andrew-quinn.me/posts/don-t-use-an-llm-for-your-readme-md/", "published_at": "2026-08-17T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0413bf00c5", "title": "Claude Max 20x plan as open source subsidy", "url": "https://til.andrew-quinn.me/posts/claude-max-20x-plan-as-open-source-subsidy/", "published_at": "2026-06-30T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0414370415", "title": "AI slop grenades and the principal-agent problem", "url": "https://til.andrew-quinn.me/posts/ai-slop-grenades-and-the-principal-agent-problem/", "published_at": "2026-05-22T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0414a76c2f", "title": "Back up your TOTP codes by just printing them", "url": "https://til.andrew-quinn.me/posts/back-up-your-totp-codes-by-just-printing-them/", "published_at": "2026-05-20T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0414bf289e", "title": "Replacing a 3 GB SQLite database with a 10 MB FST (finite state transducer) binary", "url": "https://til.andrew-quinn.me/posts/replacing-a-3-gb-sqlite-database-with-a-7-mb-fst-finite-state-trandsucer-binary/", "published_at": "2026-05-10T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0415a37779", "title": "I still like Jenkins", "url": "https://til.andrew-quinn.me/posts/i-still-like-jenkins/", "published_at": "2026-05-09T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04165e99e9", "title": "The --i-tell-you-shut-up flag", "url": "https://til.andrew-quinn.me/posts/the-i-tell-you-shut-up-flag/", "published_at": "2026-05-04T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0416aae097", "title": "Claude Mythos and the EU Cyber Resilience Act", "url": "https://til.andrew-quinn.me/posts/claude-mythos-and-the-eu-cyber-resiilience-act/", "published_at": "2026-04-16T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0416baba34", "title": "The long death of programming languages", "url": "https://til.andrew-quinn.me/posts/the-long-death-of-programming-languages/", "published_at": "2026-02-25T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0416f30d23", "title": "Claude Code and executive function", "url": "https://til.andrew-quinn.me/posts/claude-code-and-executive-function/", "published_at": "2026-01-28T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04178b6bc2", "title": "Claude Code disproportionately benefits those who touch type", "url": "https://til.andrew-quinn.me/posts/claude-code-disproportionately-benefits-those-who-touch-type/", "published_at": "2026-01-24T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0418430041", "title": "Lua is a pretty good config language", "url": "https://til.andrew-quinn.me/posts/lua-is-a-pretty-good-config-language/", "published_at": "2026-01-06T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0418dad227", "title": "Copy-Item is 27 percent slower than File Explorer drag and drop on Windows", "url": "https://til.andrew-quinn.me/posts/copy-item-is-27-percent-slower-than-file-explorer-drag-and-drop-on-windows/", "published_at": "2025-12-06T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0419ae4a81", "title": "\"Courage to quit\" matters more for seniors, less for juniors", "url": "https://til.andrew-quinn.me/posts/courage-to-quit-matters-more-for-seniors-less-for-juniors/", "published_at": "2025-11-29T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c041a452e04", "title": "Lessons learned from 2 years of operating a teensy-tiny news archive", "url": "https://til.andrew-quinn.me/posts/lessons-learned-from-2-years-of-operating-a-tiny-news-archive/", "published_at": "2025-10-27T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c041b002b74", "title": "Where is the DevOps for Yocto?", "url": "https://til.andrew-quinn.me/posts/where-is-the-devops-for-yocto/", "published_at": "2025-09-27T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c041b909fbc", "title": "LLMs solve the biggest problem with language textbooks", "url": "https://til.andrew-quinn.me/posts/llms-solve-the-biggest-problem-with-language-textbooks/", "published_at": "2025-09-25T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c041c3d242d", "title": "Code should be clean because business isn't", "url": "https://til.andrew-quinn.me/posts/code-should-be-clean-because-business-isn-t/", "published_at": "2025-09-20T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c041c7e1af5", "title": "tarsnap is cozy", "url": "https://til.andrew-quinn.me/posts/tarsnap-is-cozy/", "published_at": "2025-09-10T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c041ca57447", "title": "It's okay to solve a problem twice", "url": "https://til.andrew-quinn.me/posts/it-s-okay-to-solve-a-problem-twice/", "published_at": "2025-08-22T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c041d304964", "title": "You don't need CGO to use SQLite in your Go binary", "url": "https://til.andrew-quinn.me/posts/you-don-t-need-cgo-to-use-sqlite-in-your-go-binary/", "published_at": "2025-07-18T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c041e23d76a", "title": "Incentivize grandchildren by writing them into your will", "url": "https://til.andrew-quinn.me/posts/incentivize-grandchildren-by-writing-them-into-your-will/", "published_at": "2025-07-16T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c041e77ded8", "title": "The second wave of spaced repetition apps", "url": "https://til.andrew-quinn.me/posts/the-second-wave-of-spaced-repetition-apps/", "published_at": "2025-07-14T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c041f26144b", "title": "Experiment registry: Can I simply enjoy everything I do?", "url": "https://til.andrew-quinn.me/posts/experiment-registry-can-i-simply-enjoy-everything-i-do/", "published_at": "2025-07-07T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c041f5bc83e", "title": "Switching Vim colorschemes based on which keyboard layout I have active", "url": "https://til.andrew-quinn.me/posts/switching-vim-colorschemes-based-on-which-keyboard-layout-i-have-active/", "published_at": "2025-07-06T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c041f98fa17", "title": "Using LLMs to generate small semantic perturbations for language learning writing practice", "url": "https://til.andrew-quinn.me/posts/using-llms-to-generate-small-semantic-perturbations-for-language-learning-writing-practice/", "published_at": "2025-07-04T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c041fabaf34", "title": "The language learning \"Delta\" Anki card pattern", "url": "https://til.andrew-quinn.me/posts/the-language-learning-delta-anki-card-pattern/", "published_at": "2025-06-28T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04205b7806", "title": "Save your disk, write files directly into RAM with /dev/shm", "url": "https://til.andrew-quinn.me/posts/save-your-disk-write-files-directly-into-ram-with-dev-shm/", "published_at": "2025-06-26T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0420ca8e3f", "title": "LLM, JavaScript, GitHub Pages, localStorage: A recipe for free apps anyone can use", "url": "https://til.andrew-quinn.me/posts/llm-javascript-github-pages-localstorage-a-recipe-for-free-apps-anyone-can-use/", "published_at": "2025-06-18T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0420fdbdbd", "title": "Create multi-stage Anki card answers with HTML's tag", "url": "https://til.andrew-quinn.me/posts/create-multi-stage-anki-card-answers-with-html-s-details-tag/", "published_at": "2025-06-07T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0421c369e9", "title": "LLM tutored writing practice for secondary language acquisition", "url": "https://til.andrew-quinn.me/posts/llm-tutored-writing-practice-for-secondary-language-acquisition/", "published_at": "2025-06-01T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c042221b202", "title": "Consider the cronslave", "url": "https://til.andrew-quinn.me/posts/consider-the-cronslave/", "published_at": "2025-05-30T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04225d4764", "title": "LLMs make Perl great again", "url": "https://til.andrew-quinn.me/posts/llms-make-perl-great-again/", "published_at": "2025-05-24T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0422d0b3ab", "title": "Cross-platform TUIs are easier than cross-platform GUIs", "url": "https://til.andrew-quinn.me/posts/cross-platform-tuis-are-easier-than-cross-platform-guis/", "published_at": "2025-05-20T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0423b9ab97", "title": "Vibe coding and complementary goods", "url": "https://til.andrew-quinn.me/posts/vibe-coding-and-complementary-goods/", "published_at": "2025-03-12T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0423e3b181", "title": "Binary search isn't about search III. Loop invariant of rightmost element search", "url": "https://til.andrew-quinn.me/posts/binary-search-isn-t-about-search-iii-loop-invariant-of-rightmost-element-search/", "published_at": "2025-03-09T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04245eeadf", "title": "Binary search isn't about search II. Loop invariant of leftmost element search", "url": "https://til.andrew-quinn.me/posts/binary-search-isn-t-about-search-ii-loop-invariant-of-leftmost-element-search/", "published_at": "2025-03-08T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0425281508", "title": "Binary search isn't about search", "url": "https://til.andrew-quinn.me/posts/binary-search-isn-t-about-search/", "published_at": "2025-03-07T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0425fee37f", "title": "Things you should never do: Use Expect to autotype SSH passwords in scripts", "url": "https://til.andrew-quinn.me/posts/things-you-should-never-do-use-tcl-expect-to-type-in-ssh-passwords/", "published_at": "2025-02-26T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0426ddef33", "title": "SQLite is learnable", "url": "https://til.andrew-quinn.me/posts/the-learnability-of-sqlite/", "published_at": "2025-02-18T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0427046c8c", "title": "`python -m http.server` as ephemeral Dropbox", "url": "https://til.andrew-quinn.me/posts/python-m-http-server-as-ephemeral-dropbox/", "published_at": "2025-01-21T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0427ad1eee", "title": "Common-sense security for SSH on a new Debian server", "url": "https://til.andrew-quinn.me/posts/common-sense-security-for-ssh-on-a-new-debian-server/", "published_at": "2024-09-24T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04283c1c06", "title": "Enforce GPL compliance by offering bounties?", "url": "https://til.andrew-quinn.me/posts/enforce-gpl-compliance-by-offering-bounties/", "published_at": "2024-09-21T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0428fed094", "title": "The self-hosted to DevOps engineer pipeline", "url": "https://til.andrew-quinn.me/posts/the-self-hosted-to-devops-engineer-pipeline/", "published_at": "2024-09-18T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04294691f0", "title": "PHP, Go, and Braindead Deployment", "url": "https://til.andrew-quinn.me/posts/php-go-and-braindead-deployment/", "published_at": "2024-09-16T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c042a2e442f", "title": "PHP and Web Dev Phobia", "url": "https://til.andrew-quinn.me/posts/php-and-web-dev-phobia/", "published_at": "2024-09-03T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c042a4a6e8f", "title": "How I ask GPT-4 to make tiny Python scripts in practice", "url": "https://til.andrew-quinn.me/posts/how-i-ask-gpt-4-to-make-tiny-python-scripts-in-practice/", "published_at": "2024-08-22T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c042b409d43", "title": "The highest personal ROI program I have written so far", "url": "https://til.andrew-quinn.me/posts/the-highest-personal-roi-program-i-have-written-so-far/", "published_at": "2024-07-30T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c042b5e25e2", "title": "My pet theory of how great software gets started", "url": "https://til.andrew-quinn.me/posts/my-pet-theory-of-how-great-software-gets-started/", "published_at": "2024-07-16T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c042c01c221", "title": "What scripting languages come out of the box on Debian 12?", "url": "https://til.andrew-quinn.me/posts/what-programming-languages-come-out-of-the-box-on-debian-12/", "published_at": "2024-06-23T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c042cec8068", "title": "Valuable software is about letting people do new things", "url": "https://til.andrew-quinn.me/posts/valuable-software-is-about-doing-new-things/", "published_at": "2024-06-21T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c042d26bddc", "title": "Layers of abstraction for me, not for thee", "url": "https://til.andrew-quinn.me/posts/layers-of-abstraction-for-me-not-for-thee/", "published_at": "2024-06-18T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c042d926e85", "title": "Software engineers as mental athletes", "url": "https://til.andrew-quinn.me/posts/software-engineers-as-mental-athletes/", "published_at": "2024-06-15T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c042e585188", "title": "OpenBSD, the computer appliance maker's secret weapon", "url": "https://til.andrew-quinn.me/posts/openbsd-the-computer-appliance-maker-s-secret-weapon/", "published_at": "2024-06-05T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c042eec8d60", "title": "Quickstarts and Slowstarts", "url": "https://til.andrew-quinn.me/posts/quickstarts-and-slowstarts/", "published_at": "2024-06-04T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c042f2e5cbd", "title": "Lessons learned from 6 months of operating a teensy-tiny news archive", "url": "https://til.andrew-quinn.me/posts/lessons-learned-from-6-months-of-operating-a-teensy-tiny-news-archive/", "published_at": "2024-06-01T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c042fcd4c27", "title": "Doing is normally distributed, learning is log-normal", "url": "https://til.andrew-quinn.me/posts/doing-is-normally-distributed-learning-is-log-normal/", "published_at": "2024-05-28T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c043035b3c7", "title": "Trackballs are great for the mostly-mouseless", "url": "https://til.andrew-quinn.me/posts/trackballs-are-great-for-the-mostly-mouseless/", "published_at": "2024-05-26T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04312b62c2", "title": "tmux is worse is better", "url": "https://til.andrew-quinn.me/posts/tmux-is-worse-is-better/", "published_at": "2024-05-23T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04321591e5", "title": "Disable your browser history to write better internal docs", "url": "https://til.andrew-quinn.me/posts/disable-your-browser-history-to-write-better-internal-docs/", "published_at": "2024-05-14T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04324437f8", "title": "I'm turning 30 so naturally I'm switching to OpenBSD", "url": "https://til.andrew-quinn.me/posts/i-m-turning-30-so-i-m-switching-to-openbsd/", "published_at": "2024-05-04T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c043310c8c8", "title": "PHP is Web Shell", "url": "https://til.andrew-quinn.me/posts/php-is-web-shell/", "published_at": "2024-04-29T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0433bdf13d", "title": "Language learning treated as breadth-first search", "url": "https://til.andrew-quinn.me/posts/language-learning-treated-as-breadth-first-search/", "published_at": "2024-04-22T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04341df62e", "title": "Most \"life lessons\" you hear are about scaling back", "url": "https://til.andrew-quinn.me/posts/why-most-life-lessons-you-hear-are-about-scaling-back/", "published_at": "2024-04-20T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04350e99e6", "title": "Check my math - NixOS vs the Most Complicated Program on Earth (MCPOE)", "url": "https://til.andrew-quinn.me/posts/check-my-math-nixos-vs-the-most-complicated-program-on-earth-mcpoe/", "published_at": "2024-04-14T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0435841ab5", "title": "Beware those who promise increasing marginal returns", "url": "https://til.andrew-quinn.me/posts/beware-those-who-promise-increasing-marginal-returns/", "published_at": "2024-04-09T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0435d887bb", "title": "The 10 sentences heuristic for foreign vocabulary acquisition", "url": "https://til.andrew-quinn.me/posts/the-10-sentences-heuristic-for-foreign-vocabulary-acquisition/", "published_at": "2024-04-01T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c043632cdd2", "title": "The unreasonable effectiveness of VMs in hacker pedagogy", "url": "https://til.andrew-quinn.me/posts/the-unreasonable-effectiveness-of-vms-in-hacker-pedagogy/", "published_at": "2024-03-31T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0436b458c6", "title": "fd + xargs + bat = quick document review", "url": "https://til.andrew-quinn.me/posts/fd-bat-quick-document-review/", "published_at": "2024-02-25T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04379f0b5e", "title": "wall: Broadcast message all Linux users", "url": "https://til.andrew-quinn.me/posts/wall-broadcast-message-all-linux-users/", "published_at": "2024-02-01T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c04386f4b44", "title": "Some New Year experiments", "url": "https://til.andrew-quinn.me/posts/some-new-year-experiments/", "published_at": "2024-01-01T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0439590244", "title": "Been quiet - studying Finnish", "url": "https://til.andrew-quinn.me/posts/been-quiet-studying-finnish/", "published_at": "2023-12-12T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0439688ab0", "title": "Speed paint videos for software installations", "url": "https://til.andrew-quinn.me/posts/speed-paint-videos-for-github-project-installations/", "published_at": "2023-12-07T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c0439fdbe53", "title": "Getting `fzf` to print the preview pane", "url": "https://til.andrew-quinn.me/posts/getting-fzf-to-print-the-preview-pane/", "published_at": "2023-12-06T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c043a205dad", "title": "Vagrant lets you wrap VDI images", "url": "https://til.andrew-quinn.me/posts/vagrant-lets-you-wrap-vdi-images/", "published_at": "2023-12-05T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c043a6c213f", "title": "Most 2 digit numbers not divisible by 2, 3, or 5 are prime", "url": "https://til.andrew-quinn.me/posts/most-2-digit-numbers-not-divisible-by-2-3-or-5-are-prime/", "published_at": "2023-12-04T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c043a971fff", "title": "Git aliases for fun and profit", "url": "https://til.andrew-quinn.me/posts/git-aliases-for-fun-and-profit/", "published_at": "2023-12-03T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c043b8e949c", "title": "Haskell has a rustup now?", "url": "https://til.andrew-quinn.me/posts/haskell-has-a-rustup-now/", "published_at": "2023-12-02T00:00:00+00:00" }, { "id": "01a08c55-c8cd-73dc-a9ab-3c043c797c64", "title": "Outage postmortem: Why didn't SelkoArchive get today's news?", "url": "https://til.andrew-quinn.me/posts/outage-postmortem-why-didn-t-selkoarchive-get-today-s-news/", "published_at": "2023-12-01T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bb5cb145c", "title": "Things Word has that SSGs, by and large, don't", "url": "https://til.andrew-quinn.me/posts/things-word-has-that-ssgs-by-and-large-don-t/", "published_at": "2023-11-30T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bb67e38d7", "title": "traceroute uses UDP by default, not ICMP", "url": "https://til.andrew-quinn.me/posts/traceroute-uses-udp-by-default-not-icmp/", "published_at": "2023-11-29T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bb72f271f", "title": "Cloud translation is more expensive than I thought", "url": "https://til.andrew-quinn.me/posts/selkouutiset-archive-now-supports-77-languages/", "published_at": "2023-11-28T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bb79a4615", "title": "Pomodoros and leverage ratios", "url": "https://til.andrew-quinn.me/posts/pomodoros-and-leverage-ratios/", "published_at": "2023-11-27T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bb7e9b7f0", "title": "One problem with user-scoped `systemd` timers", "url": "https://til.andrew-quinn.me/posts/one-problem-with-user-scoped-systemd-timers/", "published_at": "2023-11-26T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bb805a6b5", "title": "Promoting Blog Tag Reuse with `fzf`", "url": "https://til.andrew-quinn.me/posts/promoting-blog-tag-reuse-with-fzf/", "published_at": "2023-11-25T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bb8716c40", "title": "The Rule of Four", "url": "https://til.andrew-quinn.me/posts/the-rule-of-four/", "published_at": "2023-11-24T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bb95f5396", "title": "Hugo's Secret RSS Feeds", "url": "https://til.andrew-quinn.me/posts/hugo-s-secret-rss-feeds/", "published_at": "2023-11-23T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bb9d74f79", "title": "Hosting on Azure? Don't forget to declare UTF-8", "url": "https://til.andrew-quinn.me/posts/hosting-on-azure-don-t-forget-to-declare-utf-8/", "published_at": "2023-11-22T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bb9fb0a2b", "title": "Git controlled, user-scoped, recoverable-after-install `systemd` services and timers", "url": "https://til.andrew-quinn.me/posts/user-facing-services-and-timers-with-systemd/", "published_at": "2023-11-21T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bba709974", "title": "That damned Debian 10 one-liner I always need to let me `sudo`", "url": "https://til.andrew-quinn.me/posts/that-damned-debian-10-one-liner/", "published_at": "2023-11-20T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bbaa50e31", "title": "Art of the dotflag -- `.nojekyll`, `.gitkeep` and their ilk", "url": "https://til.andrew-quinn.me/posts/the-art-of-dotflags-nojekyll/", "published_at": "2023-11-19T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bbb416a0d", "title": "A good place to symlink local builds", "url": "https://til.andrew-quinn.me/posts/a-good-place-to-symlink-local-builds/", "published_at": "2023-11-18T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bbb5d59c5", "title": "No such thing as a Post-Push Hook", "url": "https://til.andrew-quinn.me/posts/no-such-thing-as-a-post-push-hook/", "published_at": "2023-11-18T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bbc42994c", "title": "Multi-line string literals in Fish", "url": "https://til.andrew-quinn.me/posts/multi-line-string-literals-in-fish/", "published_at": "2023-11-17T00:00:00+00:00" }, { "id": "01a08c55-c8ce-72bf-81a9-e32bbca0af80", "title": null, "url": "https://til.andrew-quinn.me/posts/readme/", "published_at": null } ] posts Claim your blog
Back to til.andrew-quinn.me
Blog · corpus.blog/blogs/til.andrew-quinn.me/posts

til.andrew-quinn.me

til.andrew-quinn.me

2026

2025

2024

2023

Undated