56,966 blogs · [ { "id": "01a087dd-436c-702b-993b-f0c3ad2843a0", "title": "YULBBS", "url": "https://seancoates.com/blogs/yulbbs", "published_at": "2026-08-13T14:30:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3ad9b9c3c", "title": "How We Got Here", "url": "https://seancoates.com/blogs/how-we-got-here", "published_at": "2026-08-11T14:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3ae436ae0", "title": "Orval in Dorval", "url": "https://seancoates.com/blogs/orval-in-dorval", "published_at": "2025-10-16T21:41:22+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3aebc693b", "title": "Studioworks", "url": "https://seancoates.com/blogs/studioworks", "published_at": "2025-10-09T14:30:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3af778a77", "title": "Vendor Security", "url": "https://seancoates.com/blogs/vendor-security", "published_at": "2024-05-13T14:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b03e0f8a", "title": "Matter and Privacy", "url": "https://seancoates.com/blogs/matter-and-privacy", "published_at": "2024-03-28T16:30:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b10a5d18", "title": "Exists is the enemy of good", "url": "https://seancoates.com/blogs/exists-is-the-enemy-of-good", "published_at": "2024-02-13T14:15:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b19950bb", "title": "A Secret Career Code", "url": "https://seancoates.com/blogs/a-secret-career-code", "published_at": "2023-04-01T15:15:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b22a259a", "title": "Modified Microphone", "url": "https://seancoates.com/blogs/modified-microphone", "published_at": "2022-02-18T15:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b30647ac", "title": "Anova Precision Oven (after a year)", "url": "https://seancoates.com/blogs/anova-precision-oven", "published_at": "2022-02-07T21:30:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b3d223ef", "title": "A USB Mystery", "url": "https://seancoates.com/blogs/a-usb-mystery", "published_at": "2022-01-25T14:30:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b43b7bf0", "title": "IoT: Internet-Optional Things", "url": "https://seancoates.com/blogs/internet-optional-things", "published_at": "2021-01-04T15:15:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b501f88b", "title": "Did it now", "url": "https://seancoates.com/blogs/did-it-now", "published_at": "2021-01-03T18:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b600f2af", "title": "Cache-Forever Assets", "url": "https://seancoates.com/blogs/cache-forever-assets", "published_at": "2021-01-03T15:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b60dee66", "title": "How I helped fix Canadaʼs COVID Alert app", "url": "https://seancoates.com/blogs/how-i-helped-fix-canadas-covid-alert-app", "published_at": "2020-08-24T16:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b6ed5c21", "title": "New Site (same as old site)", "url": "https://seancoates.com/blogs/new-site-same-as-old-site", "published_at": "2020-08-21T03:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b729b1bb", "title": "Faculty", "url": "https://seancoates.com/blogs/faculty", "published_at": "2018-01-22T16:30:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b732ff3b", "title": "Shortbread", "url": "https://seancoates.com/blogs/shortbread", "published_at": "2017-12-01T17:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b8154e96", "title": "API Gateway timeout workaround", "url": "https://seancoates.com/blogs/api-gateway-timeout-workaround", "published_at": "2017-09-22T14:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b8a32ebb", "title": "API Gateway Limitations", "url": "https://seancoates.com/blogs/api-gateway-limitations", "published_at": "2017-09-21T14:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b8d34a84", "title": "Lambda payload size workaround", "url": "https://seancoates.com/blogs/lambda-payload-size-workaround", "published_at": "2017-09-21T14:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b90cee00", "title": "Zappa and LambCI", "url": "https://seancoates.com/blogs/zappa-and-lambci", "published_at": "2017-04-28T17:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b9c81d91", "title": "Zappa", "url": "https://seancoates.com/blogs/zappa", "published_at": "2017-04-25T20:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3b9f30f06", "title": "DST pain", "url": "https://seancoates.com/blogs/dst-pain", "published_at": "2017-03-11T15:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3ba8392ec", "title": "Vermont", "url": "https://seancoates.com/blogs/vermont", "published_at": "2017-02-15T15:30:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3baa611d4", "title": "DNS for VMs", "url": "https://seancoates.com/blogs/dns-for-vms", "published_at": "2016-09-06T13:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3bb7fba08", "title": "SSH: jump servers, MFA, Salt, and advanced configuration", "url": "https://seancoates.com/blogs/ssh-jump", "published_at": "2016-08-30T12:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3bc77cc94", "title": "Vagrant: Bootstrapping", "url": "https://seancoates.com/blogs/vagrant-bootstrapping", "published_at": "2016-08-22T12:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3bd3059c9", "title": "Vagrant: Why?", "url": "https://seancoates.com/blogs/vagrant-why", "published_at": "2016-08-15T12:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3bd6a819a", "title": "Revitalization Project", "url": "https://seancoates.com/blogs/revitalization-project", "published_at": "2016-08-08T12:00:00+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3bda12153", "title": "Affirmative Wager", "url": "https://seancoates.com/blogs/affirmative-wager", "published_at": "2013-03-06T18:50:43+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3bdc7dde8", "title": "Web developer", "url": "https://seancoates.com/blogs/web-developer", "published_at": "2012-10-29T15:23:31+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3be631869", "title": "MongoDB Elections", "url": "https://seancoates.com/blogs/mongodb-elections", "published_at": "2012-10-26T14:27:10+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3bf3ce847", "title": "Berliner Weiße", "url": "https://seancoates.com/blogs/berliner-weisse", "published_at": "2012-06-20T23:19:50+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3bfa08cf3", "title": "Deploy on push (from GitHub)", "url": "https://seancoates.com/blogs/deploy-on-push-from-github", "published_at": "2012-06-04T14:34:55+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c0826d8b", "title": "Lexentity", "url": "https://seancoates.com/blogs/lexentity", "published_at": "2012-05-29T12:09:33+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c113b047", "title": "Use `env`", "url": "https://seancoates.com/blogs/use-env", "published_at": "2012-05-21T14:28:32+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c1d19d6b", "title": "PHP as a templating language", "url": "https://seancoates.com/blogs/php-as-a-templating-language", "published_at": "2012-05-14T14:59:46+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c27fc288", "title": "Natural Load Testing", "url": "https://seancoates.com/blogs/natural-load-testing", "published_at": "2012-05-07T14:51:19+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c288014f", "title": "Ideas of March", "url": "https://seancoates.com/blogs/ideas-of-march-1", "published_at": "2012-03-15T13:49:29+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c35deccb", "title": "HTTP 1.0 and the Connection header", "url": "https://seancoates.com/blogs/http-1-and-the-connection-header", "published_at": "2011-12-27T15:02:53+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c3ae8c79", "title": "Aficionadoʼs Curse / Pessimistic Optimism", "url": "https://seancoates.com/blogs/aficionados-curse-pessimistic-optimism", "published_at": "2011-10-19T03:22:53+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c42ff6f0", "title": "Webshell", "url": "https://seancoates.com/blogs/webshell", "published_at": "2011-05-09T12:24:53+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c4f25794", "title": "Gimme Bar on MongoDB", "url": "https://seancoates.com/blogs/gimme-bar-on-mongodb", "published_at": "2011-05-03T12:40:02+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c5b0d018", "title": "Gimme Bar no longer on CouchDB", "url": "https://seancoates.com/blogs/gimme-bar-no-longer-on-couchdb", "published_at": "2011-05-02T16:04:38+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c64fa77b", "title": "PHP Community Conference", "url": "https://seancoates.com/blogs/php-community-conference", "published_at": "2011-03-24T14:50:19+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c6aebe49", "title": "Ideas of March", "url": "https://seancoates.com/blogs/ideas-of-march", "published_at": "2011-03-15T13:09:14+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c73604fa", "title": "Gimme Bar: One Year Old", "url": "https://seancoates.com/blogs/gimme-bar-one-year-old", "published_at": "2011-01-19T21:59:35+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c784758e", "title": "Post-Advent 2010", "url": "https://seancoates.com/blogs/post-advent-2010", "published_at": "2010-12-25T18:29:27+00:00" }, { "id": "01a087dd-436c-702b-993b-f0c3c7dbb747", "title": "Remote pbcopy", "url": "https://seancoates.com/blogs/remote-pbcopy", "published_at": "2010-11-30T15:38:03+00:00" }, { "id": "01a087dd-436d-7034-9543-6793cca3fc2a", "title": "Brooklyn Beta", "url": "https://seancoates.com/blogs/brooklyn-beta", "published_at": "2010-10-27T16:45:46+00:00" }, { "id": "01a087dd-436d-7034-9543-6793cd81582c", "title": "Arbitrary Incrementer in PHP", "url": "https://seancoates.com/blogs/arbitrary-incrementer-in-php", "published_at": "2010-08-05T14:23:49+00:00" }, { "id": "01a087dd-436d-7034-9543-6793ce439cfa", "title": "Beer Alchemy Integration", "url": "https://seancoates.com/blogs/beer-alchemy-integration", "published_at": "2010-07-27T16:14:11+00:00" }, { "id": "01a087dd-436d-7034-9543-6793cf06201b", "title": "A new seancoates.com", "url": "https://seancoates.com/blogs/a-new-seancoatescom", "published_at": "2010-07-20T14:56:42+00:00" }, { "id": "01a087dd-436d-7034-9543-6793cf780f0b", "title": "Goodbye, OmniTI", "url": "https://seancoates.com/blogs/goodbye-omniti", "published_at": "2009-12-17T20:08:22+00:00" }, { "id": "01a087dd-436d-7034-9543-6793cfdf309b", "title": "Horrible Support", "url": "https://seancoates.com/blogs/horrible-support", "published_at": "2009-11-26T03:17:09+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d0c6692d", "title": "UTF: WTF?", "url": "https://seancoates.com/blogs/utf-wtf", "published_at": "2008-11-23T18:55:34+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d0f0ec7d", "title": "More Web of Trust Thoughts", "url": "https://seancoates.com/blogs/more-web-of-trust-thoughts", "published_at": "2008-10-03T00:36:12+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d1392266", "title": "Personal Password Policies", "url": "https://seancoates.com/blogs/personal-password-policies", "published_at": "2008-09-15T02:59:36+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d202868f", "title": "A Weak Web of Trust", "url": "https://seancoates.com/blogs/a-weak-web-of-trust", "published_at": "2008-09-15T02:56:02+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d277df2b", "title": "How to record a podcast on OSX 10.5.2", "url": "https://seancoates.com/blogs/how-to-record-a-podcast-on-osx-10-5-2", "published_at": "2008-09-15T02:56:01+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d31d493c", "title": "PHP Advent Calendar", "url": "https://seancoates.com/blogs/php-advent-calendar", "published_at": "2008-09-15T02:55:59+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d38d8b94", "title": "We all grow up", "url": "https://seancoates.com/blogs/we-all-grow-up", "published_at": "2008-09-15T02:55:51+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d3de5794", "title": "Short Date Formats Suck", "url": "https://seancoates.com/blogs/short-date-formats-suck", "published_at": "2008-09-15T02:55:46+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d4bf4e50", "title": "How to [not] get fired", "url": "https://seancoates.com/blogs/how-to-not-get-fired", "published_at": "2008-09-15T02:55:45+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d57b3513", "title": "Handling Downtime: Job Well Done", "url": "https://seancoates.com/blogs/handling-downtime-job-well-done", "published_at": "2008-09-15T02:55:38+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d5c6f852", "title": "Essential PHP Security", "url": "https://seancoates.com/blogs/essential-php-security", "published_at": "2008-09-15T02:55:36+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d5f8b4a0", "title": "PHP Pie?", "url": "https://seancoates.com/blogs/php-pie", "published_at": "2008-09-15T02:55:32+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d610c476", "title": "You can, but you shouldn't", "url": "https://seancoates.com/blogs/you-can-but-you-shouldn-t", "published_at": "2008-09-15T02:55:23+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d68b34ae", "title": "Security and... Driving? (and Hiring)", "url": "https://seancoates.com/blogs/security-and-driving-and-hiring", "published_at": "2008-09-15T02:55:19+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d6f172a1", "title": "($var == TRUE) or (TRUE == $var)?", "url": "https://seancoates.com/blogs/var-true-or-true-var", "published_at": "2008-09-15T02:55:17+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d79d9f7c", "title": "mail() replacement -- a better hack", "url": "https://seancoates.com/blogs/mail-replacement-a-better-hack", "published_at": "2008-09-15T02:55:10+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d813a0f2", "title": "XSS Woes", "url": "https://seancoates.com/blogs/xss-woes", "published_at": "2008-09-15T02:54:55+00:00" }, { "id": "01a087dd-436d-7034-9543-6793d9014926", "title": "Fun with the tokenizer...", "url": "https://seancoates.com/blogs/fun-with-the-tokenizer", "published_at": "2008-09-15T02:54:51+00:00" } ] posts Claim your blog
Back to seancoates.com
Blog · corpus.blog/blogs/seancoates.com/posts

seancoates.com

seancoates.com

2026

2025

2024

2023

2022

2021

2020

2018

2017

2016

2013

2012

2011

2010

2009

2008