41554 blogs · [ { "id": "01a087a9-4395-7166-aec7-a537fbf6a013", "title": "a note on security with CircuitPython", "url": "http://moth.monster/blog/circuitpy-security/", "published_at": "2026-09-02T17:23:00+00:00" }, { "id": "01a087a9-4395-7166-aec7-a537fc296b41", "title": "the disappearance of self checkout", "url": "http://moth.monster/blog/self-checkout/", "published_at": "2026-07-28T10:26:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc6efc9329", "title": "single-page app tricks without a framework", "url": "http://moth.monster/blog/spa-tricks/", "published_at": "2026-06-18T04:46:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc6fd0c12a", "title": "quick and easy coffee cake", "url": "http://moth.monster/blog/coffee-cake/", "published_at": "2026-05-05T21:43:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc70051b40", "title": "artificial iconoclasm", "url": "http://moth.monster/blog/artificial-iconoclasm/", "published_at": "2026-01-27T16:35:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7022b356", "title": "someone tried to hack into my SendGrid account", "url": "http://moth.monster/blog/sendgrid-phishing/", "published_at": "2026-01-06T22:43:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7063da7a", "title": "What does it mean to think?", "url": "http://moth.monster/blog/0000-thought/", "published_at": "2025-12-14T09:03:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc71368825", "title": "how I make bread", "url": "http://moth.monster/blog/bread/", "published_at": "2025-12-06T22:55:55+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc71adb4ea", "title": "so, how did porn ID laws go?", "url": "http://moth.monster/blog/porn-id-2025/", "published_at": "2025-12-03T20:13:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc72636d2a", "title": "getting an HTC Vive working on Linux in 2025", "url": "http://moth.monster/blog/ogvive-linux/", "published_at": "2025-11-16T06:54:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc726b22a1", "title": "large language models do not think", "url": "http://moth.monster/blog/llms-do-not-think/", "published_at": "2025-10-06T00:43:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc72e888b2", "title": "AI is boring", "url": "http://moth.monster/blog/ai-is-boring/", "published_at": "2025-07-19T05:52:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc73143fba", "title": "trust no cloud", "url": "http://moth.monster/blog/trust-no-cloud/", "published_at": "2025-06-28T08:28:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7352596d", "title": "how to set a custom boot logo in postmarketOS", "url": "http://moth.monster/blog/pmos-bootsplash/", "published_at": "2025-06-12T02:22:22+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc744e3af1", "title": "is HTML a programming language?", "url": "http://moth.monster/blog/html-programming/", "published_at": "2025-04-04T04:12:28+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc75051294", "title": "there is no truth machine", "url": "http://moth.monster/blog/truth-machine/", "published_at": "2025-03-08T05:03:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc754eb362", "title": "you (probably) don't need a VPS", "url": "http://moth.monster/blog/vps/", "published_at": "2025-01-25T06:20:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc76015fb5", "title": "normal people don't care about the backend", "url": "http://moth.monster/blog/the-backend/", "published_at": "2025-01-16T05:51:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc76e9b7b9", "title": "the ultimate 8BitDo Ultimate Controller rundown", "url": "http://moth.monster/blog/ultimate-controller-rundown/", "published_at": "2024-12-13T19:18:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc77a55237", "title": "on embed cards", "url": "http://moth.monster/blog/embed-cards/", "published_at": "2024-10-21T01:25:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc782547e4", "title": "physical media is good, actually", "url": "http://moth.monster/blog/physical-media/", "published_at": "2024-10-02T03:50:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc78d89393", "title": "buying a printer that doesn't suck", "url": "http://moth.monster/blog/best-printer-2024-home-use-office-use-labels-school-homework/", "published_at": "2024-08-29T21:17:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc796b17c8", "title": "the death of search", "url": "http://moth.monster/blog/death-of-search/", "published_at": "2024-07-26T22:45:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7a289711", "title": "dealing with copyright", "url": "http://moth.monster/blog/copyright/", "published_at": "2024-06-29T20:11:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7a8fefc5", "title": "on anti-features", "url": "http://moth.monster/blog/less-is-more/", "published_at": "2024-05-22T23:51:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7b535b3f", "title": "installing postmarketOS on a Duet 3", "url": "http://moth.monster/blog/wormdingler-pmos/", "published_at": "2024-05-14T20:30:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7c339564", "title": "why every television sucks too", "url": "http://moth.monster/blog/microwavification/", "published_at": "2024-04-23T02:12:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7c83f078", "title": "the problem with porn ID laws", "url": "http://moth.monster/blog/porn-id/", "published_at": "2024-04-11T18:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7ce3a581", "title": "social media is a terrible business", "url": "http://moth.monster/blog/social-media-business/", "published_at": "2024-03-11T16:59:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7d598a7f", "title": "why i don't like noncommercial licenses", "url": "http://moth.monster/blog/noncommercial/", "published_at": "2024-03-04T14:12:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7d5efa07", "title": "how to change your name (as a transgender person in Maryland)", "url": "http://moth.monster/blog/name-change-trans-md/", "published_at": "2024-02-09T14:35:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7d8e6f11", "title": "an opinionated guide to alt text", "url": "http://moth.monster/blog/alt-text/", "published_at": "2024-01-15T08:25:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7dda6ca6", "title": "implementing geoIP filtering with Caddy", "url": "http://moth.monster/blog/caddy-geoip/", "published_at": "2024-01-03T08:43:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7e5fa9d0", "title": "accessibility is the secret to SEO", "url": "http://moth.monster/blog/accessibility-seo/", "published_at": "2023-12-28T03:12:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7e8e5f56", "title": "how Reddit did what Tumblr couldn't", "url": "http://moth.monster/blog/userbase-purges/", "published_at": "2023-12-12T23:30:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7eb9c0c2", "title": "the imitation game has been won", "url": "http://moth.monster/blog/imitation-game/", "published_at": "2023-11-15T05:42:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc7f9cbd8f", "title": "why every microwave sucks these days, and the death of instant pot", "url": "http://moth.monster/blog/microwaves/", "published_at": "2023-10-24T09:25:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc8073e2f1", "title": "on the conservation of energy", "url": "http://moth.monster/blog/conservation-of-energy/", "published_at": "2023-10-11T03:05:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc80e6c216", "title": "how Paw Patrol snacks ended up linking to porn", "url": "http://moth.monster/blog/paw-patrol/", "published_at": "2023-09-02T22:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc8131dbc4", "title": "there are two Webs", "url": "http://moth.monster/blog/two-webs/", "published_at": "2023-08-26T23:30:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc81d10e88", "title": "capitalism is a paperclip optimizer", "url": "http://moth.monster/blog/paperclip-optimizer/", "published_at": "2023-07-18T04:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc8270f00c", "title": "setting up a simple age gate with Caddy", "url": "http://moth.monster/blog/caddy-age-gate/", "published_at": "2023-07-06T21:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc828b1f42", "title": "making an illegal prime number", "url": "http://moth.monster/blog/illegal-primes/", "published_at": "2023-07-01T07:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc82e065b2", "title": "how to make your own website from scratch", "url": "http://moth.monster/blog/html-tutorial/", "published_at": "2023-05-21T03:55:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc83ad1421", "title": "a reasonable way to create backups on Linux", "url": "http://moth.monster/blog/reasonable-linux-backups/", "published_at": "2023-05-04T03:58:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc841819b9", "title": "why computer glitches sometimes spit out nonsensical Chinese", "url": "http://moth.monster/blog/utf16-endianness/", "published_at": "2023-04-13T02:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc84e5a2c4", "title": "the fediverse isn't private, and that's okay", "url": "http://moth.monster/blog/fediverse-privacy/", "published_at": "2023-03-29T07:20:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc857de3b0", "title": "the definition of \"computer\"", "url": "http://moth.monster/blog/definition-of-computer/", "published_at": "2023-03-14T04:45:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc85d6956f", "title": "an introduction to the Fediverse", "url": "http://moth.monster/blog/fediverse/", "published_at": "2023-01-31T07:10:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc86cb8c95", "title": "it happened again", "url": "http://moth.monster/blog/runk-2-cybersecurity-boogaloo/", "published_at": "2023-01-01T09:48:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc86f24809", "title": "most programming languages are fine, actually", "url": "http://moth.monster/blog/programming/", "published_at": "2022-09-28T10:50:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc87335a4c", "title": "how to make cinnamon rolls", "url": "http://moth.monster/blog/cinnamonrolls/", "published_at": "2022-07-31T02:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc8753d91a", "title": "how to write RSS by hand", "url": "http://moth.monster/blog/rssbyhand/", "published_at": "2022-06-21T06:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc884d7ffa", "title": "what the speed of light can tell us about everything", "url": "http://moth.monster/blog/speedoflight/", "published_at": "2022-06-19T12:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc88575112", "title": "how to prevent hotlinking with Caddy", "url": "http://moth.monster/blog/caddyhot/", "published_at": "2022-04-27T12:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc888a548e", "title": "how to use GoAccess with Caddy", "url": "http://moth.monster/blog/caddygoaccess/", "published_at": "2021-12-26T12:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc88947364", "title": "the secret of Caddy's include template", "url": "http://moth.monster/blog/caddytemplate/", "published_at": "2021-12-25T12:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc88f510f5", "title": "the problem with open source", "url": "http://moth.monster/blog/runk/", "published_at": "2021-12-15T12:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc89aac71d", "title": "how to host a tor hidden service with Caddy", "url": "http://moth.monster/blog/caddytor/", "published_at": "2021-12-12T12:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc8a53fd25", "title": "the depth of creation", "url": "http://moth.monster/blog/creation/", "published_at": "2021-09-04T12:00:00+00:00" }, { "id": "01a087a9-4396-7004-b046-eafc8a9484f8", "title": "what tbblobnoern can tell us about machine learning", "url": "http://moth.monster/blog/toblerone/", "published_at": "2021-09-01T12:00:00+00:00" } ] posts Claim your blog
Back to moth.monster
Blog · corpus.blog/blogs/moth.monster/posts

moth.monster

moth.monster

2026

2025

2024

2023

2022

2021