41554 blogs · [ { "id": "01a08219-4faa-704e-bd1e-4010e04f79f7", "title": "No need", "url": "https://stitcher.io/blog/no-need", "published_at": "2026-09-08T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e06e3f2e", "title": "No more issues", "url": "https://stitcher.io/blog/no-more-issues", "published_at": "2026-09-04T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e104b6b9", "title": "\"A\" for \"Average\"", "url": "https://stitcher.io/blog/a-for-average", "published_at": "2026-08-25T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e1c9ede2", "title": "\"A\" for \"Apathy\"", "url": "https://stitcher.io/blog/a-for-apathy", "published_at": "2026-08-21T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e24b1cfd", "title": "Summer chaos", "url": "https://stitcher.io/blog/summer-chaos", "published_at": "2026-08-20T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e291fd68", "title": "What's new in PHP 8.6", "url": "https://stitcher.io/blog/new-in-php-86", "published_at": "2026-07-29T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e38c0fa7", "title": "PHP version stats: July, 2026", "url": "https://stitcher.io/blog/php-version-stats-july-2026", "published_at": "2026-07-09T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e41aa057", "title": "Getting started with PHP", "url": "https://stitcher.io/blog/getting-started-with-php", "published_at": "2026-07-07T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e47b3fc6", "title": "Talking to the new Ecosystem AI Security Engineer", "url": "https://stitcher.io/blog/php-ecosystem-security-team", "published_at": "2026-05-20T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e48d72e3", "title": "PHP's biggest problem", "url": "https://stitcher.io/blog/php-biggest-problem", "published_at": "2026-05-07T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e51a1d18", "title": "Dependency Hygiene", "url": "https://stitcher.io/blog/dependency-hygiene", "published_at": "2026-04-03T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e5cd50e2", "title": "\"A\" for \"Artificial\"", "url": "https://stitcher.io/blog/a-for-artificial", "published_at": "2026-03-02T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e65d5602", "title": "Participate in the 100-million-row challenge for PHP", "url": "https://stitcher.io/blog/100-million-row-challenge", "published_at": "2026-02-24T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e69a6474", "title": "Once again processing 11 million rows, now in seconds", "url": "https://stitcher.io/blog/11-million-rows-in-seconds", "published_at": "2026-01-28T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e71a0faf", "title": "Partial function application in PHP 8.6", "url": "https://stitcher.io/blog/php-86-partial-function-application", "published_at": "2026-01-23T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e7971c00", "title": "AI-induced skepticism", "url": "https://stitcher.io/blog/ai-induced-skepticism", "published_at": "2026-01-21T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e85ae0d7", "title": "Processing 11 million rows in minutes instead of hours", "url": "https://stitcher.io/blog/processing-11-million-rows", "published_at": "2026-01-19T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e86cc57c", "title": "Not optional", "url": "https://stitcher.io/blog/not-optional", "published_at": "2026-01-16T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010e940b204", "title": "Open source strategies", "url": "https://stitcher.io/blog/open-source-strategies", "published_at": "2026-01-15T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010ea2c3514", "title": "PHP in 2026", "url": "https://stitcher.io/blog/php-2026", "published_at": "2026-01-12T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010ea75883f", "title": "I might have just flooded your RSS feed. Sorry!", "url": "https://stitcher.io/blog/flooded-rss", "published_at": "2025-12-11T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010eb13fd04", "title": "What's new in PHP 8.5", "url": "https://stitcher.io/blog/new-in-php-85", "published_at": "2025-11-20T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010ebf27874", "title": "Game changing editions", "url": "https://stitcher.io/blog/game-changing-editions", "published_at": "2025-11-13T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010ec74f917", "title": "My wishlist for PHP in 2026", "url": "https://stitcher.io/blog/my-wishlist-for-php-in-2026", "published_at": "2025-10-29T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010ed71de67", "title": "Pitch in: sponsoring open source", "url": "https://stitcher.io/blog/sponsoring-open-source", "published_at": "2025-10-28T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010ede2ba07", "title": "Reducing code motion", "url": "https://stitcher.io/blog/reducing-code-motion", "published_at": "2025-10-22T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010ee189eb1", "title": "Vendor locked", "url": "https://stitcher.io/blog/vendor-locked", "published_at": "2025-10-01T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010ef0240fb", "title": "What is your motivator?", "url": "https://stitcher.io/blog/whats-your-motivator", "published_at": "2025-09-29T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010efff1fd4", "title": "Impact charts", "url": "https://stitcher.io/blog/impact-charts", "published_at": "2025-09-11T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f0eef244", "title": "Things I wish I knew", "url": "https://stitcher.io/blog/things-i-wish-i-knew", "published_at": "2025-09-10T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f138638b", "title": "Readonly or private(set)", "url": "https://stitcher.io/blog/readonly-or-private-set", "published_at": "2025-08-03T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f1a4249b", "title": "A year with property hooks", "url": "https://stitcher.io/blog/a-year-of-property-hooks", "published_at": "2025-07-18T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f2740ab5", "title": "The pipe operator in PHP 8.5", "url": "https://stitcher.io/blog/pipe-operator-in-php-85", "published_at": "2025-07-03T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f32be8f9", "title": "PHP version stats: June, 2025", "url": "https://stitcher.io/blog/php-version-stats-june-2025", "published_at": "2025-06-13T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f3c5d32a", "title": "Tempest's discovery explained", "url": "https://stitcher.io/blog/tempest-discovery-explained", "published_at": "2025-04-26T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f43a2d0b", "title": "PHPverse 2025", "url": "https://stitcher.io/blog/php-verse-2025", "published_at": "2025-04-24T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f49f0ab6", "title": "Request objects in Tempest", "url": "https://stitcher.io/blog/request-objects-in-tempest", "published_at": "2025-03-17T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f52eda17", "title": "Static websites with Tempest", "url": "https://stitcher.io/blog/static-websites-with-tempest", "published_at": "2025-03-14T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f6084ebd", "title": "Theoretical engineers", "url": "https://stitcher.io/blog/theoretical-engineers", "published_at": "2025-01-18T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f6381066", "title": "PHP version stats: January, 2025", "url": "https://stitcher.io/blog/php-version-stats-january-2025", "published_at": "2025-01-17T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f67681f3", "title": "What's new in PHP 8.4", "url": "https://stitcher.io/blog/new-in-php-84", "published_at": "2024-11-14T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f75c5433", "title": "Unfair Advantage", "url": "https://stitcher.io/blog/unfair-advantage", "published_at": "2024-11-09T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f7b21ed2", "title": "Things I learned writing a fiction novel", "url": "https://stitcher.io/blog/things-i-learned-writing-a-fiction-novel", "published_at": "2024-10-30T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f86ccde8", "title": "Tagging Tempest Livestream!", "url": "https://stitcher.io/blog/tagging-tempest-livestream", "published_at": "2024-09-16T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f8e4b301", "title": "Building a framework", "url": "https://stitcher.io/blog/building-a-framework", "published_at": "2024-09-13T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f92bb9ba", "title": "A simple approach to static site generation", "url": "https://stitcher.io/blog/a-simple-approach-to-static-generation", "published_at": "2024-08-30T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010f9e99a06", "title": "Extend or implement", "url": "https://stitcher.io/blog/extends-vs-implements", "published_at": "2024-08-21T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010fa28a9d9", "title": "PHP 8.4 at least", "url": "https://stitcher.io/blog/php-84-at-least", "published_at": "2024-08-13T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010faa34398", "title": "I don't write code the way I used to", "url": "https://stitcher.io/blog/i-dont-code-the-way-i-used-to", "published_at": "2024-08-07T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010fb67c0c2", "title": "Improved lazy loading", "url": "https://stitcher.io/blog/improved-lazy-loading", "published_at": "2024-07-29T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010fc334ab2", "title": "It's all just text", "url": "https://stitcher.io/blog/its-all-just-text", "published_at": "2024-07-26T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010fc746787", "title": "array_find in PHP 8.4", "url": "https://stitcher.io/blog/array-find-in-php-84", "published_at": "2024-07-18T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010fd46f748", "title": "HTML 5 support in PHP 8.4", "url": "https://stitcher.io/blog/html-5-in-php-84", "published_at": "2024-07-16T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010fe35e5e7", "title": "New without parentheses in PHP 8.4", "url": "https://stitcher.io/blog/new-with-parentheses-php-84", "published_at": "2024-07-11T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010fe6ddac3", "title": "You should", "url": "https://stitcher.io/blog/you-should", "published_at": "2024-07-09T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010feff6f62", "title": "PHP version stats: July, 2024", "url": "https://stitcher.io/blog/php-version-stats-july-2024", "published_at": "2024-07-08T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010ff52eec6", "title": "A vocal minority", "url": "https://stitcher.io/blog/a-vocal-minority", "published_at": "2024-07-03T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4010ffbefa19", "title": "Leaving Twitter", "url": "https://stitcher.io/blog/twitter-exit", "published_at": "2024-06-26T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401100096a94", "title": "Tagged Singletons", "url": "https://stitcher.io/blog/tagged-singletons", "published_at": "2024-05-24T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401100c6745f", "title": "PHP in 2024", "url": "https://stitcher.io/blog/php-in-2024", "published_at": "2024-03-23T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401100ca6ccb", "title": "Testing Patterns", "url": "https://stitcher.io/blog/testing-patterns", "published_at": "2024-03-22T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401101017827", "title": "Building a custom language in tempest/highlight", "url": "https://stitcher.io/blog/building-a-custom-language-in-tempest-highlight", "published_at": "2024-03-16T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401101e3dc66", "title": "A syntax highlighter that doesn't suck", "url": "https://stitcher.io/blog/a-syntax-highlighter-that-doesnt-suck", "published_at": "2024-03-15T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401102960857", "title": "The framework that gets out of your way", "url": "https://stitcher.io/blog/the-framework-that-gets-out-of-your-way", "published_at": "2024-02-19T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4011029d273f", "title": "PHP version stats: January, 2024", "url": "https://stitcher.io/blog/php-version-stats-january-2024", "published_at": "2024-01-29T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4011033ae8c0", "title": "Passion projects", "url": "https://stitcher.io/blog/passion-projects", "published_at": "2023-12-13T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401103f99925", "title": "I don't know", "url": "https://stitcher.io/blog/i-dont-know", "published_at": "2023-12-12T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401104748d13", "title": "What's new in PHP 8.3", "url": "https://stitcher.io/blog/new-in-php-83", "published_at": "2023-11-23T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4011055f26d7", "title": "The RFC Vote project", "url": "https://stitcher.io/blog/rfc-vote", "published_at": "2023-08-15T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401105f3fca0", "title": "\"Is A\" or \"Acts As\"", "url": "https://stitcher.io/blog/is-a-or-acts-as", "published_at": "2023-07-06T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401106872807", "title": "PHP version stats: July, 2023", "url": "https://stitcher.io/blog/php-version-stats-july-2023", "published_at": "2023-07-01T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401106f775a9", "title": "#[Override] in PHP 8.3", "url": "https://stitcher.io/blog/override-in-php-83", "published_at": "2023-06-21T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401107194548", "title": "Don't be clever", "url": "https://stitcher.io/blog/dont-be-clever", "published_at": "2023-06-02T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4011075fc53a", "title": "Building a procedurally generated game with PHP", "url": "https://stitcher.io/blog/procedurally-generated-game-in-php", "published_at": "2023-05-30T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40110837421c", "title": "Things considered harmful", "url": "https://stitcher.io/blog/things-considered-harmful", "published_at": "2023-05-02T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40110848296c", "title": "Limited by committee", "url": "https://stitcher.io/blog/limited-by-committee", "published_at": "2023-03-22T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40110905dab0", "title": "Cloning readonly properties in PHP 8.3", "url": "https://stitcher.io/blog/cloning-readonly-properties-in-php-83", "published_at": "2023-03-20T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401109c434e2", "title": "Slashdash", "url": "https://stitcher.io/blog/slashdash", "published_at": "2023-02-20T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40110a18240a", "title": "I'm a light schemer", "url": "https://stitcher.io/blog/light-colour-schemes", "published_at": "2023-02-10T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40110a498258", "title": "I'm a code folder", "url": "https://stitcher.io/blog/code-folding", "published_at": "2023-02-06T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40110b0a3c44", "title": "Acronyms", "url": "https://stitcher.io/blog/acronyms", "published_at": "2023-01-29T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40110bbd1885", "title": "My top-10 favourite functions in PHP", "url": "https://stitcher.io/blog/my-10-favourite-php-functions", "published_at": "2023-01-27T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40110c6231dd", "title": "Why curly brackets go on new lines", "url": "https://stitcher.io/blog/why-curly-brackets-go-on-new-lines", "published_at": "2023-01-24T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40110cf1b9ec", "title": "Sponsors", "url": "https://stitcher.io/blog/sponsors", "published_at": "2023-01-21T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40110dcbd271", "title": "Tabs are better", "url": "https://stitcher.io/blog/tabs-are-better", "published_at": "2023-01-20T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40110e042291", "title": "PHP in 2023", "url": "https://stitcher.io/blog/php-in-2023", "published_at": "2023-01-17T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40110ed7374f", "title": "PHP version stats: January, 2023", "url": "https://stitcher.io/blog/php-version-stats-january-2023", "published_at": "2023-01-11T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40110f451571", "title": "Upgrading to PHP 8.2", "url": "https://stitcher.io/blog/upgrading-to-php-82", "published_at": "2023-01-09T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401110169ee6", "title": "All I want for Christmas…", "url": "https://stitcher.io/blog/all-i-want-for-christmas", "published_at": "2023-01-03T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111075b865", "title": "What's new in PHP 8.2", "url": "https://stitcher.io/blog/new-in-php-82", "published_at": "2022-12-08T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401110b1193d", "title": "You cannot find me on Mastodon", "url": "https://stitcher.io/blog/you-cannot-find-me-on-mastodon", "published_at": "2022-11-19T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111151ca36", "title": "PHP Annotated, the YouTube channel", "url": "https://stitcher.io/blog/php-annotated", "published_at": "2022-11-08T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401112515983", "title": "Upgrade to PHP 8.2 with Homebrew on Mac", "url": "https://stitcher.io/blog/php-82-upgrade-mac", "published_at": "2022-11-01T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401112564e27", "title": "Deprecating spatie/data-transfer-object", "url": "https://stitcher.io/blog/deprecating-spatie-dto", "published_at": "2022-11-01T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4011125e0718", "title": "Readonly classes in PHP 8.2", "url": "https://stitcher.io/blog/readonly-classes-in-php-82", "published_at": "2022-10-25T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111272d0ce", "title": "PHP 8.2 in 8 code blocks", "url": "https://stitcher.io/blog/php-82-in-8-code-blocks", "published_at": "2022-10-24T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401112f10ffa", "title": "Uses", "url": "https://stitcher.io/blog/uses", "published_at": "2022-09-09T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401113b08117", "title": "Asymmetric visions", "url": "https://stitcher.io/blog/thoughts-on-asymmetric-visibility", "published_at": "2022-08-25T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401113b0fcf8", "title": "What I would change about PHP", "url": "https://stitcher.io/blog/php-reimagined-part-2", "published_at": "2022-08-17T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401113e72ac9", "title": "Deprecated dynamic properties in PHP 8.2", "url": "https://stitcher.io/blog/deprecated-dynamic-properties-in-php-82", "published_at": "2022-08-08T00:00:00+00:00" } ] posts Claim your blog
Back to Brent Roose
Blog · corpus.blog/blogs/stitcher.io/posts

Brent Roose

stitcher.io

2026

2025

2024

2023

2022

9 Sept 2022