56,966 blogs · [ { "id": "01a07d5d-5804-7118-b8f0-681d2ecd0825", "title": "Is it correct?", "url": "https://alexgaynor.net/2026/sep/07/is-it-correct/", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d2ed2551e", "title": "You can't bug fix your way out of the vulnpocalypse", "url": "https://alexgaynor.net/2026/jul/15/you-cant-bugfix-your-way-out-of-the-vulnpocalypse/", "published_at": "2026-07-15T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d2f7ad2e8", "title": "If it could have, why didn't it?", "url": "https://alexgaynor.net/2026/apr/13/why-didnt-it/", "published_at": "2026-04-13T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d2fb0524b", "title": "Unsafe Defaults in Statutory Severability Analysis", "url": "https://alexgaynor.net/2025/dec/22/unsafe-defaults-statutory-severability/", "published_at": "2025-12-22T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d2fdfcaf9", "title": "Relish: A new serialization format", "url": "https://alexgaynor.net/2025/dec/09/relish/", "published_at": "2025-12-09T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d307a2e34", "title": "Motion to Dismiss for Failure to State a Vulnerability", "url": "https://alexgaynor.net/2025/oct/20/motion-to-dismiss/", "published_at": "2025-10-20T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3138f846", "title": "So you want to serialize some DER?", "url": "https://alexgaynor.net/2025/jun/20/serialize-some-der/", "published_at": "2025-06-20T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d31708a87", "title": "What is a Benchmark?", "url": "https://alexgaynor.net/2025/jun/02/what-is-a-benchmark/", "published_at": "2025-06-02T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d31b58bb5", "title": "Standard Libraries and their Discontents", "url": "https://alexgaynor.net/2025/may/19/standard-libraries/", "published_at": "2025-05-19T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3228f943", "title": "Putting a Price Tag on Open Source", "url": "https://alexgaynor.net/2025/apr/08/putting-a-price-tag-on-open-source/", "published_at": "2025-04-08T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3285bdbd", "title": "Postel's Law and the Three Ring Circus", "url": "https://alexgaynor.net/2025/mar/25/postels-law-and-the-three-ring-circus/", "published_at": "2025-03-25T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d33154948", "title": "Notes on coreutils in Rust", "url": "https://alexgaynor.net/2025/mar/22/coreutils-in-rust/", "published_at": "2025-03-22T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3325d97d", "title": "Things have reasons", "url": "https://alexgaynor.net/2025/mar/06/things-have-reasons/", "published_at": "2025-03-06T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d34172e96", "title": "Generality", "url": "https://alexgaynor.net/2025/mar/05/generality/", "published_at": "2025-03-05T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d34e99b63", "title": "Do tech workers have a reason to love monopolies?", "url": "https://alexgaynor.net/2025/feb/19/tech-workers-monopoly-and-monopsony/", "published_at": "2025-02-19T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d357952bd", "title": "The SSO Tax is Smart Business, and Bad Security", "url": "https://alexgaynor.net/2025/feb/07/sso-tax-smart-business-bad-security/", "published_at": "2025-02-07T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d357d1f16", "title": "Stop Demanding Performance", "url": "https://alexgaynor.net/2025/jan/27/stop-demanding-performance/", "published_at": "2025-01-27T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3646f066", "title": "Challenges to funding open source", "url": "https://alexgaynor.net/2025/jan/13/challenges-funding-open-source/", "published_at": "2025-01-13T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d36f4eb45", "title": "Risky Business", "url": "https://alexgaynor.net/2024/oct/21/risky-business/", "published_at": "2024-10-21T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3744834b", "title": "Philosophies of Cryptographic Libraries", "url": "https://alexgaynor.net/2024/sep/27/cryptographic-philosophies/", "published_at": "2024-09-27T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d37c6da72", "title": "Signatures are like backups", "url": "https://alexgaynor.net/2024/sep/09/signatures-are-like-backups/", "published_at": "2024-09-09T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d38636edd", "title": "The impact of memory safety on sandboxing", "url": "https://alexgaynor.net/2024/aug/30/impact-of-memory-safety-on-sandboxing/", "published_at": "2024-08-30T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d38bfbdae", "title": "Safer C++", "url": "https://alexgaynor.net/2024/aug/18/safer-c-plus-plus/", "published_at": "2024-08-18T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d398b1bf0", "title": "Defining the memory safe problem", "url": "https://alexgaynor.net/2023/oct/02/defining-the-memory-safety-problem/", "published_at": "2023-10-02T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3a4438ee", "title": "Buffers on the edge: Python and Rust", "url": "https://alexgaynor.net/2022/oct/23/buffers-on-the-edge/", "published_at": "2022-10-23T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3b08afed", "title": "What's in a version number? (Or: Musings on backwards compatibility)", "url": "https://alexgaynor.net/2021/oct/07/whats-in-a-version-number/", "published_at": "2021-10-07T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3b208213", "title": "Why software ends up complex", "url": "https://alexgaynor.net/2020/nov/30/why-software-ends-up-complex/", "published_at": "2020-11-30T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3b3af769", "title": "CSVs: The good, the bad, and the ugly", "url": "https://alexgaynor.net/2020/sep/24/csv-good-bad-ugly/", "published_at": "2020-09-24T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3c09ea47", "title": "What science can tell us about C and C++'s security", "url": "https://alexgaynor.net/2020/may/27/science-on-memory-unsafety-and-security/", "published_at": "2020-05-27T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3cd73739", "title": "Dayenu for Open Source", "url": "https://alexgaynor.net/2020/apr/10/dayenu-open-source/", "published_at": "2020-04-10T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3d162cdc", "title": "Scaling Software Development", "url": "https://alexgaynor.net/2020/feb/18/scaling-software-development/", "published_at": "2020-02-18T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3d515732", "title": "2019 Security Wish List In Review", "url": "https://alexgaynor.net/2019/dec/24/security-wish-list-2019-review/", "published_at": "2019-12-24T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3df94764", "title": "On Safety Critical Software", "url": "https://alexgaynor.net/2019/nov/07/on-safety-critical-software/", "published_at": "2019-11-07T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3e5320b4", "title": "A Memory Safety Research Agenda", "url": "https://alexgaynor.net/2019/sep/02/memory-safety-research-agenda/", "published_at": "2019-09-02T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3ef7330a", "title": "Introduction to Memory Unsafety for VPs of Engineering", "url": "https://alexgaynor.net/2019/aug/12/introduction-to-memory-unsafety-for-vps-of-engineering/", "published_at": "2019-08-12T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d3f54136c", "title": "Read code more", "url": "https://alexgaynor.net/2019/jul/11/read-code-more/", "published_at": "2019-07-11T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d403fd623", "title": "Modern C++ Won't Save Us", "url": "https://alexgaynor.net/2019/apr/21/modern-c++-wont-save-us/", "published_at": "2019-04-21T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d412731bf", "title": "Notes on the challenges to the adoption of security keys", "url": "https://alexgaynor.net/2019/apr/10/notes-on-challenges-to-security-key-adoption/", "published_at": "2019-04-10T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d41f33e71", "title": "Chrome + Windows Exploit: Security Beyond Bugfixes", "url": "https://alexgaynor.net/2019/mar/07/chrome-windows-exploit-security-beyond-bugfixes/", "published_at": "2019-03-07T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d424d9e92", "title": "Notes on fuzzing ImageMagick and GraphicsMagick", "url": "https://alexgaynor.net/2019/feb/05/notes-fuzzing-imagemagick-graphicsmagick/", "published_at": "2019-02-05T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4323f349", "title": "Security wish list for 2019", "url": "https://alexgaynor.net/2019/jan/06/security-wish-list-2019/", "published_at": "2019-01-06T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d440100de", "title": "Optimize for Auditability", "url": "https://alexgaynor.net/2018/dec/13/optimize-for-auditability/", "published_at": "2018-12-13T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4432fe91", "title": "The worst truism in information security", "url": "https://alexgaynor.net/2018/jul/20/worst-truism-in-infosec/", "published_at": "2018-07-20T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d44e69a5d", "title": "Lessons learned at USDS", "url": "https://alexgaynor.net/2018/mar/20/lessons-learned-usds/", "published_at": "2018-03-20T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d458c6e6a", "title": "Known unknowns - zero-days in the wild", "url": "https://alexgaynor.net/2018/feb/20/known-unknowns-zero-days-in-the-wild/", "published_at": "2018-02-20T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d463c6205", "title": "The mysterious case of (deny dynamic-code-generation)", "url": "https://alexgaynor.net/2018/jan/29/mysterious-case-of-deny-dynamic-code-generation/", "published_at": "2018-01-29T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d466c31e5", "title": "A vulnerability by any other name", "url": "https://alexgaynor.net/2017/nov/20/a-vulnerability-by-any-other-name/", "published_at": "2017-11-20T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4735f45c", "title": "Response to Deputy Attorney General Rosenstein's remarks on Encryption", "url": "https://alexgaynor.net/2017/oct/13/rosenstein-encryption-response/", "published_at": "2017-10-13T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d47b597a3", "title": "Surviving Apache Struts CVE-2017-5638", "url": "https://alexgaynor.net/2017/sep/18/surviving-struts-cve/", "published_at": "2017-09-18T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d484547cb", "title": "Categorizing Security Engineering Work", "url": "https://alexgaynor.net/2017/sep/11/categorizing-security-engineering-work/", "published_at": "2017-09-11T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d487ab50a", "title": "Forward secrecy is the most important thing", "url": "https://alexgaynor.net/2017/apr/26/forward-secrecy-is-the-most-important-thing/", "published_at": "2017-04-26T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d48defd8f", "title": "Introduction to Certificate Transparency for Server Operators", "url": "https://alexgaynor.net/2017/apr/17/certificate-transparency-for-server-operators/", "published_at": "2017-04-17T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d494b1f76", "title": "A year of tracking my HTTP requests", "url": "https://alexgaynor.net/2017/mar/26/year-of-tracking-http/", "published_at": "2017-03-26T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d49939baa", "title": "SHA1 and Richard Feynman", "url": "https://alexgaynor.net/2017/feb/26/sha1-and-richard-feynman/", "published_at": "2017-02-26T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4a451bca", "title": "Looking for work", "url": "https://alexgaynor.net/2016/dec/23/looking-for-work/", "published_at": "2016-12-23T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4a875dff", "title": "OSS-Fuzz initial impressions", "url": "https://alexgaynor.net/2016/dec/03/oss-fuzz-initial-impressions/", "published_at": "2016-12-03T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4aa0ecf5", "title": "Intro to threat modeling", "url": "https://alexgaynor.net/2016/jul/29/intro-to-threat-modeling/", "published_at": "2016-07-29T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4aa7d3ba", "title": "Anatomy of a Crypto Vulnerability", "url": "https://alexgaynor.net/2016/mar/14/anatomy-of-a-crypto-vulnerability/", "published_at": "2016-03-14T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4b8e5cc0", "title": "Announcing letsencrypt-aws", "url": "https://alexgaynor.net/2016/jan/20/announcing-letsencrypt-aws/", "published_at": "2016-01-20T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4c1bef2f", "title": "Don't have environments", "url": "https://alexgaynor.net/2016/jan/19/dont-have-environments/", "published_at": "2016-01-19T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4c23e341", "title": "Shrinking your code review", "url": "https://alexgaynor.net/2015/dec/29/shrinking-code-review/", "published_at": "2015-12-29T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4cf47314", "title": "5 critically important security projects", "url": "https://alexgaynor.net/2015/nov/28/5-critical-security-projects/", "published_at": "2015-11-28T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4d200034", "title": "Telemetry for Open Source", "url": "https://alexgaynor.net/2015/sep/03/telemetry-for-open-source/", "published_at": "2015-09-03T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4d7a2676", "title": "Rust: A modern programming environment", "url": "https://alexgaynor.net/2015/jul/20/rust-modern-programming-language/", "published_at": "2015-07-20T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4ddbb450", "title": "Tips for Improving Your Company's Security", "url": "https://alexgaynor.net/2015/jun/08/tips-for-improving-your-companys-security/", "published_at": "2015-06-08T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4e012ae9", "title": "Tips for Scaling Web Apps", "url": "https://alexgaynor.net/2015/may/27/tips-for-scaling-web-apps/", "published_at": "2015-05-27T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4e55f824", "title": "Introduction to Fuzzing in Python with AFL", "url": "https://alexgaynor.net/2015/apr/13/introduction-to-fuzzing-in-python-with-afl/", "published_at": "2015-04-13T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4f3727ad", "title": "Red Hat and the Open Source Community", "url": "https://alexgaynor.net/2015/mar/30/red-hat-open-source-community/", "published_at": "2015-03-30T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d4f8d912f", "title": "DevOps vs. Platform Engineering", "url": "https://alexgaynor.net/2015/mar/06/devops-vs-platform-engineering/", "published_at": "2015-03-06T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5069a693", "title": "Software Of the People, By the People, For the People", "url": "https://alexgaynor.net/2015/feb/03/software-of-the-people-by-the-people-for-the-people/", "published_at": "2015-02-03T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5104d7da", "title": "The State of the News and TLS: Part II", "url": "https://alexgaynor.net/2014/dec/30/state-of-news-tls-part-ii/", "published_at": "2014-12-30T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5139d38c", "title": "The West Wing Revisited: Let Bartlet Be Bartlet", "url": "https://alexgaynor.net/2014/dec/21/west-wing-revisited-let-barlet-be-barlet/", "published_at": "2014-12-21T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d521230f8", "title": "The State of the News and TLS", "url": "https://alexgaynor.net/2014/nov/12/state-of-news-tls/", "published_at": "2014-11-12T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d52e53e0f", "title": "I Hope Twitter Goes Away", "url": "https://alexgaynor.net/2014/oct/30/i-hope-twitter-goes-away/", "published_at": "2014-10-30T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d53694727", "title": "My Ideal Development Environment", "url": "https://alexgaynor.net/2014/oct/27/ideal-development-environment/", "published_at": "2014-10-27T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d53ed430c", "title": "The West Wing Revisited: Six Meetings Before Lunch", "url": "https://alexgaynor.net/2014/oct/19/west-wing-revisited-six-meetings-before-lunch/", "published_at": "2014-10-19T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d54283399", "title": "The West Wing Revisited: The White House Pro-Am", "url": "https://alexgaynor.net/2014/oct/18/west-wing-revisited-the-white-house-pro-am/", "published_at": "2014-10-18T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5502f7a6", "title": "The West Wing Revisited: 20 Hours in L.A.", "url": "https://alexgaynor.net/2014/oct/17/west-wing-revisited-20-hours-in-la/", "published_at": "2014-10-17T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d559caa5f", "title": "The West Wing Revisited: Celestial Navigation", "url": "https://alexgaynor.net/2014/oct/16/west-wing-revisited-celestial-navigation/", "published_at": "2014-10-16T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d561a01b2", "title": "The West Wing Revisited: Take this Sabbath Day", "url": "https://alexgaynor.net/2014/oct/15/west-wing-revisited-take-this-sabbath-day/", "published_at": "2014-10-15T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d566a8940", "title": "The West Wing Revisited: Take out the Trash Day", "url": "https://alexgaynor.net/2014/oct/14/west-wing-revisited-take-out-the-trash-day/", "published_at": "2014-10-14T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5693a29b", "title": "Advocating for the Devil", "url": "https://alexgaynor.net/2014/oct/13/advocating-for-the-devil/", "published_at": "2014-10-13T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d572d6b55", "title": "The West Wing Revisited: He Shall, From Time to Time?", "url": "https://alexgaynor.net/2014/oct/13/west-wing-revisited-he-shall-from-time-to-time/", "published_at": "2014-10-13T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d574434b8", "title": "The West Wing Revisited: Lord John Marbury", "url": "https://alexgaynor.net/2014/oct/12/west-wing-revisited-lord-john-marbury/", "published_at": "2014-10-12T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d581ab13c", "title": "The West Wing Revisited: In Excelsis Deo", "url": "https://alexgaynor.net/2014/oct/11/west-wing-revisited-in-excelsis-deo/", "published_at": "2014-10-11T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d58557e95", "title": "The West Wing Revisited: The Short List", "url": "https://alexgaynor.net/2014/oct/10/west-wing-revisited-the-short-list/", "published_at": "2014-10-10T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d58a5e144", "title": "The West Wing Revisited: Enemies", "url": "https://alexgaynor.net/2014/oct/09/west-wing-revisited-enemies/", "published_at": "2014-10-09T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d59748fbc", "title": "The West Wing Revisited: The State Dinner", "url": "https://alexgaynor.net/2014/oct/08/west-wing-revisited-state-dinner/", "published_at": "2014-10-08T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d597ac320", "title": "The West Wing Revisited: Mr. Willis of Ohio", "url": "https://alexgaynor.net/2014/oct/07/west-wing-revisited-mr-willis-ohio/", "published_at": "2014-10-07T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5a790c45", "title": "How to Code Review Without Being a Jerk", "url": "https://alexgaynor.net/2014/oct/06/how-to-code-review-without-being-a-jerk/", "published_at": "2014-10-06T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5b667968", "title": "HTTP Considered Unethical", "url": "https://alexgaynor.net/2014/oct/06/http-considered-unethical/", "published_at": "2014-10-06T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5bd6c739", "title": "The West Wing Revisisted: The Crackpots and These Women", "url": "https://alexgaynor.net/2014/oct/06/west-wing-revisited-crackpots-these-women/", "published_at": "2014-10-06T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5bf8f38b", "title": "The West Wing Revisited: Five Votes Down", "url": "https://alexgaynor.net/2014/oct/05/west-wing-revisited-five-votes-down/", "published_at": "2014-10-05T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5c5a0cd7", "title": "The West Wing Revisited: A Proportional Response", "url": "https://alexgaynor.net/2014/oct/03/west-wing-revisited-a-proportional-response/", "published_at": "2014-10-03T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5d5732ed", "title": "The West Wing Revisited: Post Hoc Ergo Propter Hoc", "url": "https://alexgaynor.net/2014/oct/02/west-wing-revisited-post-hoc-ergo-propter-hoc/", "published_at": "2014-10-02T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5e4fb23a", "title": "Python for Ada", "url": "https://alexgaynor.net/2014/sep/23/python-for-ada/", "published_at": "2014-09-23T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5eae8ac0", "title": "The West Wing Revisited", "url": "https://alexgaynor.net/2014/sep/21/west-wing-revisited/", "published_at": "2014-09-21T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5edd434a", "title": "Math Games", "url": "https://alexgaynor.net/2014/aug/04/math-games/", "published_at": "2014-08-04T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5ef2e086", "title": "There is a flash of light! Your PYTHON has evolved into ...", "url": "https://alexgaynor.net/2014/jul/04/your-python-has-evolved/", "published_at": "2014-07-04T00:00:00+00:00" }, { "id": "01a07d5d-5804-7118-b8f0-681d5f7a1189", "title": "Quo Vadimus?", "url": "https://alexgaynor.net/2014/may/26/quo-vadimus/", "published_at": "2014-05-26T00:00:00+00:00" } ] posts Claim your blog
Back to Alex Gaynor
Blog · corpus.blog/blogs/alexgaynor.net/posts

Alex Gaynor

alexgaynor.net

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014