41554 blogs · [ { "id": "01a07df3-753b-7026-adc6-d14032105202", "title": "Introducing Double", "url": "https://jasonmccreary.me/articles/introducing-double", "published_at": "2026-08-26T00:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14032fd2505", "title": "Fast Laravel Case Study: Laravel News", "url": "https://jasonmccreary.me/articles/fast-laravel-case-study-laravel-news", "published_at": "2026-06-24T00:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14033a99726", "title": "Shift's first flat year", "url": "https://jasonmccreary.me/articles/first-flat-year", "published_at": "2025-12-31T15:40:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403410df01", "title": "Flying around the world with Laravel and the Stock Market", "url": "https://jasonmccreary.me/articles/laravel-stock-market-flying-around-world", "published_at": "2025-12-26T16:03:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403502b0b6", "title": "Why another side-project", "url": "https://jasonmccreary.me/articles/why-another-side-project", "published_at": "2024-11-24T00:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d140359b37d2", "title": "Launching another side-project", "url": "https://jasonmccreary.me/articles/launching-another-side-project", "published_at": "2024-06-20T00:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403636fbd3", "title": "A lookbehind at 2023 and lookahead for 2024", "url": "https://jasonmccreary.me/articles/2023-lookbehind-2024-lookahead", "published_at": "2023-12-31T00:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14036b7eda0", "title": "4 personal finance tips for Indie Hackers", "url": "https://jasonmccreary.me/articles/4-personal-finance-tips-for-indie-hackers", "published_at": "2023-08-14T14:10:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403717ce90", "title": "A lookbehind at 2022 and lookahead for 2023", "url": "https://jasonmccreary.me/articles/2022-lookbehind-2023-lookahead", "published_at": "2022-12-31T00:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14037d50ed0", "title": "Spawning workers based on queue workload", "url": "https://jasonmccreary.me/articles/spawing-worker-servers-job-queue-load-laravel", "published_at": "2022-08-25T00:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14038172940", "title": "A lookbehind at 2021 and lookahead for 2022", "url": "https://jasonmccreary.me/articles/2021-lookbehind-2022-lookahead", "published_at": "2021-12-31T00:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14038ef459a", "title": "Grinding to $1,000,000 in revenue over 6 years", "url": "https://jasonmccreary.me/articles/grinding-to-million-dollar-revenue-saas", "published_at": "2021-11-23T12:20:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14038fb0839", "title": "Building a PHPUnit to Pest Converter in a week", "url": "https://jasonmccreary.me/articles/phpunit-to-pest-converter-one-week", "published_at": "2021-09-13T10:50:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14039bf2708", "title": "A lookbehind at 2020 and lookahead for 2021", "url": "https://jasonmccreary.me/articles/2020-lookbehind-2021-lookahead", "published_at": "2020-12-31T21:26:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403a4ea617", "title": "Configuration precedence when testing Laravel", "url": "https://jasonmccreary.me/articles/laravel-testing-configuration-precedence", "published_at": "2020-12-18T19:35:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403aec6a47", "title": "Install PHPMyAdmin on macOS using Docker", "url": "https://jasonmccreary.me/articles/install-phpmyadmin-macos-docker", "published_at": "2020-10-11T19:35:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403b4b63f2", "title": "Match a Docker container prompt to your own", "url": "https://jasonmccreary.me/articles/match-docker-container-command-prompt", "published_at": "2020-10-04T19:30:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403b937548", "title": "Custom command to interact with Docker containers", "url": "https://jasonmccreary.me/articles/execute-docker-container-by-name-custom-command", "published_at": "2020-09-27T19:29:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403bf717d6", "title": "Installing Apache, MySQL, and PHP on macOS using Docker", "url": "https://jasonmccreary.me/articles/install-apache-php-mysql-macos-docker-local-development", "published_at": "2020-09-05T15:07:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403ca97b60", "title": "Avoiding inheritance in Laravel", "url": "https://jasonmccreary.me/articles/avoiding-inheritance-laravel", "published_at": "2020-05-13T15:16:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403d6e9391", "title": "Shift Database Outage", "url": "https://jasonmccreary.me/articles/shift-database-outage", "published_at": "2020-03-24T15:01:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403da11b4e", "title": "A review of 2019 and goals for 2020", "url": "https://jasonmccreary.me/articles/2019-review-2020-goals", "published_at": "2020-01-12T14:55:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403e082b85", "title": "Testing middleware behavior with controller assertions", "url": "https://jasonmccreary.me/articles/testing-middleware-in-laravel-with-controller-assertion", "published_at": "2020-01-03T15:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403ecdde48", "title": "Streamlining Laravel", "url": "https://jasonmccreary.me/articles/changes-to-streamline-laravel", "published_at": "2019-12-04T13:59:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403f1143bf", "title": "Updating Apache, PHP, and MySQL for macOS Catalina", "url": "https://jasonmccreary.me/articles/update-apache-php-mysql-mac-os-x-catalina", "published_at": "2019-11-03T21:52:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1403fa99987", "title": "Installing Apache, PHP, and MySQL on macOS Catalina", "url": "https://jasonmccreary.me/articles/install-apache-php-mysql-mac-os-x-catalina", "published_at": "2019-11-03T21:41:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14040387473", "title": "Crafting maintainable Laravel applications", "url": "https://jasonmccreary.me/articles/crafting-maintainable-laravel-applications", "published_at": "2019-10-30T22:59:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14041090b59", "title": "Maintaining Laravel config files", "url": "https://jasonmccreary.me/articles/maintaining-laravel-config-files", "published_at": "2019-10-22T14:52:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404114b121", "title": "42 Git Questions Answered", "url": "https://jasonmccreary.me/articles/42-git-questions-answered", "published_at": "2019-10-14T14:33:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14041b0df14", "title": "TDD, Outside-In, and YAGNI", "url": "https://jasonmccreary.me/articles/test-driven-development-outside-in-yagni", "published_at": "2019-10-09T22:25:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d140423d4bcf", "title": "Why your team should not be upgrading old Laravel applications", "url": "https://jasonmccreary.me/articles/why-your-team-should-not-upgrade-old-laravel-applications", "published_at": "2019-09-25T20:21:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404287b002", "title": "Testing the most important piece of your application", "url": "https://jasonmccreary.me/articles/testing-stripe-checkout-laravel-dusk", "published_at": "2019-08-15T15:48:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d140433bf7f9", "title": "Testing makes me a confident developer", "url": "https://jasonmccreary.me/articles/laravel-testing-confidence", "published_at": "2019-07-30T11:54:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14044082ae9", "title": "Laravel - Some Shifty Bits", "url": "https://jasonmccreary.me/articles/laravel-shifty-bits", "published_at": "2019-07-29T12:10:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14044a6d0e0", "title": "Lowering the time cost of testing existing Laravel applications", "url": "https://jasonmccreary.me/articles/lower-time-testing-existing-laravel-application", "published_at": "2019-07-18T13:12:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d140452af6cb", "title": "A Shifty Email Bug", "url": "https://jasonmccreary.me/articles/shifty-email-bug", "published_at": "2019-07-15T16:34:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404534581f", "title": "Start testing your Laravel applications", "url": "https://jasonmccreary.me/articles/start-testing-laravel", "published_at": "2019-07-09T13:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14045523fc6", "title": "Testing validation in Laravel by asserting a Form Request", "url": "https://jasonmccreary.me/articles/test-validation-laravel-form-request-assertion", "published_at": "2019-06-25T17:16:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404643a2df", "title": "Pricing is hard. Raising prices.", "url": "https://jasonmccreary.me/articles/pricing-is-hard-raising-prices", "published_at": "2019-04-25T13:05:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404669c235", "title": "Building Products - Building an audience", "url": "https://jasonmccreary.me/articles/building-products-building-an-audience", "published_at": "2019-01-07T21:41:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14046bb7f59", "title": "Jekyll to Jigsaw", "url": "https://jasonmccreary.me/articles/jekyll-to-jigsaw", "published_at": "2019-01-04T17:04:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404724055e", "title": "2018 Lookbehind, Lookahead 2019", "url": "https://jasonmccreary.me/articles/2018-lookbehind-2019-lookahead", "published_at": "2018-12-31T05:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14047b5a19a", "title": "Building Products - Starting from Square 0", "url": "https://jasonmccreary.me/articles/building-products-square-zero-optionality", "published_at": "2018-12-13T05:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14048365c3c", "title": "Updating Apache, PHP, and MySQL for macOS Mojave", "url": "https://jasonmccreary.me/articles/update-apache-php-mysql-mac-os-x-mojave", "published_at": "2018-11-27T05:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14048dedba8", "title": "Installing Apache, PHP, and MySQL on macOS Mojave", "url": "https://jasonmccreary.me/articles/install-apache-php-mysql-mac-os-x-mojave", "published_at": "2018-11-26T05:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14049caf9b5", "title": "10 practices for readable code", "url": "https://jasonmccreary.me/articles/practices-write-readable-code-less-complex", "published_at": "2018-09-18T15:30:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404aa0febf", "title": "Laravel by the Numbers", "url": "https://jasonmccreary.me/articles/laravel-numbers", "published_at": "2018-07-25T20:30:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404b87ee36", "title": "Untangling Nested Code", "url": "https://jasonmccreary.me/articles/untangle-nested-code", "published_at": "2018-07-16T04:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404be7992d", "title": "2018 Dev Goals", "url": "https://jasonmccreary.me/articles/2018-developer-goals", "published_at": "2018-01-04T06:03:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404c9ca55f", "title": "Fake it by stubbing the mock, dummy", "url": "https://jasonmccreary.me/articles/simple-mockery-test-double-helper", "published_at": "2017-11-14T06:03:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404d030003", "title": "Writing Clean Code (Part 2)", "url": "https://jasonmccreary.me/articles/writing-clean-code-p2", "published_at": "2017-10-17T05:03:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404d7ceac8", "title": "SMS admin in 8 lines of code", "url": "https://jasonmccreary.me/articles/nexmo-sms-admin-laravel", "published_at": "2017-09-20T15:03:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404dc4592c", "title": "Committing to the wrong branch", "url": "https://jasonmccreary.me/articles/made-git-commit-wrong-branch", "published_at": "2017-09-05T05:03:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404e23e71a", "title": "References from \"Writing Clean Code\"", "url": "https://jasonmccreary.me/articles/writing-clean-code-references", "published_at": "2017-08-24T05:03:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404e62a8e9", "title": "Writing Clean Code", "url": "https://jasonmccreary.me/articles/writing-clean-code", "published_at": "2017-08-14T05:03:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404f3dacf7", "title": "You changed the code, you didn't refactor the code.", "url": "https://jasonmccreary.me/articles/refactor-vs-change-code", "published_at": "2017-07-05T14:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404f952efa", "title": "Starting an online workshop for Git", "url": "https://jasonmccreary.me/articles/starting-an-online-workshop-for-git", "published_at": "2017-07-05T14:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1404ffd5021", "title": "15 years of amateur trading", "url": "https://jasonmccreary.me/articles/15-years-investing-lessons", "published_at": "2017-06-02T15:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d140505e7b84", "title": "An edge case for cache busting", "url": "https://jasonmccreary.me/articles/edge-case-cache-busting", "published_at": "2017-05-14T15:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14050622a10", "title": "Compensation tips", "url": "https://jasonmccreary.me/articles/compensation-tips", "published_at": "2017-04-21T15:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14051071430", "title": "Using git bisect", "url": "https://jasonmccreary.me/articles/using-git-bisect", "published_at": "2017-04-12T15:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405155d0be", "title": "Stop aliasing core Git commands", "url": "https://jasonmccreary.me/articles/stop-aliasing-core-git-commands", "published_at": "2017-03-19T15:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14051bfc987", "title": "Lumen is dead. Long live Lumen.", "url": "https://jasonmccreary.me/articles/lumen-is-dead-long-live-lumen", "published_at": "2017-02-27T16:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14052ab2a15", "title": "Accepting Adam's TDD Challenge", "url": "https://jasonmccreary.me/articles/tdd-isolated-unit-test-challenge-adam-wathan", "published_at": "2017-02-27T16:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d140536117a0", "title": "A closer look at git rebase", "url": "https://jasonmccreary.me/articles/git-rebase", "published_at": "2017-02-15T00:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14054386ccc", "title": "Git - Command line vs GUIs", "url": "https://jasonmccreary.me/articles/git-command-line-vs-gui", "published_at": "2017-01-11T00:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14054ccc7d6", "title": "When to make a Git commit", "url": "https://jasonmccreary.me/articles/when-to-make-git-commit", "published_at": "2017-01-11T00:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14054f1a411", "title": "Pivoting from Laravel Shift", "url": "https://jasonmccreary.me/articles/pivoting-from-laravel-shift", "published_at": "2017-01-08T17:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14055c6752b", "title": "Shift Developer Platform", "url": "https://jasonmccreary.me/articles/shift-developer-platform", "published_at": "2017-01-04T17:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d140565a0d9d", "title": "3 Git Commands I use every day", "url": "https://jasonmccreary.me/articles/3-everyday-git-commands", "published_at": "2016-11-30T17:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14056c36696", "title": "Getting Git - A Video Series", "url": "https://jasonmccreary.me/articles/getting-git-video-series", "published_at": "2016-11-30T17:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d140571a7653", "title": "Practicing YAGNI - Show me the code", "url": "https://jasonmccreary.me/articles/practicing-yagni-in-code", "published_at": "2016-11-08T17:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405760c8cc", "title": "Installing Apache, PHP, and MySQL on Mac OS X Sierra", "url": "https://jasonmccreary.me/articles/install-apache-php-mysql-mac-os-x-sierra", "published_at": "2016-09-29T04:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d140579da2fa", "title": "Updating Apache, PHP, and MySQL to Mac OS X Sierra", "url": "https://jasonmccreary.me/articles/update-apache-php-mysql-mac-os-x-sierra", "published_at": "2016-09-29T04:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d140585b4c1d", "title": "Update PHP on Mac OS X", "url": "https://jasonmccreary.me/articles/upgrade-php-mac-os-x", "published_at": "2016-09-19T23:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14058d3e839", "title": "Laravel Shift - 1,000 applications upgraded", "url": "https://jasonmccreary.me/articles/laravel-shift-1000-applications-upgraded", "published_at": "2016-09-08T15:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405944175f", "title": "The Proximity Rule?", "url": "https://jasonmccreary.me/articles/the-proximity-rule", "published_at": "2016-08-19T23:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14059c20cbc", "title": "Practicing YAGNI", "url": "https://jasonmccreary.me/articles/practicing-yagni", "published_at": "2016-08-08T23:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405a4a4c96", "title": "From Mentoring to Pair Programming to Coaching", "url": "https://jasonmccreary.me/articles/mentoring-pair-programming-development-coaching", "published_at": "2016-04-14T23:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405adf4333", "title": "Programmer - Stages of Development", "url": "https://jasonmccreary.me/articles/programming-development-stages", "published_at": "2016-02-24T00:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405bcbb4a8", "title": "Shift: Laravel Automated Upgrade Tool", "url": "https://jasonmccreary.me/articles/laravel-automated-upgrade-tool-shift", "published_at": "2015-11-23T00:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405c1e4f3c", "title": "Installing Apache, PHP, and MySQL on Mac OS X El Capitan", "url": "https://jasonmccreary.me/articles/install-apache-php-mysql-mac-os-x-el-capitan", "published_at": "2015-10-20T04:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405cb61956", "title": "Updating Apache, PHP, and MySQL to Mac OS X El Capitan", "url": "https://jasonmccreary.me/articles/update-apache-php-mysql-mac-os-x-el-capitan", "published_at": "2015-10-20T04:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405d276166", "title": "100 days practicing TDD", "url": "https://jasonmccreary.me/articles/100-days-practicing-tdd", "published_at": "2015-08-21T23:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405d2b109a", "title": "Math in Dates", "url": "https://jasonmccreary.me/articles/frequency-of-date-equations", "published_at": "2015-07-08T15:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405e21e358", "title": "Two Weeks of Extreme Programming", "url": "https://jasonmccreary.me/articles/two-weeks-extreme-programming", "published_at": "2015-05-20T23:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405e35093b", "title": "The Time I Left Steve in the Grand Canyon", "url": "https://jasonmccreary.me/articles/the-time-i-left-steve-in-the-grand-canyon", "published_at": "2015-04-30T04:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405f119b41", "title": "I Don't Disagree", "url": "https://jasonmccreary.me/articles/i-dont-disagree", "published_at": "2015-04-12T21:58:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405f454e94", "title": "Removing Comments", "url": "https://jasonmccreary.me/articles/removing-comments", "published_at": "2015-03-18T15:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1405fb4b05e", "title": "Migrating from Octopress to Jekyll", "url": "https://jasonmccreary.me/articles/migrating-from-octopress-to-jekyll", "published_at": "2015-02-15T16:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14060766143", "title": "I'm going to kill you Zason!", "url": "https://jasonmccreary.me/articles/i-am-going-to-kill-you-jason", "published_at": "2015-02-02T16:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14061566522", "title": "Are you a Boy Scout?", "url": "https://jasonmccreary.me/articles/are-you-a-boy-scout", "published_at": "2015-01-01T16:37:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d140617a9965", "title": "How Task Driven Development Kills the Craft of Software Engineering", "url": "https://jasonmccreary.me/articles/task-driven-development-kills-craft-software-engineering", "published_at": "2014-12-18T18:58:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1406202c764", "title": "Got Slack?", "url": "https://jasonmccreary.me/articles/slack", "published_at": "2014-12-10T01:28:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1406206476b", "title": "Configuring Apache Virtual Hosts on Mac OS X", "url": "https://jasonmccreary.me/articles/configure-apache-virtualhost-mac-os-x", "published_at": "2014-11-30T05:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d1406289a52a", "title": "Installing Apache, PHP, and MySQL on Mac OS X Yosemite", "url": "https://jasonmccreary.me/articles/install-apache-php-mysql-mac-os-x-yosemite", "published_at": "2014-11-29T05:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14063781c2c", "title": "The Reading List", "url": "https://jasonmccreary.me/articles/the-reading-list", "published_at": "2014-09-11T12:19:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14064515d29", "title": "Finally, I speak PHP", "url": "https://jasonmccreary.me/articles/speaking-php-world-conference", "published_at": "2014-07-10T19:32:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14064fac23a", "title": "Failures and Fuck-ups", "url": "https://jasonmccreary.me/articles/failures-and-fuck-ups", "published_at": "2014-06-10T19:00:00+00:00" }, { "id": "01a07df3-753b-7026-adc6-d14065eef6e3", "title": "The Debugging Golden Rule", "url": "https://jasonmccreary.me/articles/debugging-golden-rule", "published_at": "2014-05-20T01:23:00+00:00" } ] posts Claim your blog
Back to Jason McCreary
Blog · corpus.blog/blogs/jasonmccreary.me/posts

Jason McCreary

jasonmccreary.me

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014