41554 blogs · [ { "id": "01a0bb54-d3e0-730c-be25-2420755f74be", "title": "My new terminal color scheme", "url": "https://mattiebee.io/new-terminal-color-scheme/", "published_at": "2026-09-12T22:06:11+00:00" }, { "id": "01a0bb54-d3e0-730c-be25-242075f7139b", "title": "Fix gpg with a pty", "url": "https://mattiebee.io/fix-gpg-with-pty/", "published_at": "2026-09-12T21:33:51+00:00" }, { "id": "01a087a2-1d73-70ef-a43d-658e5c738e06", "title": "Security advisory: dye template injection", "url": "https://mattiebee.io/dye-template-advisory/", "published_at": "2026-04-03T00:15:22+00:00" }, { "id": "01a087a2-1d74-7325-be39-803795ed6cd5", "title": "Link Dump: Origins", "url": "https://mattiebee.io/link-dump-origins/", "published_at": "2026-03-31T01:34:23+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037969c516b", "title": "Dumping e-Reader cards", "url": "https://mattiebee.io/dumping-e-reader-cards/", "published_at": "2026-03-08T16:42:12+00:00" }, { "id": "01a087a2-1d74-7325-be39-803796bda49e", "title": "I made a font, and a new version of 4-e", "url": "https://mattiebee.io/made-font-and-new-4-e/", "published_at": "2026-03-07T23:22:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-803797456719", "title": "4-e 3.0: support for multiple GBFS \"stacks\", reworked user interface", "url": "https://mattiebee.io/4-e-3-0-gbfs-stacks-user-interface/", "published_at": "2026-02-28T01:51:15+00:00" }, { "id": "01a087a2-1d74-7325-be39-803797857df9", "title": "Friction is good, actually", "url": "https://mattiebee.io/friction-is-good-actually/", "published_at": "2026-02-24T02:18:45+00:00" }, { "id": "01a087a2-1d74-7325-be39-803797b1f3db", "title": "Weekend project: prepping for a 4-e demo", "url": "https://mattiebee.io/weekend-project-4-e-demo/", "published_at": "2026-02-23T01:50:34+00:00" }, { "id": "01a087a2-1d74-7325-be39-803797e181d0", "title": "Does that software really need to be built?", "url": "https://mattiebee.io/does-software-need-to-be-built/", "published_at": "2026-02-21T15:51:22+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037981b45b4", "title": "Fix Fastmail sending on macOS Mail", "url": "https://mattiebee.io/fix-fastmail-macos-mail/", "published_at": "2026-02-21T14:54:14+00:00" }, { "id": "01a087a2-1d74-7325-be39-803798f3d727", "title": "This is now an 11ty blog", "url": "https://mattiebee.io/now-an-11ty-blog/", "published_at": "2026-02-20T02:57:44+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037993087e3", "title": "Blog switchover, incoming!", "url": "https://mattiebee.io/blog-switchover-incoming/", "published_at": "2026-02-19T01:00:21+00:00" }, { "id": "01a087a2-1d74-7325-be39-803799940d4a", "title": "Code is a craft, and I'm a craftsperson", "url": "https://mattiebee.io/code-is-a-craft-and-i-m-a-craftsperson/", "published_at": "2026-02-13T01:23:23+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379a40788a", "title": "Leaving Listed…?", "url": "https://mattiebee.io/leaving-listed/", "published_at": "2026-02-08T20:20:32+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379ad73d38", "title": "A turntable and a HomePod: welcome to digital Goldbergia", "url": "https://mattiebee.io/a-turntable-and-a-homepod-welcome-to-digital-goldbergia/", "published_at": "2026-02-08T18:38:38+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379b84e299", "title": "I just cancelled Amazon Vine", "url": "https://mattiebee.io/i-just-cancelled-amazon-vine/", "published_at": "2025-12-12T02:52:16+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379c47574a", "title": "The 8BitDo Lite is secretly the best controller for platformers and puzzlers", "url": "https://mattiebee.io/the-8bitdo-lite-is-secretly-the-best-controller-for-platformers-and-puzzlers/", "published_at": "2025-03-21T21:13:19+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379c7b40f0", "title": "I still have a Kindle, but I can buy books from Kobo", "url": "https://mattiebee.io/i-still-have-a-kindle-but-i-can-buy-books-from-kobo/", "published_at": "2025-03-04T19:53:12+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379c7c3194", "title": "My feedback to Apple Accessibility about losing audiograms in Headphone Accommodations", "url": "https://mattiebee.io/my-feedback-to-apple-accessibility-about-losing-audiograms-in-headphone-accommodations/", "published_at": "2024-11-17T01:40:52+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379cb23f4d", "title": "PSA: lock in your audiogram with your old AirPods before iOS 18.1", "url": "https://mattiebee.io/psa-lock-in-your-audiogram-with-your-old-airpods-before-ios-18-1/", "published_at": "2024-10-25T13:12:35+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379d7df885", "title": "It sure looks like Apple ripped out a valuable hearing loss feature from the AirPods line", "url": "https://mattiebee.io/it-sure-looks-like-apple-ripped-out-a-valuable-hearing-loss-feature-from-the-airpods-line/", "published_at": "2024-10-23T16:14:33+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379e15a9cd", "title": "Bob Ross and the circular rabbit hole", "url": "https://mattiebee.io/bob-ross-and-the-circular-rabbit-hole/", "published_at": "2024-10-22T01:30:53+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379e6f9eb3", "title": "Asynchronous agony", "url": "https://mattiebee.io/asynchronous-agony/", "published_at": "2024-10-11T01:01:25+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379e7d70b4", "title": "A little imperfect software for you", "url": "https://mattiebee.io/a-little-imperfect-software-for-you/", "published_at": "2024-10-01T00:05:45+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379ef71838", "title": "Echoes of a magic night", "url": "https://mattiebee.io/echoes-of-a-magic-night/", "published_at": "2024-09-30T02:09:12+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379f8062e2", "title": "I can't stop watching Muppets Mayhem", "url": "https://mattiebee.io/i-can-t-stop-watching-muppets-mayhem/", "published_at": "2024-07-04T14:49:39+00:00" }, { "id": "01a087a2-1d74-7325-be39-80379fef1b4f", "title": "Introducing gbfs-web: attach files to homebrew ROMs without CLI tools", "url": "https://mattiebee.io/introducing-gbfs-web-attach-files-to-homebrew-roms-without-cli-tools/", "published_at": "2024-06-15T19:19:59+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a05aae1c", "title": "Introducing 4-e: Super Mario Advance 4 e-Cards without an e-Reader", "url": "https://mattiebee.io/introducing-4-e-super-mario-advance-4-e-cards-without-an-e-reader/", "published_at": "2024-06-08T00:26:57+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a148834c", "title": "Backing up and restoring GBA ROMS and saves with modern tools", "url": "https://mattiebee.io/backing-up-and-restoring-gba-roms-and-saves-with-modern-tools/", "published_at": "2024-06-07T23:09:32+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a16298df", "title": "The Analogue Pocket's d-pad is bad, but I made mine work", "url": "https://mattiebee.io/the-analogue-pocket-s-d-pad-is-bad-but-i-made-mine-work/", "published_at": "2024-04-27T16:04:57+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a1c351ef", "title": "I played Torna after Xenoblade 2 Chapter 7 and it was a great idea", "url": "https://mattiebee.io/i-played-torna-after-xenoblade-2-chapter-7-and-it-was-a-great-idea/", "published_at": "2024-04-20T16:06:54+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a2032996", "title": "I'm not gonna finish Xenoblade X", "url": "https://mattiebee.io/i-m-not-gonna-finish-xenoblade-x/", "published_at": "2024-03-10T21:17:22+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a278710e", "title": "I refuse to observe DST this year", "url": "https://mattiebee.io/i-refuse-to-observe-dst-this-year/", "published_at": "2024-02-07T16:47:17+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a33a8a09", "title": "Getting my monitors in line", "url": "https://mattiebee.io/getting-my-monitors-in-line/", "published_at": "2023-09-07T00:23:24+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a3911773", "title": "Are you really trans?", "url": "https://mattiebee.io/are-you-really-trans/", "published_at": "2023-09-04T14:41:35+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a42e06ba", "title": "Without \"Enemy\", what would I do?", "url": "https://mattiebee.io/without-enemy-what-would-i-do/", "published_at": "2023-08-02T02:03:26+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a4fed49c", "title": "A proposal for shell libraries", "url": "https://mattiebee.io/a-proposal-for-shell-libraries/", "published_at": "2023-05-08T03:33:34+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a5a3af91", "title": "HiDPI on macOS and Ubuntu", "url": "https://mattiebee.io/hidpi-on-macos-and-ubuntu/", "published_at": "2023-04-12T12:56:21+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a67d5b21", "title": "macOS' \"Failed to personalize\" error may have been me being an over-eager deleter", "url": "https://mattiebee.io/macos-failed-to-personalize-error-may-have-been-me-being-an-over-eager-deleter/", "published_at": "2023-04-08T13:53:26+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a6b49e41", "title": "Python rot and bringing in the old blog", "url": "https://mattiebee.io/python-rot-and-bringing-in-the-old-blog/", "published_at": "2023-03-02T02:53:42+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a724fe24", "title": "In defense of the USB-C future now past", "url": "https://mattiebee.io/in-defense-of-the-usb-c-future-now-past/", "published_at": "2023-02-08T23:11:37+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a778d361", "title": "Choosy is for more than just browsers", "url": "https://mattiebee.io/choosy-is-for-more-than-just-browsers/", "published_at": "2023-01-23T13:34:53+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a78bb9ec", "title": "You got your LEGO in my cube!", "url": "https://mattiebee.io/you-got-your-lego-in-my-cube/", "published_at": "2023-01-20T22:00:40+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a7d8d6e0", "title": "Controlling iCloud Drive's space usage", "url": "https://mattiebee.io/controlling-icloud-drive-s-space-usage/", "published_at": "2023-01-19T15:52:28+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a873d631", "title": "Better captioned images on Listed", "url": "https://mattiebee.io/better-captioned-images-on-listed/", "published_at": "2023-01-11T02:20:07+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a8cbe295", "title": "Hey Siri, add a transaction to YNAB", "url": "https://mattiebee.io/hey-siri-add-a-transaction-to-ynab/", "published_at": "2023-01-06T01:40:29+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a8e1403f", "title": "Hey Siri, open the garage door", "url": "https://mattiebee.io/hey-siri-open-the-garage-door/", "published_at": "2022-12-17T00:34:21+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037a91fd7aa", "title": "Making song links for any streaming service", "url": "https://mattiebee.io/making-song-links-for-any-streaming-service/", "published_at": "2022-11-29T17:58:19+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037aa138892", "title": "Jesus at the Intersection of Fear and Disapproval", "url": "https://mattiebee.io/jesus-at-the-intersection-of-fear-and-disapproval/", "published_at": "2022-11-21T18:01:12+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037aa8af0ef", "title": "Uploading images for Listed with an Imgur iOS Shortcut", "url": "https://mattiebee.io/uploading-images-for-listed-with-an-imgur-ios-shortcut/", "published_at": "2022-11-20T03:11:14+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037ab4d89fc", "title": "The Twitter implosion and the pink lists", "url": "https://mattiebee.io/the-twitter-implosion-and-the-pink-lists/", "published_at": "2022-11-19T03:02:37+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037abd99288", "title": "A little more Listed customization", "url": "https://mattiebee.io/a-little-more-listed-customization/", "published_at": "2022-11-16T21:25:53+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037ac65eb46", "title": "Edit your Zsh command line with vi", "url": "https://mattiebee.io/edit-your-zsh-command-line-with-vi/", "published_at": "2022-11-16T21:06:44+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037ad1dc4f3", "title": "What it's like writing on Listed", "url": "https://mattiebee.io/what-it-s-like-writing-on-listed/", "published_at": "2022-11-15T11:24:49+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037add88dcc", "title": "Mister Rogers and François Clemmons", "url": "https://mattiebee.io/mister-rogers-and-francois-clemmons/", "published_at": "2022-11-15T00:57:29+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037adff693f", "title": "Let's try this again", "url": "https://mattiebee.io/let-s-try-this-again/", "published_at": "2022-11-14T23:47:50+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037aeb5852e", "title": "The drain of self-advocacy", "url": "https://mattiebee.io/the-drain-of-self-advocacy/", "published_at": "2020-07-14T16:43:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037aebd3aa9", "title": "On supporting a friend", "url": "https://mattiebee.io/on-supporting-a-friend/", "published_at": "2019-08-31T13:06:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037aefd6000", "title": "Review: GRIS", "url": "https://mattiebee.io/review-gris/", "published_at": "2019-08-25T15:05:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037af493fec", "title": "Your candle", "url": "https://mattiebee.io/your-candle/", "published_at": "2019-03-19T00:06:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037af8bf9d7", "title": "In memoriam", "url": "https://mattiebee.io/in-memoriam/", "published_at": "2019-01-04T02:05:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b023a111", "title": "Natalie Nguyen", "url": "https://mattiebee.io/natalie-nguyen/", "published_at": "2018-11-03T20:27:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b101fa0a", "title": "A JavaScript object that dynamically returns unknown properties", "url": "https://mattiebee.io/a-javascript-object-that-dynamically-returns-unknown-properties/", "published_at": "2018-07-02T12:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b132ea6b", "title": "Setting up Windows to build and run Node.js applications", "url": "https://mattiebee.io/setting-up-windows-to-build-and-run-node-js-applications/", "published_at": "2018-06-18T12:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b1f85483", "title": "Feeling Pride at Atomic", "url": "https://mattiebee.io/feeling-pride-at-atomic/", "published_at": "2018-06-12T12:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b236b123", "title": "Review: end-to-end encrypted notes with Standard Notes", "url": "https://mattiebee.io/review-end-to-end-encrypted-notes-with-standard-notes/", "published_at": "2018-03-25T12:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b31de95e", "title": "Why a no-moonlighting guideline benefits employees", "url": "https://mattiebee.io/why-a-no-moonlighting-guideline-benefits-employees/", "published_at": "2018-02-03T12:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b33b3c74", "title": "Spreading the spread and rest love", "url": "https://mattiebee.io/spreading-the-spread-and-rest-love/", "published_at": "2018-01-09T12:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b37217ff", "title": "Resetting a Wacom Bamboo Spark", "url": "https://mattiebee.io/resetting-a-wacom-bamboo-spark/", "published_at": "2017-10-31T17:52:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b4620b75", "title": "A PyOhio emergency", "url": "https://mattiebee.io/a-pyohio-emergency/", "published_at": "2017-07-31T13:25:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b4c4c800", "title": "Lessons learned losing", "url": "https://mattiebee.io/lessons-learned-losing/", "published_at": "2017-07-19T12:16:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b55af706", "title": "Retiring brewdo", "url": "https://mattiebee.io/retiring-brewdo/", "published_at": "2017-05-27T18:48:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b5870ee7", "title": "Representing function properties in TypeScript", "url": "https://mattiebee.io/representing-function-properties-in-typescript/", "published_at": "2017-04-11T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b5b5afdf", "title": "Can the macOS Disk Utility really erase an SSD?", "url": "https://mattiebee.io/can-the-macos-disk-utility-really-erase-an-ssd/", "published_at": "2017-04-11T00:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b5f2df8e", "title": "Virtual network customization in VMware Fusion", "url": "https://mattiebee.io/virtual-network-customization-in-vmware-fusion/", "published_at": "2017-04-03T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b658f7cb", "title": "Security hygiene for software professionals", "url": "https://mattiebee.io/security-hygiene-for-software-professionals/", "published_at": "2017-02-06T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b6698167", "title": "The security spectrum of curl | sh", "url": "https://mattiebee.io/the-security-spectrum-of-curl-sh/", "published_at": "2016-12-12T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b7688d12", "title": "Easy secure web serving with OpenBSD's acme-client and Let's Encrypt", "url": "https://mattiebee.io/easy-secure-web-serving-with-openbsd-s-acme-client-and-let-s-encrypt/", "published_at": "2016-09-20T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b7720d9e", "title": "Command injection, or how /bin/sh can rm -rf your server", "url": "https://mattiebee.io/command-injection-or-how-bin-sh-can-rm-rf-your-server/", "published_at": "2016-08-29T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b7d469ef", "title": "Date math across timezones with Moment.js", "url": "https://mattiebee.io/date-math-across-timezones-with-moment-js/", "published_at": "2016-07-25T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b8a82f59", "title": "\"npm install -g\" considered harmful", "url": "https://mattiebee.io/npm-install-g-considered-harmful/", "published_at": "2016-02-22T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b8da002b", "title": "The JavaScript Promises trilogy", "url": "https://mattiebee.io/the-javascript-promises-trilogy/", "published_at": "2016-02-18T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b8f1a7c8", "title": "Precision decimal math in JavaScript with decimal.js", "url": "https://mattiebee.io/precision-decimal-math-in-javascript-with-decimal-js/", "published_at": "2016-01-04T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037b93e4261", "title": "Developing on OS X inside Vagrant", "url": "https://mattiebee.io/developing-on-os-x-inside-vagrant/", "published_at": "2015-11-17T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037ba1fb53b", "title": "Swiss Cheese and Pair Programming", "url": "https://mattiebee.io/swiss-cheese-and-pair-programming/", "published_at": "2015-09-20T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037ba9f7709", "title": "Questions to ask when bringing in third-party code", "url": "https://mattiebee.io/questions-to-ask-when-bringing-in-third-party-code/", "published_at": "2015-08-27T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037bb4b0d2f", "title": "pyenv slides from PyOhio", "url": "https://mattiebee.io/pyenv-slides-from-pyohio/", "published_at": "2015-08-02T15:16:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037bbfb54e7", "title": "Tall trucks, low bridges, and iOS geofences", "url": "https://mattiebee.io/tall-trucks-low-bridges-and-ios-geofences/", "published_at": "2015-07-16T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037bc2f4848", "title": "Creating man pages in Markdown with Ronn", "url": "https://mattiebee.io/creating-man-pages-in-markdown-with-ronn/", "published_at": "2015-05-06T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037bc6ad142", "title": "Using reflection to test complex objects", "url": "https://mattiebee.io/using-reflection-to-test-complex-objects/", "published_at": "2015-04-14T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037bc802119", "title": "Getting started using C libraries from Swift", "url": "https://mattiebee.io/getting-started-using-c-libraries-from-swift/", "published_at": "2015-02-23T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037bc9a31ee", "title": "Trace writes inside Selenium tests", "url": "https://mattiebee.io/trace-writes-inside-selenium-tests/", "published_at": "2014-12-28T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037bcfae66c", "title": "Understanding the 3 main types of encryption", "url": "https://mattiebee.io/understanding-the-3-main-types-of-encryption/", "published_at": "2014-11-20T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037bdb31407", "title": "Turning asynchronous networking inside-out", "url": "https://mattiebee.io/turning-asynchronous-networking-inside-out/", "published_at": "2014-10-06T13:00:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037be91e3a0", "title": "sudoless Rails", "url": "https://mattiebee.io/sudoless-rails/", "published_at": "2014-08-03T19:36:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037beff78e2", "title": "brewdo lightning talk slides from PyOhio", "url": "https://mattiebee.io/brewdo-lightning-talk-slides-from-pyohio/", "published_at": "2014-07-27T01:17:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037bfb37030", "title": "octothorpe talk slides from PyOhio", "url": "https://mattiebee.io/octothorpe-talk-slides-from-pyohio/", "published_at": "2014-07-26T22:15:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037bfb8cb58", "title": "Introduction to Ansible talk", "url": "https://mattiebee.io/introduction-to-ansible-talk/", "published_at": "2014-07-14T23:28:00+00:00" }, { "id": "01a087a2-1d74-7325-be39-8037c030d94e", "title": "A week of code", "url": "https://mattiebee.io/a-week-of-code/", "published_at": "2014-05-24T15:50:00+00:00" } ] posts Claim your blog
Back to mattiebee.io
Blog · corpus.blog/blogs/mattiebee.io/posts

mattiebee.io

mattiebee.io

2026

2025

2024

2023

2022

2020

2019

2018

2017

2016

2015

2014