41554 blogs ยท [ { "id": "01a08219-4faa-704e-bd1e-4011141750cd", "title": "Light colour schemes are better", "url": "https://stitcher.io/blog/light-colour-schemes-are-better", "published_at": "2022-07-30T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401114c76381", "title": "PHP performance across versions", "url": "https://stitcher.io/blog/php-performance-across-versions", "published_at": "2022-07-25T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401114eb4ab6", "title": "The Road to PHP 8.2", "url": "https://stitcher.io/blog/road-to-php-82", "published_at": "2022-07-21T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401114ff7956", "title": "Uncertainty, doubt, and static analysis", "url": "https://stitcher.io/blog/uncertainty-doubt-and-static-analysis", "published_at": "2022-07-16T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401115ec9112", "title": "The evolution of a PHP object throughout the years", "url": "https://stitcher.io/blog/evolution-of-a-php-object", "published_at": "2022-07-15T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401116a6d76a", "title": "PHP version stats: July, 2022", "url": "https://stitcher.io/blog/php-version-stats-july-2022", "published_at": "2022-06-27T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111714506e", "title": "Stitcher turns 5 ๐ŸŽ‰", "url": "https://stitcher.io/blog/stitcher-turns-5", "published_at": "2022-06-16T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111742d923", "title": "Clean and minimalistic PhpStorm", "url": "https://stitcher.io/blog/clean-and-minimalistic-phpstorm", "published_at": "2022-06-08T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401117f43113", "title": "My PHP enum style guide", "url": "https://stitcher.io/blog/php-enum-style-guide", "published_at": "2022-05-30T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401118b67938", "title": "Attribute usage in top-1000 PHP packages", "url": "https://stitcher.io/blog/attribute-usage-in-top-php-packages", "published_at": "2022-05-20T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401118f45f3d", "title": "Dealing with deprecations", "url": "https://stitcher.io/blog/dealing-with-deprecations", "published_at": "2022-05-18T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111983dcde", "title": "Dynamic Strategies", "url": "https://stitcher.io/blog/strategies", "published_at": "2022-04-06T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401119c42e37", "title": "Goodbye", "url": "https://stitcher.io/blog/goodbye", "published_at": "2022-03-25T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111a461bab", "title": "The case for PHP generics", "url": "https://stitcher.io/blog/generics-in-php-4", "published_at": "2022-03-25T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111aeb6a1a", "title": "Why we can't have generics in PHP", "url": "https://stitcher.io/blog/generics-in-php-3", "published_at": "2022-03-24T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111b93e3ed", "title": "Generics in depth", "url": "https://stitcher.io/blog/generics-in-php-2", "published_at": "2022-03-23T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111b9d1051", "title": "Generics in PHP: The basics", "url": "https://stitcher.io/blog/generics-in-php-1", "published_at": "2022-03-22T00:00:00+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a722f85ea239", "title": "09. Test factories", "url": "https://stitcher.io/blog/laravel-beyond-crud-09-test-factories", "published_at": "2022-02-24T10:00:05+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a72301b24110", "title": "08. View models", "url": "https://stitcher.io/blog/laravel-beyond-crud-08-view-models", "published_at": "2022-02-24T10:00:05+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a72306bb7718", "title": "07. Entering the application layer", "url": "https://stitcher.io/blog/laravel-beyond-crud-07-entering-the-application-layer", "published_at": "2022-02-24T10:00:05+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a7230b2c0a8d", "title": "06. Managing domains", "url": "https://stitcher.io/blog/laravel-beyond-crud-06-managing-domains", "published_at": "2022-02-24T10:00:05+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a7230b58f51c", "title": "05. States", "url": "https://stitcher.io/blog/laravel-beyond-crud-05-states", "published_at": "2022-02-24T10:00:05+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a7231072b14c", "title": "04. Models", "url": "https://stitcher.io/blog/laravel-beyond-crud-04-models", "published_at": "2022-02-24T10:00:05+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a72312710777", "title": "03. Actions", "url": "https://stitcher.io/blog/laravel-beyond-crud-03-actions", "published_at": "2022-02-24T10:00:05+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a72314e499bb", "title": "02. Working with data", "url": "https://stitcher.io/blog/laravel-beyond-crud-02-working-with-data", "published_at": "2022-02-24T10:00:05+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a72315b17bbe", "title": "01. Domain oriented Laravel", "url": "https://stitcher.io/blog/laravel-beyond-crud-01-domain-oriented-laravel", "published_at": "2022-02-24T10:00:05+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111c081381", "title": "PHP in 2021 (video)", "url": "https://stitcher.io/blog/php-in-2021-video", "published_at": "2022-01-24T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111cac9c6a", "title": "Dealing with dependencies", "url": "https://stitcher.io/blog/dealing-with-dependencies", "published_at": "2022-01-19T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111d4c041d", "title": "\"It's your fault\"", "url": "https://stitcher.io/blog/its-your-fault", "published_at": "2022-01-15T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111dc046bc", "title": "Twitter home made me miserable", "url": "https://stitcher.io/blog/twitter-home-made-me-miserable", "published_at": "2022-01-14T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111e2ab200", "title": "How I plan", "url": "https://stitcher.io/blog/how-i-plan", "published_at": "2022-01-13T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111ef0ed17", "title": "PHP in 2022", "url": "https://stitcher.io/blog/php-in-2022", "published_at": "2022-01-11T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111fd990e0", "title": "PHP version stats: January, 2022", "url": "https://stitcher.io/blog/php-version-stats-january-2022", "published_at": "2022-01-10T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40111ff7502a", "title": "How to be right on the internet", "url": "https://stitcher.io/blog/how-to-be-right-on-the-internet", "published_at": "2021-12-31T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112088506f", "title": "Upgrade to PHP 8.1 with Homebrew on Mac", "url": "https://stitcher.io/blog/php-81-upgrade-mac", "published_at": "2021-11-26T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112109b9ff", "title": "PHP 8.1: real-life performance benchmarks", "url": "https://stitcher.io/blog/php-81-performance-in-real-life", "published_at": "2021-11-25T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401121eb8013", "title": "What's new in PHP 8.1", "url": "https://stitcher.io/blog/new-in-php-81", "published_at": "2021-11-25T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401122bec188", "title": "PHP 8.1 in 8 code blocks", "url": "https://stitcher.io/blog/php-81-in-8-code-blocks", "published_at": "2021-11-07T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401123a90f22", "title": "Generics in PHP (video)", "url": "https://stitcher.io/blog/generics-in-php-video", "published_at": "2021-11-06T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112406672d", "title": "The case for route attributes", "url": "https://stitcher.io/blog/route-attributes", "published_at": "2021-10-27T00:00:00+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6109e038877", "title": "PHP 8.1: new in initializers", "url": "https://stitcher.io/blog/php-81-new-in-inititalizers", "published_at": "2021-10-09T11:00:08+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401124622648", "title": "PHP 8.1: new in initializers", "url": "https://stitcher.io/blog/php-81-new-in-initializers", "published_at": "2021-10-09T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401124be2c05", "title": "The birth and death of a framework", "url": "https://stitcher.io/blog/birth-and-death-of-a-framework", "published_at": "2021-09-16T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401125b32e96", "title": "PHP 8.1: readonly properties", "url": "https://stitcher.io/blog/php-81-readonly-properties", "published_at": "2021-09-11T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401125d14aee", "title": "My IKEA clock, and software design", "url": "https://stitcher.io/blog/my-ikea-clock", "published_at": "2021-09-01T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112694f0bd", "title": "re: On using PSR abstractions", "url": "https://stitcher.io/blog/re-on-using-psr-abstractions", "published_at": "2021-08-31T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401127227f3c", "title": "Named arguments and open source projects", "url": "https://stitcher.io/blog/named-arguments-and-variadic-functions", "published_at": "2021-08-26T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112756c987", "title": "Rational thinking", "url": "https://stitcher.io/blog/rational-thinking", "published_at": "2021-08-25T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401127d13cbe", "title": "Why do I write?", "url": "https://stitcher.io/blog/why-do-i-write", "published_at": "2021-08-13T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401127e0dbf4", "title": "The Road to PHP 8.1", "url": "https://stitcher.io/blog/the-road-to-php", "published_at": "2021-08-06T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112842577f", "title": "We don't need runtime type checks", "url": "https://stitcher.io/blog/we-dont-need-runtime-type-checks", "published_at": "2021-07-26T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112868f48a", "title": "Would you like some optimism or realism with your estimate, sir?", "url": "https://stitcher.io/blog/optimistic-or-realistic-estimates", "published_at": "2021-07-23T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401128a10746", "title": "PHP 8.1: before and after", "url": "https://stitcher.io/blog/php-81-before-and-after", "published_at": "2021-07-16T00:00:00+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610b6460b56", "title": "Rethinking with events", "url": "https://stitcher.io/blog/rethinking-with-events", "published_at": "2021-07-14T14:00:06+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401128c263a7", "title": "An event-driven mindset", "url": "https://stitcher.io/blog/an-event-driven-mindset", "published_at": "2021-07-14T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4011290bc3b1", "title": "PHP 8.1: cloning and changing readonly properties", "url": "https://stitcher.io/blog/cloning-readonly-properties-in-php-81", "published_at": "2021-07-06T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401129e0f82f", "title": "What about typed request classes?", "url": "https://stitcher.io/blog/what-about-request-classes", "published_at": "2021-06-29T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112a6c06e7", "title": "PHP version stats: July, 2021", "url": "https://stitcher.io/blog/php-version-stats-july-2021", "published_at": "2021-06-28T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112b581368", "title": "Opinion-driven design", "url": "https://stitcher.io/blog/opinion-driven-design", "published_at": "2021-06-23T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112bcc9111", "title": "What about config builders?", "url": "https://stitcher.io/blog/what-about-config-builders", "published_at": "2021-06-18T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112c0146f7", "title": "A new major version of Laravel Event Sourcing", "url": "https://stitcher.io/blog/a-new-major-version-of-laravel-event-sourcing", "published_at": "2021-06-15T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112c3c3ba1", "title": "Why we need multi-line short closures in PHP", "url": "https://stitcher.io/blog/why-we-need-multi-line-short-closures-in-php", "published_at": "2021-06-03T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112cf8fd81", "title": "Running PHP code in parallel, the easy way", "url": "https://stitcher.io/blog/parallel-php", "published_at": "2021-04-28T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112ddcf36b", "title": "PHP in 2021", "url": "https://stitcher.io/blog/php-in-2021", "published_at": "2021-04-15T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112e91e073", "title": "Fibers with a grain of salt", "url": "https://stitcher.io/blog/fibers-with-a-grain-of-salt", "published_at": "2021-04-12T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40112f7e6962", "title": "Starting with event sourcing", "url": "https://stitcher.io/blog/what-event-sourcing-is-not-about", "published_at": "2021-04-09T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113024fa0f", "title": "Thoughts on Event Sourcing", "url": "https://stitcher.io/blog/thoughts-on-event-sourcing", "published_at": "2021-04-08T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401130cb10e9", "title": "Honesty", "url": "https://stitcher.io/blog/honesty", "published_at": "2021-03-31T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401131378f58", "title": "Don't write your own framework", "url": "https://stitcher.io/blog/dont-write-your-own-framework", "published_at": "2021-03-25T00:00:00+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bb113e705", "title": "Array objects", "url": "https://stitcher.io/blog/aray-objects-with-fixed-types", "published_at": "2021-03-09T06:00:11+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a722c3a0c17c", "title": "Laravel Beyond CRUD is here!", "url": "https://stitcher.io/blog/laravel-beyond-crud-is-here", "published_at": "2021-03-09T06:00:10+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a722d812ebb1", "title": "What's the latest PHP version?", "url": "https://stitcher.io/blog/the-latest-php-version", "published_at": "2021-03-09T06:00:10+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4011319d506d", "title": "PHP 8.1: Enums", "url": "https://stitcher.io/blog/php-enums", "published_at": "2021-02-17T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401132280ded", "title": "PHP Enums before PHP 8.1", "url": "https://stitcher.io/blog/php-enums-before-php-81", "published_at": "2021-02-17T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401132f006fd", "title": "A storm in a glass of water", "url": "https://stitcher.io/blog/a-storm-in-a-glass-of-water", "published_at": "2021-01-20T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401132fcbcb8", "title": "PHP reimagined", "url": "https://stitcher.io/blog/php-reimagined", "published_at": "2021-01-13T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113368d705", "title": "Websites should be more like Star Wars", "url": "https://stitcher.io/blog/websites-like-star-wars", "published_at": "2021-01-10T00:00:00+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6110598ce1c", "title": "Announcing Blogs for Devs", "url": "https://stitcher.io/blog/blogs-for-devs", "published_at": "2020-12-31T11:16:33+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a722cc3b9dec", "title": "Laravel beyond CRUD: the next chapter", "url": "https://stitcher.io/blog/laravel-beyond-crud", "published_at": "2020-12-27T21:00:09+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401133989ade", "title": "When I lost a few hundred leads", "url": "https://stitcher.io/blog/when-i-lost-a-few-hundred-leads", "published_at": "2020-11-29T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113472322c", "title": "Upgrade to PHP 8 with Homebrew on Mac", "url": "https://stitcher.io/blog/php-8-upgrade-mac", "published_at": "2020-11-26T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4011349a924b", "title": "What's new in PHP 8", "url": "https://stitcher.io/blog/new-in-php-8", "published_at": "2020-11-26T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4011353255f1", "title": "PHP 8: the null safe operator", "url": "https://stitcher.io/blog/php-8-nullsafe-operator", "published_at": "2020-11-17T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113624234f", "title": "PHP 8: How to setup the JIT", "url": "https://stitcher.io/blog/php-8-jit-setup", "published_at": "2020-10-29T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113722569b", "title": "Front Line PHP", "url": "https://stitcher.io/blog/front-line-php", "published_at": "2020-10-05T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401137fcfc8a", "title": "What a good PR looks like", "url": "https://stitcher.io/blog/what-a-good-pr-looks-like", "published_at": "2020-10-02T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401138bb13f9", "title": "Which colour scheme is better?", "url": "https://stitcher.io/blog/why-light-themes-are-better-according-to-science", "published_at": "2020-09-26T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-4011393ba362", "title": "Scopes in JetBrains IDEs", "url": "https://stitcher.io/blog/phpstorm-scopes", "published_at": "2020-09-26T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401139c7d5ca", "title": "The case for transpiled generics in PHP", "url": "https://stitcher.io/blog/the-case-for-transpiled-generics", "published_at": "2020-09-17T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-401139f60a22", "title": "PHP 8: Attributes", "url": "https://stitcher.io/blog/attributes-in-php-8", "published_at": "2020-09-03T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113acb9fe9", "title": "Don't get stuck", "url": "https://stitcher.io/blog/dont-get-stuck", "published_at": "2020-08-29T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113bbf7f0c", "title": "Annotations", "url": "https://stitcher.io/blog/annotations", "published_at": "2020-08-28T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113bfeaf2b", "title": "Differences", "url": "https://stitcher.io/blog/differences", "published_at": "2020-08-21T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113ce81a40", "title": "My journey into event sourcing", "url": "https://stitcher.io/blog/my-journey-into-event-sourcing", "published_at": "2020-07-25T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113d2683ae", "title": "PHP 8: named arguments", "url": "https://stitcher.io/blog/php-8-named-arguments", "published_at": "2020-07-23T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113de1dde4", "title": "PHP 8: before and after", "url": "https://stitcher.io/blog/php-8-before-and-after", "published_at": "2020-07-20T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113e5744d2", "title": "Shorthand comparisons in PHP", "url": "https://stitcher.io/blog/shorthand-comparisons-in-php", "published_at": "2020-07-14T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113ea50c1d", "title": "Why we need named arguments in PHP", "url": "https://stitcher.io/blog/why-we-need-named-params-in-php", "published_at": "2020-07-11T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113ee39635", "title": "PHP 8: match or switch?", "url": "https://stitcher.io/blog/php-8-match-or-switch", "published_at": "2020-07-08T00:00:00+00:00" }, { "id": "01a08219-4faa-704e-bd1e-40113fa1b61b", "title": "PHP 8: JIT performance in real-life web applications", "url": "https://stitcher.io/blog/jit-in-real-life-web-applications", "published_at": "2020-07-02T00:00:00+00:00" } ] posts Claim your blog
Back to Brent Roose
Blog ยท corpus.blog/blogs/stitcher.io/posts

Brent Roose

stitcher.io

2022

2021

2020