<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/vendor/feed/atom.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
                        <id>https://spatie.be/feeds/team-members-products</id>
                                <link href="https://spatie.be/feeds/team-members-products" rel="self"></link>
                                <title><![CDATA[Spatie: Team members & products]]></title>
                    
                                <subtitle>Blog posts from Spatie team members &amp; product sites.</subtitle>
                                                    <updated>2026-04-10T07:00:06+02:00</updated>
                        <entry>
            <title><![CDATA[A minimal "Last used" login option indicator with Alpine.js]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/minimal-last-used-login-option-indicator-alpinejs" />
            <id>https://flareapp.io/blog/minimal-last-used-login-option-indicator-alpinejs</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When you come back to Flare's login page, the sign-in option you used last time has a small "Last used" pill above it. Nothing dramatic, just a quiet nudge toward...]]>
            </summary>
                                    <updated>2026-04-10T07:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How Flare handles Livewire v4's single file components]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/how-flare-handles-livewire-v4s-single-file-components" />
            <id>https://flareapp.io/blog/how-flare-handles-livewire-v4s-single-file-components</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[One of Livewire v4's features is the ability to create single file components. Instead of splitting your logic across a PHP class and a Blade view, you can now write...]]>
            </summary>
                                    <updated>2026-04-09T03:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How We Fixed a Livewire Page Timeout on a 566 Million Row Table]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/how-we-fixed-a-livewire-page-timeout-on-a-566-million-row-table" />
            <id>https://www.mailcoach.app/resources/blog/how-we-fixed-a-livewire-page-timeout-on-a-566-million-row-table</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[How we turned a timing-out Livewire page into an instant load by replacing 264 correlated subqueries on a 566 million row table with individual cached queries and wire:init.]]>
            </summary>
                                    <updated>2026-03-31T15:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Scotty: a beautiful SSH task runner]]></title>
            <link rel="alternate" href="https://freek.dev/3064-scotty-a-beautiful-ssh-task-runner" />
            <id>https://freek.dev/3064-scotty-a-beautiful-ssh-task-runner</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We just released Scotty, a beautiful SSH task runner. It lets you define deploy scripts and other remote tasks, run them from your terminal, and watch every step as...]]>
            </summary>
                                    <updated>2026-03-30T10:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Explore the complete API reference]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/explore-the-complete-api-reference" />
            <id>https://www.mailcoach.app/resources/blog/explore-the-complete-api-reference</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[You can now browse every Mailcoach API endpoint, parameter, and response schema in an interactive API reference.]]>
            </summary>
                                    <updated>2026-03-30T11:00:08+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What's new in laravel-activitylog v5]]></title>
            <link rel="alternate" href="https://freek.dev/3058-whats-new-in-laravel-activitylog-v5" />
            <id>https://freek.dev/3058-whats-new-in-laravel-activitylog-v5</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We just released v5 of laravel-activitylog, our package for logging user activity and model events in Laravel.
In Flare, Mailcoach, and Oh Dear we use it...]]>
            </summary>
                                    <updated>2026-03-25T12:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Track frontend errors back to the exact commit]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/track-frontend-errors-back-to-the-exact-commit" />
            <id>https://flareapp.io/blog/track-frontend-errors-back-to-the-exact-commit</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When Flare's JavaScript SDK reports an error, it includes a version identifier. This version ties the error to a specific sourcemap upload so we can show you clean, readable stacktraces...]]>
            </summary>
                                    <updated>2026-03-26T00:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing the Mailcoach CLI, ready for your AI agents]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/introducing-the-mailcoach-cli-ready-for-your-ai-agents" />
            <id>https://www.mailcoach.app/resources/blog/introducing-the-mailcoach-cli-ready-for-your-ai-agents</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-23T10:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Query Builder v7: a must-have package for building APIs in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/3052-laravel-query-builder-v7-a-must-have-package-for-building-apis-in-laravel" />
            <id>https://freek.dev/3052-laravel-query-builder-v7-a-must-have-package-for-building-apis-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We just released v7 of spatie/laravel-query-builder, our package that makes it easy to build flexible API endpoints. If you're building an API with Laravel, you'll almost certainly need to...]]>
            </summary>
                                    <updated>2026-03-16T15:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Site Search v3 is here: crawl and search your entire site using just your database]]></title>
            <link rel="alternate" href="https://freek.dev/3040-laravel-site-search-v3-is-here-crawl-and-search-your-entire-site-using-just-your-database" />
            <id>https://freek.dev/3040-laravel-site-search-v3-is-here-crawl-and-search-your-entire-site-using-just-your-database</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're proud to release v3 of laravel-site-search, a package that crawls and indexes your entire site. Think of it as your own private Google. Point it at a URL,...]]>
            </summary>
                                    <updated>2026-03-12T14:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to easily access private properties and methods in PHP]]></title>
            <link rel="alternate" href="https://freek.dev/3048-how-to-easily-access-private-properties-and-methods-in-php" />
            <id>https://freek.dev/3048-how-to-easily-access-private-properties-and-methods-in-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Sometimes you need to access a private property or method on an object that isn't yours. Maybe you're writing a test and need to assert some internal state. Maybe you're...]]>
            </summary>
                                    <updated>2026-03-12T12:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A unified error debug timeline]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/a-unified-error-debug-timeline" />
            <id>https://flareapp.io/blog/a-unified-error-debug-timeline</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When you're debugging an error, context is everything. Knowing that a query failed is useful, but knowing that it failed right after a Redis cache miss, tells a completely different...]]>
            </summary>
                                    <updated>2026-03-11T15:51:29+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[New and improved settings screens]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/new-and-improved-settings-screens" />
            <id>https://flareapp.io/blog/new-and-improved-settings-screens</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Your settings pages are the kind of thing you don't think about until something frustrates you. A form that doesn't behave the way you expect, navigation that makes you hunt...]]>
            </summary>
                                    <updated>2026-03-12T17:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Backup v10: serializable events, resilient multi-destination backups, and more]]></title>
            <link rel="alternate" href="https://freek.dev/3015-laravel-backup-v10-serializable-events-resilient-multi-destination-backups-and-more" />
            <id>https://freek.dev/3015-laravel-backup-v10-serializable-events-resilient-multi-destination-backups-and-more</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We just released v10 of laravel-backup, our package that creates backups of your Laravel app. The backup is a zip file containing all files in the directories you specify,...]]>
            </summary>
                                    <updated>2026-03-04T15:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Sitemap v8 is here: automatic splitting, XSL stylesheets, and crawler v9]]></title>
            <link rel="alternate" href="https://freek.dev/3041-laravel-sitemap-v8-is-here-automatic-splitting-xsl-stylesheets-and-crawler-v9" />
            <id>https://freek.dev/3041-laravel-sitemap-v8-is-here-automatic-splitting-xsl-stylesheets-and-crawler-v9</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We just released v8 of Laravel Sitemap. This package that can generate sitemaps by crawling your entire site or by manually adding URLs. This version upgrades the underlying crawler...]]>
            </summary>
                                    <updated>2026-03-03T12:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A better way to crawl websites with PHP]]></title>
            <link rel="alternate" href="https://freek.dev/3039-a-better-way-to-crawl-websites-with-php" />
            <id>https://freek.dev/3039-a-better-way-to-crawl-websites-with-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our spatie/crawler.  package is one of the first one I created. It allows you to crawl a website with PHP.  It is used extensively in Oh Dear and...]]>
            </summary>
                                    <updated>2026-03-02T22:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My Claude Code setup]]></title>
            <link rel="alternate" href="https://freek.dev/3026-my-claude-code-setup" />
            <id>https://freek.dev/3026-my-claude-code-setup</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I've been using Claude Code as my daily driver for coding tasks. Over time, I've built up a pretty specific configuration that makes the whole experience better. I keep everything...]]>
            </summary>
                                    <updated>2026-03-02T15:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing the Flare CLI]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/introducing-the-flare-cli" />
            <id>https://flareapp.io/blog/introducing-the-flare-cli</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've just released the Flare CLI: a command-line tool that lets you manage your errors, projects, and performance data without ever leaving your terminal.
You can install it globally via...]]>
            </summary>
                                    <updated>2026-03-11T15:51:29+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Let your AI coding agent fix errors and review performance]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/flare-ai-skill" />
            <id>https://flareapp.io/blog/flare-ai-skill</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In our previous post we introduced the Flare CLI. Today we want to highlight one of its most powerful features: the AI agent skill.
With a single command, you can...]]>
            </summary>
                                    <updated>2026-03-11T15:51:29+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Generate OG images for your Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/3032-generate-og-images-for-your-laravel-app" />
            <id>https://freek.dev/3032-generate-og-images-for-your-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[When you share a link on Twitter, Facebook, or LinkedIn, the platform shows a preview image. Getting those Open Graph images right usually means either using an external service or...]]>
            </summary>
                                    <updated>2026-02-26T02:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a PHP CLI for humans and AI agents with almost no hand-written code]]></title>
            <link rel="alternate" href="https://freek.dev/3035-building-a-php-cli-for-humans-and-ai-agents-with-almost-no-hand-written-code" />
            <id>https://freek.dev/3035-building-a-php-cli-for-humans-and-ai-agents-with-almost-no-hand-written-code</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We recently released the Flare CLI, a command-line tool to manage your errors and performance data. It also ships with an agent skill that lets AI coding agents...]]>
            </summary>
                                    <updated>2026-02-25T13:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Let your AI coding agent fix your errors and review performance]]></title>
            <link rel="alternate" href="https://freek.dev/3034-let-your-ai-coding-agent-fix-your-errors-and-review-performance" />
            <id>https://freek.dev/3034-let-your-ai-coding-agent-fix-your-errors-and-review-performance</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[The Flare CLI lets you manage errors and performance monitoring from the terminal. It was built with almost no hand-written code, generated from our OpenAPI spec. Having...]]>
            </summary>
                                    <updated>2026-02-25T13:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing the Flare CLI]]></title>
            <link rel="alternate" href="https://freek.dev/3033-introducing-the-flare-cli" />
            <id>https://freek.dev/3033-introducing-the-flare-cli</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[At Flare, we track errors and monitor performance for your applications. Until now, that meant opening the Flare dashboard in your browser whenever you wanted to check on things....]]>
            </summary>
                                    <updated>2026-02-25T13:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we accidentally dropped half our traces: a tale of Cloudflare Workers and WAF]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/how-we-accidentally-dropped-half-our-traces-a-tale-of-cloudflare-workers-and-waf" />
            <id>https://flareapp.io/blog/how-we-accidentally-dropped-half-our-traces-a-tale-of-cloudflare-workers-and-waf</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Yesterday morning we noticed something worrying: our queueing servers were processing far fewer spans than usual. After a few hours of debugging, we traced the problem to an unexpected routing...]]>
            </summary>
                                    <updated>2026-03-16T21:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Adding a custom status line to Claude Code]]></title>
            <link rel="alternate" href="https://freek.dev/3028-adding-a-custom-status-line-to-claude-code" />
            <id>https://freek.dev/3028-adding-a-custom-status-line-to-claude-code</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Claude Code has a nice little feature called the status line that lets you add a custom bar at the bottom of the terminal. I use it to show...]]>
            </summary>
                                    <updated>2026-02-24T21:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A clean API for reading PHP attributes]]></title>
            <link rel="alternate" href="https://freek.dev/3030-a-clean-api-for-reading-php-attributes" />
            <id>https://freek.dev/3030-a-clean-api-for-reading-php-attributes</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP 8.0 introduced attributes, and they're a great way to add structured metadata to classes, methods, properties, constants, and parameters. The concept is solid, but the reflection API you need...]]>
            </summary>
                                    <updated>2026-02-23T10:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Turn any OpenAPI spec into Laravel artisan commands]]></title>
            <link rel="alternate" href="https://freek.dev/3024-turn-any-openapi-spec-into-laravel-artisan-commands" />
            <id>https://freek.dev/3024-turn-any-openapi-spec-into-laravel-artisan-commands</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We just published a new package called Laravel OpenAPI CLI that turns any OpenAPI spec into dedicated Laravel artisan commands. Each endpoint gets its own command with typed options...]]>
            </summary>
                                    <updated>2026-02-20T10:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to serve markdown to AI agents]]></title>
            <link rel="alternate" href="https://freek.dev/3016-a-laravel-package-to-serve-markdown-to-ai-agents" />
            <id>https://freek.dev/3016-a-laravel-package-to-serve-markdown-to-ai-agents</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We just published a new package called Laravel Markdown Response that lets your Laravel app serve markdown versions of your HTML pages. Your existing controllers and views stay exactly...]]>
            </summary>
                                    <updated>2026-02-18T12:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to set up PHP autoformatting in Zed using Pint and PHP CS Fixer]]></title>
            <link rel="alternate" href="https://freek.dev/3014-how-to-set-up-php-autoformatting-in-zed-using-pint-and-php-cs-fixer" />
            <id>https://freek.dev/3014-how-to-set-up-php-autoformatting-in-zed-using-pint-and-php-cs-fixer</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I only switched to Zed last week (you can see my full setup on my uses page), so I'm still learning the ropes. One thing I ran into...]]>
            </summary>
                                    <updated>2026-02-17T14:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Response Cache v8 is here: now offers flexible caching]]></title>
            <link rel="alternate" href="https://freek.dev/3012-laravel-response-cache-v8-is-here-now-offers-flexible-caching" />
            <id>https://freek.dev/3012-laravel-response-cache-v8-is-here-now-offers-flexible-caching</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our laravel-responsecache package speeds up your app by caching entire responses on the server. When the same page is requested again, the cached response is served without hitting your...]]>
            </summary>
                                    <updated>2026-02-16T17:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My current setup (2026 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/3006-my-current-setup-2026-edition" />
            <id>https://freek.dev/3006-my-current-setup-2026-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[After posting a screenshot, I often get questions about which editor, font or tools I'm using. Instead of replying to those questions individually I've decided to just write down the...]]>
            </summary>
                                    <updated>2026-02-14T14:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My current setup for Laravel, PHP and AI development (2026 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/3006-my-current-setup-for-laravel-php-and-ai-development-2026-edition" />
            <id>https://freek.dev/3006-my-current-setup-for-laravel-php-and-ai-development-2026-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[After posting a screenshot, I often get questions about which editor, font or tools I'm using. Instead of replying to those questions individually I've decided to just write down the...]]>
            </summary>
                                    <updated>2026-02-14T18:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My current setup for Laravel, PHP and AI assisted development (2026 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/3006-my-current-setup-for-laravel-php-and-ai-assisted-development-2026-edition" />
            <id>https://freek.dev/3006-my-current-setup-for-laravel-php-and-ai-assisted-development-2026-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[After posting a screenshot, I often get questions about which editor, font or tools I'm using. Instead of replying to those questions individually I've decided to just write down the...]]>
            </summary>
                                    <updated>2026-02-16T14:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Another new Spatie package drops: spatie/laravel-screenshot]]></title>
            <link rel="alternate" href="https://freek.dev/3002-another-new-spatie-package-drops-spatielaravel-screenshot" />
            <id>https://freek.dev/3002-another-new-spatie-package-drops-spatielaravel-screenshot</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We just released laravel-screenshot, a new package to take screenshots of web pages in Laravel apps.
It uses a driver-based architecture, so you can choose between Browsershot (which requires...]]>
            </summary>
                                    <updated>2026-02-13T16:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Another new Spatie package drops: spatie/laravel-screesnhot]]></title>
            <link rel="alternate" href="https://freek.dev/3002-another-new-spatie-package-drops-spatielaravel-screesnhot" />
            <id>https://freek.dev/3002-another-new-spatie-package-drops-spatielaravel-screesnhot</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We just released laravel-screenshot, a new package to take screenshots of web pages in Laravel apps.
It uses a driver-based architecture, so you can choose between Browsershot (which requires...]]>
            </summary>
                                    <updated>2026-02-12T15:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Permission v7 has been launched]]></title>
            <link rel="alternate" href="https://freek.dev/3001-laravel-permission-v7-has-been-launched" />
            <id>https://freek.dev/3001-laravel-permission-v7-has-been-launched</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel's built-in authorization is great when permissions are defined in code. With gates and policies, you can write logic like this:
// Defined in code, requires a...]]>
            </summary>
                                    <updated>2026-02-12T15:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Require two-factor authentication for your team]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/require-two-factor-authentication-for-your-team" />
            <id>https://flareapp.io/blog/require-two-factor-authentication-for-your-team</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare already contains stack traces, request data, and environment details for your application's errors. That's sensitive information — and it makes sense to protect access to it.
That's why we've...]]>
            </summary>
                                    <updated>2026-03-11T15:51:29+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel PDF v2 has been released: adds support for Laravel Cloud and easy queuing]]></title>
            <link rel="alternate" href="https://freek.dev/2991-laravel-pdf-v2-has-been-released-adds-support-for-laravel-cloud-and-easy-queuing" />
            <id>https://freek.dev/2991-laravel-pdf-v2-has-been-released-adds-support-for-laravel-cloud-and-easy-queuing</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[A while ago, we released laravel-pdf, a package to generate PDFs in Laravel apps.
Under the hood, it used Browsershot (and therefore Puppeteer/Chrome) to convert HTML to PDF. That...]]>
            </summary>
                                    <updated>2026-02-08T23:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Ray 3.0]]></title>
            <link rel="alternate" href="https://freek.dev/2987-introducing-ray-30" />
            <id>https://freek.dev/2987-introducing-ray-30</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Ray 3.0 is here! Completely rebuilt for better performance (60% less memory), a fresh new look, message archiving, and MCP support so AI agents can interact with Ray directly.


]]>
            </summary>
                                    <updated>2026-02-05T16:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[I built a native mobile word game in two weeks]]></title>
            <link rel="alternate" href="https://freek.dev/2983-i-built-a-native-mobile-word-game-in-two-weeks" />
            <id>https://freek.dev/2983-i-built-a-native-mobile-word-game-in-two-weeks</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[At Laracon India, I launched a major update of Ray. For that talk, I needed a little demo project to showcase Ray. I built a simple website about a...]]>
            </summary>
                                    <updated>2026-01-31T13:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Spatie Guidelines for Laravel Boost]]></title>
            <link rel="alternate" href="https://freek.dev/2980-introducing-spatie-guidelines-for-laravel-boost" />
            <id>https://freek.dev/2980-introducing-spatie-guidelines-for-laravel-boost</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you're using AI tools like Claude Code to help write code, you've probably noticed they don't automatically know your team's coding conventions. The AI might write perfectly valid PHP,...]]>
            </summary>
                                    <updated>2026-01-27T15:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to automatically generate a commit message using Claude]]></title>
            <link rel="alternate" href="https://freek.dev/2978-how-to-automatically-generate-a-commit-message-using-claude" />
            <id>https://freek.dev/2978-how-to-automatically-generate-a-commit-message-using-claude</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[For years, my git history contains "wip" commit messages. I don't really often use git history myself, but my colleagues do. And when they're trying to understand a change I...]]>
            </summary>
                                    <updated>2026-01-28T10:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Flare’s next big feature: performance monitoring]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/introducing-flares-next-big-feature-performance-monitoring" />
            <id>https://flareapp.io/blog/introducing-flares-next-big-feature-performance-monitoring</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Introducing Flare's next big feature: performance monitoring
Flare was introduced on stage at Laracon EU 2019 as the first error tracker built for Laravel. Since then, my team at...]]>
            </summary>
                                    <updated>2026-03-11T15:51:29+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Lessons from the deep end]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/lessons-from-the-deep-end" />
            <id>https://flareapp.io/blog/lessons-from-the-deep-end</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Spatie has been part of the Laravel ecosystem for years, releasing over 300 packages, publishing many blog posts and courses, and growing with the community. We started building Flare in...]]>
            </summary>
                                    <updated>2026-03-11T15:51:29+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Connect your AI agent to Flare to automatically fix production and performance problems in PHP and Laravel projects]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/connect-your-ai-agent-to-flare-to-automatically-fix-production-and-performance-problems-in-php-and-laravel-projects" />
            <id>https://flareapp.io/blog/connect-your-ai-agent-to-flare-to-automatically-fix-production-and-performance-problems-in-php-and-laravel-projects</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[You can now use our MCP server to connect your AI agent to Flare. This way your AI has all context it needs to diagnose and fix production and performance...]]>
            </summary>
                                    <updated>2026-03-11T15:51:29+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Transform your URLs with AI using our new Laravel package]]></title>
            <link rel="alternate" href="https://freek.dev/2917-transform-your-urls-with-ai-using-our-new-laravel-package" />
            <id>https://freek.dev/2917-transform-your-urls-with-ai-using-our-new-laravel-package</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm excited to share that we've released a new package called spatie/laravel-url-ai-transformer. This one can get the content of a webpage and transform it into something else using AI....]]>
            </summary>
                                    <updated>2025-08-27T01:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why I don't use down migrations]]></title>
            <link rel="alternate" href="https://freek.dev/2900-why-i-dont-use-down-migrations" />
            <id>https://freek.dev/2900-why-i-dont-use-down-migrations</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Every once in a while, someone opens a PR on one of our open source packages adding a down function to the migration. I usually close those PRs fast with...]]>
            </summary>
                                    <updated>2025-08-01T12:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to monitor your Laravel app for critical vulnerabilities]]></title>
            <link rel="alternate" href="https://freek.dev/2892-how-to-monitor-your-laravel-app-for-critical-vulnerabilities" />
            <id>https://freek.dev/2892-how-to-monitor-your-laravel-app-for-critical-vulnerabilities</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[A critical security vulnerability was just disclosed for Livewire v3, as Stephen Rees-Carter wrote about on Securing Laravel. The vulnerability (CVE-2025-54068) allows unauthenticated attackers to achieve remote code...]]>
            </summary>
                                    <updated>2025-07-18T19:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing spatie/ping and spatie/simple-tcp-client]]></title>
            <link rel="alternate" href="https://freek.dev/2885-introducing-spatieping-and-spatiesimple-tcp-client" />
            <id>https://freek.dev/2885-introducing-spatieping-and-spatiesimple-tcp-client</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We just tagged stable release for two new spatie packages: spatie/ping and spatie/simple-tcp-client. In this blogpost, I'd like to share why these were developed and how you can...]]>
            </summary>
                                    <updated>2025-07-15T10:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Typehinting Laravel validation rules using PHPStan's type aliases]]></title>
            <link rel="alternate" href="https://freek.dev/2874-typehinting-laravel-validation-rules-using-phpstans-type-aliases" />
            <id>https://freek.dev/2874-typehinting-laravel-validation-rules-using-phpstans-type-aliases</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this post, I'll share how I'm using PHPStan's type aliases feature to make validation rule typehints more readable and maintainable in our Laravel application.


Read more]]>
            </summary>
                                    <updated>2025-06-18T15:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to handle one-time passwords (OTP) in Laravel apps]]></title>
            <link rel="alternate" href="https://freek.dev/2864-a-package-to-handle-one-time-passwords-otp-in-laravel-apps" />
            <id>https://freek.dev/2864-a-package-to-handle-one-time-passwords-otp-in-laravel-apps</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our new package gives you everything you need to build a secure one-time password auth flow.


Read more]]>
            </summary>
                                    <updated>2025-05-22T16:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to handle passkeys in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/2854-a-package-to-handle-passkeys-in-laravel" />
            <id>https://freek.dev/2854-a-package-to-handle-passkeys-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I’m proud to announce that we’ve released a new package called spatie/laravel-passkeys that makes adding passkeys to a Laravel app as easy as it can be.


Read more]]>
            </summary>
                                    <updated>2025-05-09T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Simple and effective strategies to grow your newsletter]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/simple-and-effective-strategies-to-grow-your-newsletter" />
            <id>https://www.mailcoach.app/resources/blog/simple-and-effective-strategies-to-grow-your-newsletter</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Building a successful newsletter list is one of the most effective ways to connect with your audience, boost engagement, and drive conversions. Unlike social media, where algorithms control visibility, email...]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now log in using passkeys]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/you-can-now-log-in-using-passkeys" />
            <id>https://www.mailcoach.app/resources/blog/you-can-now-log-in-using-passkeys</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using ClickHouse at Flare to aggregate data]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/how-were-using-clickhouse-at-flare-aggregating-data" />
            <id>https://flareapp.io/blog/how-were-using-clickhouse-at-flare-aggregating-data</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The word is out: we're working on performance monitoring, Flare's most significant feature yet. One of the challenges we've tackled in the previous months was storing all this performance data...]]>
            </summary>
                                    <updated>2026-03-11T15:51:29+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Running PHP tests in parallel on GitHub actions]]></title>
            <link rel="alternate" href="https://freek.dev/2843-running-php-tests-in-parallel-on-github-actions" />
            <id>https://freek.dev/2843-running-php-tests-in-parallel-on-github-actions</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[A couple of years ago, Laravel introduced a great feature which allows to run PHPUnit / Pest tests in parallel. This results in a big boost in performance.
By default,...]]>
            </summary>
                                    <updated>2025-04-22T17:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Send-only API Keys]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/send-only-api-keys" />
            <id>https://www.mailcoach.app/resources/blog/send-only-api-keys</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Implementing Multitenancy in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/2841-implementing-multitenancy-in-laravel" />
            <id>https://freek.dev/2841-implementing-multitenancy-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's the recording of the talk I did at this years Laracon India. In this talk, I show how we use our laravel-multitenancy package to make Mailcoach tenant...]]>
            </summary>
                                    <updated>2025-04-07T15:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What to expect from open source]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/what-to-expect-from-open-source" />
            <id>https://vanpachtenbeke.com/posts/what-to-expect-from-open-source</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[In 2023, DHH's decision to remove TypeScript from Hotwire and Turbo caused some drama in the JavaScript community. At Spatie we’re open source maintainers too, so this sparked an interesting...]]>
            </summary>
                                    <updated>2025-03-04T23:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automating styles with data-slot]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/automating-styles-with-data-slot" />
            <id>https://flareapp.io/blog/automating-styles-with-data-slot</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[As we work on Flare’s performance monitoring feature, we’ve adopted a method to streamline our component architecture, making our UI more adaptable and maintainable. We derived this approach from Adam...]]>
            </summary>
                                    <updated>2025-02-18T21:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Starting a newsletter]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/starting-a-newsletter" />
            <id>https://www.mailcoach.app/resources/blog/starting-a-newsletter</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Newsletters are a powerful way to connect with your audience, share insights, and build relationships. This guide will help you navigate every step of starting and growing a successful newsletter.]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Reintroducing Laravel Backup Server as an open source package]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/reintroducing-laravel-backup-server-as-an-open-source-package" />
            <id>https://vanpachtenbeke.com/posts/reintroducing-laravel-backup-server-as-an-open-source-package</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Backup Server is a Laravel package that monitors your servers and ensures their contents are backed up. It uses rsync to back up data from a source (a server you...]]>
            </summary>
                                    <updated>2025-01-29T11:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Recent campaign statistics now available]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/recent-campaign-statistics-now-available" />
            <id>https://www.mailcoach.app/resources/blog/recent-campaign-statistics-now-available</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a micro dependency container, because why not?]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/building-a-micro-container-because-why-not" />
            <id>https://flareapp.io/blog/building-a-micro-container-because-why-not</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're currently completely rewriting the Flare backend client packages that run on our clients' servers. The original clients were written more than six years ago, and after more than a...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Customizing error grouping]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/customizing-error-grouping" />
            <id>https://flareapp.io/blog/customizing-error-grouping</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[For Flare, we've spent a lot of time optimizing our grouping algorithm. This algorithm groups occurrences of errors or exceptions together into one error.
Without such an algorithm, it would...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mailcoach now supports PostgreSQL & SQLite]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/mailcoach-now-supports-postgresql-sqlite" />
            <id>https://www.mailcoach.app/resources/blog/mailcoach-now-supports-postgresql-sqlite</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Strategies to strengthen your domain reputation]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/strategies-to-strengthen-your-domain-reputation" />
            <id>https://www.mailcoach.app/resources/blog/strategies-to-strengthen-your-domain-reputation</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[To maximize your email deliverability, building a strong domain reputation is essential. Here’s how to improve sender reputation and keep your emails out of spam folders.]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Create responsive email templates with MJML]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/create-responsive-email-template-with-mjml" />
            <id>https://www.mailcoach.app/resources/blog/create-responsive-email-template-with-mjml</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Creating beautiful responsive emails is easy when using the right tools. In this tutorial, we will use MJML, a markup language designed to create responsive emails, to create a custom...]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Perfecting Flare: one annoyance at a time]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/perfecting-flare-one-annoyance-at-a-time" />
            <id>https://flareapp.io/blog/perfecting-flare-one-annoyance-at-a-time</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Over the next few months, we're committed to fixing bugs - not just in your code, but in our app too.  We’ve got a bunch of improvements lined up to...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now manage suppressions through the Mailcoach API]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/you-can-now-manage-suppressions-through-the-mailcoach-api" />
            <id>https://www.mailcoach.app/resources/blog/you-can-now-manage-suppressions-through-the-mailcoach-api</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Browser extension errors begone!]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/browser-extension-error-noise-begone" />
            <id>https://flareapp.io/blog/browser-extension-error-noise-begone</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our team has received a lot of feedback about errors caused by browser extensions flooding projects. We have listened! In the latest version of our JavaScript client, errors triggered by...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Fake it till you make it: testing transactional emails with Mailcoach in Laravel]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/fake-it-till-you-make-it-testing-transactional-emails-with-mailcoach-in-laravel" />
            <id>https://www.mailcoach.app/resources/blog/fake-it-till-you-make-it-testing-transactional-emails-with-mailcoach-in-laravel</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Transactional emails are important for keeping users informed at key moments. This article explains all the ways to test your transactional emails from Mailcoach to make sure they’re working and...]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using 1password for Laravel environment variables]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/using-1password-for-laravel-environment-variables" />
            <id>https://flareapp.io/blog/using-1password-for-laravel-environment-variables</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Let's face it: secret management isn't the most thrilling part of development, but it's crucial. Even though it's very tempting to manage environment variables and secrets by sshing into a...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Subscriber engagement statistics now available]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/subscriber-engagement-statistics-now-available" />
            <id>https://www.mailcoach.app/resources/blog/subscriber-engagement-statistics-now-available</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Optimize for optionality and build towards checkpoints]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/optimize-for-optionality-and-build-towards-checkpoints" />
            <id>https://sebastiandedeyne.com/optimize-for-optionality-and-build-towards-checkpoints</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[In a project management-themed Hackers Incorporated episode, Adam Wathan introduced derisking projects with save points. The entire episode is definitely worth your time, but that specific piece of advice...]]>
            </summary>
                                    <updated>2026-04-02T20:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How take notes + my Obsidian setup]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/how-take-notes-my-obsidian-setup" />
            <id>https://sebastiandedeyne.com/how-take-notes-my-obsidian-setup</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[For the past year, Obsidian has been my note-taking companion. I don’t care about fancy features like backlinks, canvas… I like Obsidian because it’s fast, minimal (up to you!), customizable,...]]>
            </summary>
                                    <updated>2026-04-02T20:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Create segments from subscriber attributes]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/create-segments-from-subscriber-attributes" />
            <id>https://www.mailcoach.app/resources/blog/create-segments-from-subscriber-attributes</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Define attributes on lists]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/define-attributes-on-lists" />
            <id>https://www.mailcoach.app/resources/blog/define-attributes-on-lists</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Resend a cancelled campaign]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/resend-a-cancelled-campaign" />
            <id>https://www.mailcoach.app/resources/blog/resend-a-cancelled-campaign</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[When everything fails, you can always trust the Laravel rescue helper]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/when-everything-fails-you-can-always-trust-the-laravel-rescue-helper" />
            <id>https://flareapp.io/blog/when-everything-fails-you-can-always-trust-the-laravel-rescue-helper</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Your application probably has a number of minor and more significant bugs. Some bugs will destroy your application, making it impossible to use, while others can be ignored.
The problem?...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Check your Laravel Horizon failed jobs from Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/check-your-laravel-horizon-failed-jobs-from-flare" />
            <id>https://flareapp.io/blog/check-your-laravel-horizon-failed-jobs-from-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Jobs in queues can fail—that's a reality! The good thing about jobs is that you can retry them because they have their own state.
In Flare, we've already been tracking...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel's report helper: a must for error handling]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/laravels-report-helper-a-must-for-error-handling" />
            <id>https://flareapp.io/blog/laravels-report-helper-a-must-for-error-handling</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[For any application, handling errors gracefully is crucial for maintaining a smooth user experience. While PHP's try-catch statements are great at catching known exceptions and preventing them from crashing your...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Mailcoach for transactional email in an Express.js application]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/sending-transactional-emails-using-mailcoach-api-in-an-express-js-application" />
            <id>https://www.mailcoach.app/resources/blog/sending-transactional-emails-using-mailcoach-api-in-an-express-js-application</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[This article explores how to send transactional emails in an Express. js application using the Mailcoach API.]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Great work requires a portion of luck]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/great-work-requires-a-portion-of-luck" />
            <id>https://sebastiandedeyne.com/great-work-requires-a-portion-of-luck</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I thought this image from Christoph Niemann in Sunday Sketching was worth sharing.
We can force ourselves to do good work. But for great work, we need a portion...]]>
            </summary>
                                    <updated>2024-08-06T09:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare Microsoft Teams migration]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/flare-microsoft-teams-migration" />
            <id>https://flareapp.io/blog/flare-microsoft-teams-migration</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Microsoft Teams is deprecating the old Office365 connection mechanism to post messages to team channels. This change affects all Flare users who rely on Flare notifications sent to Microsoft Teams....]]>
            </summary>
                                    <updated>2026-03-11T15:51:29+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to test all routes in your Laravel app by writing just a single Pest test]]></title>
            <link rel="alternate" href="https://freek.dev/2739-how-to-test-all-routes-in-your-laravel-app-by-writing-just-a-single-pest-test" />
            <id>https://freek.dev/2739-how-to-test-all-routes-in-your-laravel-app-by-writing-just-a-single-pest-test</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We’ve released a new package called spatie/pest-plugin-route-testing. This package can test all common routes in your Laravel app by writing a single test.

In this...]]>
            </summary>
                                    <updated>2024-07-19T11:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to use Filepond in your Livewire component]]></title>
            <link rel="alternate" href="https://freek.dev/2738-a-package-to-use-filepond-in-your-livewire-component" />
            <id>https://freek.dev/2738-a-package-to-use-filepond-in-your-livewire-component</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We’ve published a new package called livewire-filepond, which contains a component to easily upload files.
Under the hood, Filepond, a powerful JavaScript library to upload files, is used....]]>
            </summary>
                                    <updated>2024-07-16T15:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Guide: How to add a preview text to your campaigns]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/how-to-add-a-preview-text-to-your-campaign" />
            <id>https://mailcoach.app/resources/blog/how-to-add-a-preview-text-to-your-campaign</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Improve your open rates by adding a preview text to your campaign.]]>
            </summary>
                                    <updated>2024-07-12T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Adding a preview text to your campaigns]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/how-to-add-a-preview-text-to-your-campaign" />
            <id>https://www.mailcoach.app/resources/blog/how-to-add-a-preview-text-to-your-campaign</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Improve your open rates by adding a preview text to your campaign.]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Handled exceptions]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/handled-exceptions" />
            <id>https://flareapp.io/blog/handled-exceptions</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Exceptions will break your application, and your users will not be able to complete what they were doing in the first place. That's how I looked at exceptions a few...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Speeding up database searches using an invisible column]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/speed-up-database-searches-using-invisible-columns" />
            <id>https://mailcoach.app/resources/blog/speed-up-database-searches-using-invisible-columns</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here at Mailcoach, we handle email lists with up to millions of subscribers. Keeping queries, and especially search queries fast is paramount for a good user experience.]]>
            </summary>
                                    <updated>2024-07-05T13:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Speeding up database searches using an invisible column]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/speed-up-database-searches-using-invisible-columns" />
            <id>https://www.mailcoach.app/resources/blog/speed-up-database-searches-using-invisible-columns</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Read on to find out how we keep search queries fast when we manage email lists with up to millions of subscribers.]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to display solutions on the Laravel error page]]></title>
            <link rel="alternate" href="https://freek.dev/2736-a-package-to-display-solutions-on-the-laravel-error-page" />
            <id>https://freek.dev/2736-a-package-to-display-solutions-on-the-laravel-error-page</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[When Laravel switched to a simpler exception page, the ability to display solutions for an exception was lost.
Our latest package, called spatie/laravel-error-solutions brings back that powerful feature. When...]]>
            </summary>
                                    <updated>2024-07-03T16:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sending transactional emails using Mailcoach API in an Express.js application]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/sending-transactional-emails-using-mailcoach-api-in-an-express-js-application" />
            <id>https://mailcoach.app/resources/blog/sending-transactional-emails-using-mailcoach-api-in-an-express-js-application</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Learn how to use Mailcoach API for transactional emails in an Express. js application.]]>
            </summary>
                                    <updated>2024-08-14T10:00:08+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[WeakMaps a hidden gem in PHP]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/weakmaps-a-hidden-gem-in-php" />
            <id>https://flareapp.io/blog/weakmaps-a-hidden-gem-in-php</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're working on a prominent new feature for Flare in the coming months. I hope to share more information about it in the coming weeks, but for now, we're going...]]>
            </summary>
                                    <updated>2026-03-11T15:51:29+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Prioritizing exceptions]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/prioritizing-exceptions" />
            <id>https://flareapp.io/blog/prioritizing-exceptions</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[If I'm not mistaken, it was Shakespeare who quoted:

"Verily, in the realm of errors, not all missteps bear equal weight, nor warrant the same swift hand. Some, mere...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Debugging application state triggered by focus]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/debugging-application-state-triggered-by-focus" />
            <id>https://sebastiandedeyne.com/debugging-application-state-triggered-by-focus</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[In any modern browser’s element inspector, you can force an element into a :hover or :focus state to debug styling issues. Sometimes, you want to debug an issue of an...]]>
            </summary>
                                    <updated>2026-04-02T20:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building our new automation workflow builder with css flexbox]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/building-our-new-automation-workflow-builder-with-flexbox" />
            <id>https://mailcoach.app/resources/blog/building-our-new-automation-workflow-builder-with-flexbox</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this post we’ll uncover some of the techniques used to create our automation builder without any dependencies on large JavaScript libraries using only CSS Flexbox for the layout.]]>
            </summary>
                                    <updated>2024-06-12T11:00:10+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building our new automation workflow builder with css flexbox]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/building-our-new-automation-workflow-builder-with-flexbox" />
            <id>https://www.mailcoach.app/resources/blog/building-our-new-automation-workflow-builder-with-flexbox</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this post we’ll uncover some of the techniques used to create our automation builder without any dependencies on large JavaScript libraries using only CSS Flexbox for the layout.]]>
            </summary>
                                    <updated>2024-08-19T11:00:10+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building Laravel Error Share]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/building-laravel-error-share" />
            <id>https://sebastiandedeyne.com/building-laravel-error-share</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Last week, we released Laravel Error Share, a package to share local Laravel exceptions with a coworker or your debugging friend on the...]]>
            </summary>
                                    <updated>2026-04-02T20:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Running Ignition on five years of Laravel]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/running-ignition-on-five-years-of-laravel" />
            <id>https://flareapp.io/blog/running-ignition-on-five-years-of-laravel</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here at Flare, we're trying to make the best Laravel error tracker possible, so we support as many Laravel versions as possible.
Flare and thus Ignition run on Laravel versions...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Ensure all routes in your laravel app are working]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/ensure-all-routes-in-your-laravel-app-are-working" />
            <id>https://vanpachtenbeke.com/posts/ensure-all-routes-in-your-laravel-app-are-working</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[A PestPHP plugin to ensure all your laravel routes are available and not returning errors]]>
            </summary>
                                    <updated>2024-06-06T18:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Laravel Error Share]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/introducing-laravel-error-share" />
            <id>https://flareapp.io/blog/introducing-laravel-error-share</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Earlier this month, Laravel changed the default error page from Ignition to their home-baked basic version.
Today, we are releasing a new package called spatie/laravel-error-share, which brings one of...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Use Resend as your Mailcoach email service provider]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/use-resend-as-your-email-provider-in-mailcoach" />
            <id>https://mailcoach.app/resources/blog/use-resend-as-your-email-provider-in-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Mailcoach now supports bringing in Resend as your email provider. Resend is a developer focused email service provider.]]>
            </summary>
                                    <updated>2024-06-03T10:00:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Use Resend as your Mailcoach email service provider]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/use-resend-as-your-email-provider-in-mailcoach" />
            <id>https://www.mailcoach.app/resources/blog/use-resend-as-your-email-provider-in-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Mailcoach now supports sending through Resend, a developer focused email service provider.]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating issues is now easier than ever]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/creating-issues-is-now-easier-than-ever" />
            <id>https://flareapp.io/blog/creating-issues-is-now-easier-than-ever</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We love to add small features to Flare. This week's feature allows you to create issues way faster!
If you've integrated your Flare project with GitHub, GitLab, Jira, or Linear...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Assigning a user to an error]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/assigning-a-user-to-an-error" />
            <id>https://flareapp.io/blog/assigning-a-user-to-an-error</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In popular project and source control systems, like GitHub, you can assign a person who should take care of a particular issue.
Now you can do this at Flare as...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[New iPads]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/2024-ipads" />
            <id>https://sebastiandedeyne.com/2024-ipads</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[New iPads last week. OLED, Finally! Be it a high-resolution monitor with deep blacks or e-ink, screens the most important part of a piece of...]]>
            </summary>
                                    <updated>2026-04-02T20:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Rethinking deploys at Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/rethinking-deploys-at-flare" />
            <id>https://flareapp.io/blog/rethinking-deploys-at-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare has long relied on locally running Laravel Envoy for our app deployments. However, as the application and infrastructure evolves, so do the challenges. This article documents some of our...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The Mailcoach app has a beautiful new coat of paint]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/the-mailcoach-app-has-a-beautiful-new-coat-of-paint" />
            <id>https://mailcoach.app/resources/blog/the-mailcoach-app-has-a-beautiful-new-coat-of-paint</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[After having revamped our marketing pages last month, we’re launching our new beautiful UI for the app today. Let’s take a closer look at all the changes.]]>
            </summary>
                                    <updated>2024-04-11T15:00:08+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The Mailcoach app has a beautiful new coat of paint]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/the-mailcoach-app-has-a-beautiful-new-coat-of-paint" />
            <id>https://www.mailcoach.app/resources/blog/the-mailcoach-app-has-a-beautiful-new-coat-of-paint</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[After having revamped our marketing pages last month, we’re launching our new beautiful UI for the app today. Let’s take a closer look at all the changes.]]>
            </summary>
                                    <updated>2024-08-19T11:00:10+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing: Linear integration]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/introducing-linear-integration" />
            <id>https://flareapp.io/blog/introducing-linear-integration</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[After Github, Gitlab & Jira, we now support Linear!
You can create a Linear issue directly from a Flare error, automatically resolve and unresolve errors based on the Linear...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Ignition and Flare can now display Laravel 11's context]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/ignition-and-flare-can-now-display-laravel-11s-context" />
            <id>https://flareapp.io/blog/ignition-and-flare-can-now-display-laravel-11s-context</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel 11 recently introduced a nice new feature called Context. Both Ignition and Flare have been updated to collect and show all context.
What is Context?
Laravel's latest feature...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we stopped a DDoS attack at Laracon]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/how-we-stopped-a-ddos-attack-while-at-a-conference" />
            <id>https://flareapp.io/blog/how-we-stopped-a-ddos-attack-while-at-a-conference</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[It is the first day of Laracon EU 2024. Flare was sponsoring the confererence for the first time and we were present with almost the whole Spatie team to promote...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Converting HTML to PDF using PHP]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2024/converting-html-to-pdf-using-php" />
            <id>https://alexvanderbist.com/2024/converting-html-to-pdf-using-php</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you spend enough time building web applications, it's likely that you will eventually need a solution for generating PDF documents. Consider scenarios like invoice PDFs, printable tickets, gift vouchers...]]>
            </summary>
                                    <updated>2024-04-11T16:01:43+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A new look for Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/a-new-look-for-mailcoach" />
            <id>https://mailcoach.app/resources/blog/a-new-look-for-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Wow, it smells fresh here! We just launched a big update to our marketing website and branding, and we’re excited to tell you a bit more about the process behind...]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Resend a cancelled campaign]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/resend-a-cancelled-campaign" />
            <id>https://mailcoach.app/resources/blog/resend-a-cancelled-campaign</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A new look for Mailcoach]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/a-new-look-for-mailcoach" />
            <id>https://www.mailcoach.app/resources/blog/a-new-look-for-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Wow, it smells fresh here! We just launched a big update to our marketing website and branding, and we’re excited to tell you a bit more about the process behind...]]>
            </summary>
                                    <updated>2024-08-19T11:00:10+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Migrating from MySQL to Postgres using Laravel's query builder]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/migrating-from-mysql-to-postgres-using-laravels-query-builder" />
            <id>https://flareapp.io/blog/migrating-from-mysql-to-postgres-using-laravels-query-builder</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Migrating from MySQL to Postgres is not an easy feat in general; there are numerous packages & scripts to accomplish this, like Pgloader and Nmig.
For us, the...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Adding text to an image using PHP and Imagick]]></title>
            <link rel="alternate" href="https://rias.be/blog/adding-text-to-an-image-using-php-and-imagick" />
            <id>https://rias.be/blog/adding-text-to-an-image-using-php-and-imagick</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Just like my previous article on adding text to an image using GD, this is how to add that same text using Imagick instead]]>
            </summary>
                                    <updated>2024-03-05T11:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Adding text to an image using PHP and GD]]></title>
            <link rel="alternate" href="https://rias.be/blog/adding-text-to-an-image-using-php-and-gd" />
            <id>https://rias.be/blog/adding-text-to-an-image-using-php-and-gd</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[There might be many reasons you need to add text on top of an existing image. The main reason for me was to add the title of a post, on...]]>
            </summary>
                                    <updated>2024-03-01T17:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing our new suite of JavaScript packages]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/introducing-our-new-suite-of-javascript-packages" />
            <id>https://flareapp.io/blog/introducing-our-new-suite-of-javascript-packages</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We just released our new suite of JavaScript packages. This repository contains the updated packages for our JavaScript, React, Vue, and Vite plugins.
What's new?
All packages have been...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Enhancing error reporting with custom context and glows]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/enhancing-error-reporting-with-custom-context-and-glows" />
            <id>https://flareapp.io/blog/enhancing-error-reporting-with-custom-context-and-glows</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When it comes to debugging errors in your Laravel applications, Flare already collects several Laravel and user-specific information to send along with the error. However, an additional layer of customization...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My keynote at PHPUKConference 2024]]></title>
            <link rel="alternate" href="https://freek.dev/2659-my-keynote-at-phpukconference-2024" />
            <id>https://freek.dev/2659-my-keynote-at-phpukconference-2024</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's the recording of the keynote at this year's PHPUKConference.

]]>
            </summary>
                                    <updated>2024-02-16T00:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How I take notes: Structure with Now Next Notes]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/how-i-take-notes-structure-with-now-next-notes" />
            <id>https://sebastiandedeyne.com/how-i-take-notes-structure-with-now-next-notes</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I rely heavily on taking notes. I don’t necessarily take notes to refer to in the future, they’re part of my thinking process. Writing things down brings clarity and tranquility....]]>
            </summary>
                                    <updated>2026-04-02T20:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Solving MySQL 5.7 authentication method problems in Laravel]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/solving-mysql-5-7-authentication-method-problems-with-laravel" />
            <id>https://sebastiandedeyne.com/solving-mysql-5-7-authentication-method-problems-with-laravel</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Last week I was setting up al old Laravel project that required MySQL 5.7. I installed DBngin so I could have the legacy MySQL version up and running alongside...]]>
            </summary>
                                    <updated>2024-02-12T14:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Hi there, laravel-data 4]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/hi-there-laravel-data-4/" />
            <id>https://rubenvanassche.com/hi-there-laravel-data-4/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[We launched laravel-data 3 a bit more then a year ago, and since then, we&apos;ve released 26 versions packed with bug fixes and new features. We started working this summer on...]]>
            </summary>
                                    <updated>2024-02-09T10:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[More than blogrolls]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/more-than-blogrolls" />
            <id>https://sebastiandedeyne.com/more-than-blogrolls</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[The latest edition of Matthias Ott’s Own Your Web (which I recommend subscribing to!) points out that there are a lot of blogs out there, but they can...]]>
            </summary>
                                    <updated>2026-04-02T20:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Choosing a frontend framework]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/choosing-a-frontend-framework" />
            <id>https://sebastiandedeyne.com/choosing-a-frontend-framework</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[A question I’ve gotten a few times after my talk or sharing Svelte by Example is which frontend framework I’d choose these days.
Here’s the good news: these days...]]>
            </summary>
                                    <updated>2026-04-02T20:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Generating status badges using PHP]]></title>
            <link rel="alternate" href="https://freek.dev/2652-generating-status-badges-using-php" />
            <id>https://freek.dev/2652-generating-status-badges-using-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Recently, we introduced a nice new feature to Oh Dear: status badges. A status badge is a beautiful SVG that shows the uptime status of your site.

Here’s...]]>
            </summary>
                                    <updated>2024-01-27T17:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why did my email bounce?]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/why-did-my-email-bounce" />
            <id>https://mailcoach.app/blog/why-did-my-email-bounce</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[The differences between a soft and hard bounce.]]>
            </summary>
                                    <updated>2024-01-26T11:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Making sure Laravel's debug mode is always disabled in production]]></title>
            <link rel="alternate" href="https://freek.dev/2643-making-sure-laravels-debug-mode-is-always-disabled-in-production" />
            <id>https://freek.dev/2643-making-sure-laravels-debug-mode-is-always-disabled-in-production</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Recently, people started talking about a malware called “Androxgh0st” specifically targeting Laravel apps. In a recent edition of Securing Laravel, Stephen Rees-Carter wrote a good explanation of how it works....]]>
            </summary>
                                    <updated>2024-01-22T10:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A mini package to calculate public holidays in a country]]></title>
            <link rel="alternate" href="https://freek.dev/2641-a-mini-package-to-calculate-public-holidays-in-a-country" />
            <id>https://freek.dev/2641-a-mini-package-to-calculate-public-holidays-in-a-country</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We released a mini package called spatie/holidays that can calculate the public holidays of a country.

ou can get all holidays for a country by using the get...]]>
            </summary>
                                    <updated>2024-01-17T15:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Calculate which days you don't have to work!]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/calculate-which-days-you-don-t-have-to-work-with-php" />
            <id>https://vanpachtenbeke.com/posts/calculate-which-days-you-don-t-have-to-work-with-php</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[We released a mini package called spatie/holidays which helps with calculating the public holidays of a country.]]>
            </summary>
                                    <updated>2024-01-19T12:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating beautiful invoices using Tailwind and Laravel PDF]]></title>
            <link rel="alternate" href="https://freek.dev/2639-creating-beautiful-invoices-using-tailwind-and-laravel-pdf" />
            <id>https://freek.dev/2639-creating-beautiful-invoices-using-tailwind-and-laravel-pdf</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Last week, we released a new package called Laravel PDF that allows you to transform Blade views into PDFs. Under the hood, Chromium is used to perform the transformation....]]>
            </summary>
                                    <updated>2024-01-16T17:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Cleverness]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/cleverness" />
            <id>https://sebastiandedeyne.com/cleverness</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[From The Tao of Pooh:

Remember when Kanga and Roo came to the Forest? Immediately, Rabbit decided that he didn't like them, because they were Different. Then he...]]>
            </summary>
                                    <updated>2024-01-11T14:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My interview questions when hiring a front-end / back-end / whatever developer at Spatie]]></title>
            <link rel="alternate" href="https://freek.dev/2634-my-interview-questions-when-hiring-a-front-end-back-end-whatever-developer-at-spatie" />
            <id>https://freek.dev/2634-my-interview-questions-when-hiring-a-front-end-back-end-whatever-developer-at-spatie</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I just read this nice blog post that contains a few tips on how to interview a Laravel developer.
When hiring someone at Spatie, I usually tend to get...]]>
            </summary>
                                    <updated>2024-01-10T18:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare ❤️ GitLab]]></title>
            <link rel="alternate" href="https://freek.dev/2617-flare-gitlab" />
            <id>https://freek.dev/2617-flare-gitlab</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[An introduction to the Flare GitLab integration!


Read more]]>
            </summary>
                                    <updated>2024-01-10T11:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Tabular assertions with Pest]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/tabular-assertions-with-pest" />
            <id>https://sebastiandedeyne.com/tabular-assertions-with-pest</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[With tabular assertions, you describe the expected outcome in a markdown-like table format. Here's why there useful, and how to use tabular assertions with Pest.

This is a tabular...]]>
            </summary>
                                    <updated>2024-01-09T13:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Tabular assertions with PHPUnit]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/tabular-assertions-with-phpunit" />
            <id>https://sebastiandedeyne.com/tabular-assertions-with-phpunit</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[With tabular assertions, you describe the expected outcome in a markdown-like table format. Here's why there useful, and how to use tabular assertions with PHPUnit.

This is a tabular...]]>
            </summary>
                                    <updated>2024-01-09T12:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The power of transactional emails]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/the-power-of-transactional-emails" />
            <id>https://mailcoach.app/blog/the-power-of-transactional-emails</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Transactional emails - building trust through transparency.]]>
            </summary>
                                    <updated>2024-01-09T12:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What is a drip campaign?]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/what-is-a-drip-campaign" />
            <id>https://mailcoach.app/blog/what-is-a-drip-campaign</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[A drip campaign is like sending a series of friendly messages that unfold gradually over time, keeping your audience engaged and informed without overwhelming them.]]>
            </summary>
                                    <updated>2024-01-09T11:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we built our GitLab integration]]></title>
            <link rel="alternate" href="https://freek.dev/2618-how-we-built-our-gitlab-integration" />
            <id>https://freek.dev/2618-how-we-built-our-gitlab-integration</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[A few days ago, we added a GitLab integration. In this blog post, we'll talk about the road to that integration and our struggles.


Read more]]>
            </summary>
                                    <updated>2024-01-09T10:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Securing Your Email - A Guide to Setting up SPF and DKIM DNS Records]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/securing-your-email-a-guide-to-setting-up-spf-and-dkim-dns-records" />
            <id>https://mailcoach.app/blog/securing-your-email-a-guide-to-setting-up-spf-and-dkim-dns-records</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[A guide to secure your email communication to protect from malicious activities by implementing SPF and DKIM.]]>
            </summary>
                                    <updated>2024-01-08T17:00:16+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing tabular assertions]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/introducing-tabular-assertions" />
            <id>https://sebastiandedeyne.com/introducing-tabular-assertions</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today I tagged v1 of a new testing package: spatie/tabular-assertions. It's a distillation of a testing method I've been using in client projects the past two years. The package...]]>
            </summary>
                                    <updated>2024-01-08T17:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sending transactional emails from your Laravel application through Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/sending-transactional-e-mails-from-your-laravel-application-through-mailcoach" />
            <id>https://mailcoach.app/blog/sending-transactional-e-mails-from-your-laravel-application-through-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[By configuring Laravel to send transactional mail through Mailcoach non-technical people can administer the content of your emails, and you gain valuable insights on how your sent emails are performing.]]>
            </summary>
                                    <updated>2024-01-08T16:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a Subscription Form with Laravel Volt & Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/building-a-subscription-form-with-laravel-volt-mailcoach" />
            <id>https://mailcoach.app/blog/building-a-subscription-form-with-laravel-volt-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel Volt is one of Laravel's latest tools to build user interfaces. We love playing around with new stuff, lets find our how we can use Volt to power our...]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing the Mailcoach affiliate program]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/introducing-the-mailcoach-affiliate-program" />
            <id>https://mailcoach.app/blog/introducing-the-mailcoach-affiliate-program</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Earn money by referring people to Mailcoach.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Protecting against spam using Cloudflare Turnstile]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/protecting-against-spam-using-cloudflare-turnstile" />
            <id>https://mailcoach.app/blog/protecting-against-spam-using-cloudflare-turnstile</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[With Mailcoach, protecting your email list & subscription forms against spam is crucial to protect your sending reputation. Mailcoach now makes this easy by integrating with Cloudflare Turnstile, the privacy...]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now log in or register using your GitHub or Google account]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/you-can-now-log-in-or-register-using-your-github-or-google-account" />
            <id>https://mailcoach.app/blog/you-can-now-log-in-or-register-using-your-github-or-google-account</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've just added the ability to use GitHub and Google oauth to log in or register to Mailcoach Cloud.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to use Mailcoach in your WordPress website]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/how-to-use-mailcoach-in-your-wordpress-website" />
            <id>https://mailcoach.app/blog/how-to-use-mailcoach-in-your-wordpress-website</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[This plugin allows you to easily embed forms on your WordPress website. This can be done on specific pages of your website using a shortcode, providing a seamless and user-friendly...]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to display a subscription confirmation message with CSS]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/how-to-display-a-subscription-confirmation-message-with-css" />
            <id>https://mailcoach.app/blog/how-to-display-a-subscription-confirmation-message-with-css</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[CSS has a lesser-known :target selector to style an element that matches the element linked in the page hash. It's a great way to display a message without creating a...]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Get notified when your Mailcoach webhooks fail]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/get-notified-when-your-mailcoach-webhooks-fail" />
            <id>https://mailcoach.app/blog/get-notified-when-your-mailcoach-webhooks-fail</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Failing webhooks are now handled more gracefully.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we use CSS custom properties to customize your newsletter archive]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/how-we-use-css-custom-properties-to-customize-your-newsletter-archive" />
            <id>https://mailcoach.app/blog/how-we-use-css-custom-properties-to-customize-your-newsletter-archive</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[With Mailcoach, you can create a customized archive website for your campaigns. To blend your website with the style of your newsletters, we support setting a primary color and theme....]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Add Fathom Analytics or Google Analytics to your Mailcoach website]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/add-fathom-analytics-or-google-analytics-to-your-mailcoach-website" />
            <id>https://mailcoach.app/blog/add-fathom-analytics-or-google-analytics-to-your-mailcoach-website</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Get insights into your newsletter archive visitors by adding a site ID]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now hide parts of your email from webviews]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/you-can-now-hide-parts-of-your-email-from-webviews" />
            <id>https://mailcoach.app/blog/you-can-now-hide-parts-of-your-email-from-webviews</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[With this small new tag you can prevent parts of your email from appearing in the webview version of the email]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[We've made our webhooks more powerful]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/weve-made-our-webhooks-more-powerful" />
            <id>https://mailcoach.app/blog/weve-made-our-webhooks-more-powerful</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In our latest Mailcoach update, we added some nice features to the Webhooks functionality.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[We're a Sendgrid alternative focused on privacy and made in the EU]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/were-a-sendgrid-alternative-focused-on-privacy-and-made-in-the-eu" />
            <id>https://mailcoach.app/blog/were-a-sendgrid-alternative-focused-on-privacy-and-made-in-the-eu</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We believe that privacy should be respected and protected by all. With the increasing use of technology, ensuring that our personal information is secure and kept private has become more...]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now send webhooks from an email automation]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/you-can-now-send-webhooks-from-an-email-automation" />
            <id>https://mailcoach.app/blog/you-can-now-send-webhooks-from-an-email-automation</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[This unlock our automations to be used for other things besides sending emails]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating an onboarding email drip campaign using Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/creating-an-onboarding-email-drip-campaign-using-mailcoach" />
            <id>https://mailcoach.app/blog/creating-an-onboarding-email-drip-campaign-using-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Make use of Mailcoach powerful automations feature to welcome new users to your SaaS.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Create the perfect newsletter using conditional content]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/create-the-perfect-newsletter-using-conditional-content" />
            <id>https://mailcoach.app/blog/create-the-perfect-newsletter-using-conditional-content</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're proud to announce that you can now use conditional content when creating a newsletter/]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now add custom attributes to subscribers]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/you-can-now-add-custom-attributes-to-subscribers" />
            <id>https://mailcoach.app/blog/you-can-now-add-custom-attributes-to-subscribers</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[You can now add custom attributes to subscribers]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sending transactional mails using Mailcoach in a Laravel app ]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/sending-transactional-mails-using-mailcoach-in-a-laravel-app" />
            <id>https://mailcoach.app/blog/sending-transactional-mails-using-mailcoach-in-a-laravel-app</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Besides sending newsletters and drip campaigns, Mailcoach can take care of the transactional mails that your application needs to send out.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now use Mailcoach without an external account]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/you-can-now-use-mailcoach-without-an-external-account" />
            <id>https://mailcoach.app/blog/you-can-now-use-mailcoach-without-an-external-account</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Getting started with Mailcoach now becomes much more easy.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using the shadow DOM as a better iframe]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/using-the-shadow-dom-as-a-better-iframe" />
            <id>https://mailcoach.app/blog/using-the-shadow-dom-as-a-better-iframe</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Using the shadow DOM, we can ensure that the sent newsletter we display in the archive is not affected by the layout of our website.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Moving from Revue to Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/moving-from-revue-to-mailcoach" />
            <id>https://mailcoach.app/blog/moving-from-revue-to-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[The Twitter Revue newsletter service will shut down soon. Luckily you can easily move your audience over to Mailcoach.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mailcoach now offers beautiful newsletter websites]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/mailcoach-now-offers-beautiful-newsletter-websites" />
            <id>https://mailcoach.app/blog/mailcoach-now-offers-beautiful-newsletter-websites</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[This feature will help leading your audience to your older content.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing our SDKs for PHP and Laravel]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/introducing-our-sdks-for-php-and-laravel" />
            <id>https://mailcoach.app/blog/introducing-our-sdks-for-php-and-laravel</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Both self-hosted Mailcoach and Mailcoach Cloud offer a powerful API to integrate Mailcoach's functionalities in your app. To hit the ground running, we now offer easy to use SDKs.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Moving your MailChimp audience over to Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/moving-your-mailchimp-audience-over-to-mailcoach" />
            <id>https://mailcoach.app/blog/moving-your-mailchimp-audience-over-to-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[MailChimp gets expensive fast when your audience grows. Luckily, our service is much more affordable. Here's how to move your audience from MailChimp to Mailcoach]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to create drip campaigns and email automation in Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/how-to-create-drip-campaigns-and-email-automation-in-mailcoach" />
            <id>https://mailcoach.app/blog/how-to-create-drip-campaigns-and-email-automation-in-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[A major feature of Mailcoach is the ability to automate emails. Here's how you can use this feature and how we use it to promote our other Spatie products.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using the Mailcoach Markdown editor in Filament]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/using-the-mailcoach-markdown-editor-in-filament" />
            <id>https://mailcoach.app/blog/using-the-mailcoach-markdown-editor-in-filament</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our newest package makes the Mailcoach Markdown editor easily installable in Filament.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automatically setup your favorite email provider in Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/automatically-setup-your-favorite-email-provider-in-mailcoach" />
            <id>https://mailcoach.app/blog/automatically-setup-your-favorite-email-provider-in-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In Mailcoach Cloud and the upcoming v6 of the self-hosted version of Mailcoach, we've made it much simpler to connect an email-sending service to Mailcoach.
In this blog post, we'd...]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using jobs instead of commands in the schedule of a Laravel app]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/using-jobs-instead-of-commands-in-the-schedule-of-a-laravel-app" />
            <id>https://mailcoach.app/blog/using-jobs-instead-of-commands-in-the-schedule-of-a-laravel-app</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In a standard Laravel application, you can schedule Artisan commands in your console kernel. While that works for most projects, we took a different route in Mailcoach. Instead of scheduling...]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we scale our servers]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/how-we-scale-our-servers" />
            <id>https://mailcoach.app/blog/how-we-scale-our-servers</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Let's take a look at how we handle the server load that goes with sending a lot of emails.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Writing a newsletter in Markdown on Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/writing-a-newsletter-in-markdown-on-mailcoach" />
            <id>https://mailcoach.app/blog/writing-a-newsletter-in-markdown-on-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Using our Markdown editor, you can easily add links and other Markdown to any content. As a bonus, our Markdown editor also provides automatic code highlighting for hundreds of programming...]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Securing Your Email - A Guide to Setting up SPF and DKIM DNS Records]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/securing-your-email-a-guide-to-setting-up-spf-and-dkim-dns-records" />
            <id>https://mailcoach.app/resources/blog/securing-your-email-a-guide-to-setting-up-spf-and-dkim-dns-records</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[A guide to secure your email communication to protect from malicious activities by implementing SPF and DKIM.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to configure SPF and DKIM DNS records]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/securing-your-email-a-guide-to-setting-up-spf-and-dkim-dns-records" />
            <id>https://www.mailcoach.app/resources/blog/securing-your-email-a-guide-to-setting-up-spf-and-dkim-dns-records</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[A guide to secure your email communication to protect from malicious activities by implementing SPF and DKIM.]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Easily create PDFs in Laravel apps]]></title>
            <link rel="alternate" href="https://freek.dev/2625-easily-create-pdfs-in-laravel-apps" />
            <id>https://freek.dev/2625-easily-create-pdfs-in-laravel-apps</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We’ve released a new package called spatie/laravel-pdf, a batteries-included package to generate PDFs in Laravel apps. Under the hood, it uses Chromium to generate PDFs from Blade views....]]>
            </summary>
                                    <updated>2024-01-02T16:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Feedback]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/feedback" />
            <id>https://sebastiandedeyne.com/feedback</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Before I launched Svelte by Example, I called for early access testers in this newsletter. I don't ask for feedback often, I had to push myself to do this.
Sometimes...]]>
            </summary>
                                    <updated>2023-12-29T12:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Svelte 5 preview review]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/svelte-5-preview-review" />
            <id>https://sebastiandedeyne.com/svelte-5-preview-review</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[The Svelte team set up a miniature documentation site highlighting the new features coming to Svelte 5. Here's a quick review of my three favorites: runes, events, and snippets....]]>
            </summary>
                                    <updated>2023-12-27T17:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How not to update every package in existence, break your local environment, and spend the afternoon dealing with things you did not want to deal with when installing a package with Homebrew]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/how-not-to-update-every-package-in-existence-break-your-local-environment-and-spend-the-afternoon-dealing-with-things-you-did-not-want-to-deal-with-when-installing-a-package-with-brew" />
            <id>https://sebastiandedeyne.com/how-not-to-update-every-package-in-existence-break-your-local-environment-and-spend-the-afternoon-dealing-with-things-you-did-not-want-to-deal-with-when-installing-a-package-with-brew</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Friendly reminder that you can disable Homebrew's default auto update behaviour with HOMEBREW_NO_AUTO_UPDATE=1.
]]>
            </summary>
                                    <updated>2023-12-18T17:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[New major versions for spatie/image and Laravel Media Library have been released]]></title>
            <link rel="alternate" href="https://freek.dev/2619-new-major-versions-for-spatieimage-and-laravel-media-library-have-been-released" />
            <id>https://freek.dev/2619-new-major-versions-for-spatieimage-and-laravel-media-library-have-been-released</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We’ve released a new major version of spatie/image, v3. This package makes it very easy to manipulate images using PHP.
At the same time, we’ve also released a new...]]>
            </summary>
                                    <updated>2023-12-18T14:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The CSS scroll-margin property]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/the-css-scroll-margin-property" />
            <id>https://sebastiandedeyne.com/the-css-scroll-margin-property</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Last week I remembered the scroll-margin property existed.
I was adding anchors to the headings of a page so visitors can directly link to a section. However, when that link...]]>
            </summary>
                                    <updated>2023-12-18T17:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The power of transactional emails]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/the-power-of-transactional-emails" />
            <id>https://mailcoach.app/resources/blog/the-power-of-transactional-emails</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Transactional emails - building trust through transparency.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What is a drip campaign?]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/what-is-a-drip-campaign" />
            <id>https://mailcoach.app/resources/blog/what-is-a-drip-campaign</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[A drip campaign is like sending a series of friendly messages that unfold gradually over time, keeping your audience engaged and informed without overwhelming them.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The power of transactional emails]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/the-power-of-transactional-emails" />
            <id>https://www.mailcoach.app/resources/blog/the-power-of-transactional-emails</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Transactional emails - building trust through transparency.]]>
            </summary>
                                    <updated>2024-08-19T11:00:10+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What is a drip campaign?]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/what-is-a-drip-campaign" />
            <id>https://www.mailcoach.app/resources/blog/what-is-a-drip-campaign</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Find out what a drip campaign is and how it can help you keep your audience interested and informed with your emails without overwhelming them.]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Elevate your customer support with HelpSpace]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/elevate-your-customer-support-with-helpspace" />
            <id>https://mailcoach.app/blog/elevate-your-customer-support-with-helpspace</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[A short overview how we use HelpSpace to handle customer support!]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Elevate your customer support with HelpSpace]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/elevate-your-customer-support-with-helpspace" />
            <id>https://mailcoach.app/resources/blog/elevate-your-customer-support-with-helpspace</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[A short overview how we use HelpSpace to handle customer support!]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Elevate your customer support with HelpSpace]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/elevate-your-customer-support-with-helpspace" />
            <id>https://www.mailcoach.app/resources/blog/elevate-your-customer-support-with-helpspace</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[A short overview how we use HelpSpace to handle customer support!]]>
            </summary>
                                    <updated>2024-08-19T11:00:10+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Cleaning up package.json keys]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/cleaning-up-package-json-keys" />
            <id>https://sebastiandedeyne.com/cleaning-up-package-json-keys</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm in the process of cleaning up some npm packages that haven't been touched in a while, and part of that is pruning all the cruft that has been accumulated...]]>
            </summary>
                                    <updated>2023-12-11T17:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why do I need an email marketing software?]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/why-do-i-need-an-email-marketing-software" />
            <id>https://mailcoach.app/blog/why-do-i-need-an-email-marketing-software</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Learn about the benefits of using an email marketing software.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why do I need an email marketing software?]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/why-do-i-need-an-email-marketing-software" />
            <id>https://mailcoach.app/resources/blog/why-do-i-need-an-email-marketing-software</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Learn about the benefits of using an email marketing software.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why do I need email marketing software?]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/why-do-i-need-an-email-marketing-software" />
            <id>https://www.mailcoach.app/resources/blog/why-do-i-need-an-email-marketing-software</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Read on to find out why using email marketing software could be just what you need to take your digital marketing strategy to the next level.]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare ❤️ GitLab]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/flare-gitlab" />
            <id>https://flareapp.io/blog/flare-gitlab</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Just last week, we shared the exciting news about the Flare-Jira integration, and today, we're delighted to introduce yet another powerful integration: GitLab.
Configuring GitLab
GitLab stands out for...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we built our GitLab integration]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/how-we-built-our-gitlab-integration" />
            <id>https://flareapp.io/blog/how-we-built-our-gitlab-integration</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[A few days ago, we added a GitLab integration. In this blog post, we'll talk about the road to that integration and our struggles.

Frequent readers...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Use honeypot to fight spam]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/use-honeypot-to-fight-spam" />
            <id>https://mailcoach.app/blog/use-honeypot-to-fight-spam</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Combatting spam bots with a honeypot.]]>
            </summary>
                                    <updated>2024-01-08T15:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Use honeypot to fight the spam]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/use-honeypot-to-fight-the-spam" />
            <id>https://mailcoach.app/blog/use-honeypot-to-fight-the-spam</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Combatting spam bots with a honeypot. ]]>
            </summary>
                                    <updated>2023-12-04T11:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Jira Integration with Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/introducing-jira-integration-with-flare" />
            <id>https://flareapp.io/blog/introducing-jira-integration-with-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Exciting news for all our Flare users! Previously, you could sync GitHub issues with Flare errors. Many loved this integration; it allows teams to quickly respond to bugs reported...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why did my email bounce?]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/why-did-my-email-bounce" />
            <id>https://mailcoach.app/resources/blog/why-did-my-email-bounce</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[The differences between a soft and hard bounce.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why did my email bounce?]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/why-did-my-email-bounce" />
            <id>https://www.mailcoach.app/resources/blog/why-did-my-email-bounce</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Read about all the reasons your email wasn’t delivered, and learn the difference between a soft and hard bounce.]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Use honeypot to fight spam]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/use-honeypot-to-fight-spam" />
            <id>https://mailcoach.app/resources/blog/use-honeypot-to-fight-spam</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Combatting spam bots with a honeypot.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using a honeypot to fight spam]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/use-honeypot-to-fight-spam" />
            <id>https://www.mailcoach.app/resources/blog/use-honeypot-to-fight-spam</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Read on to find out how a sweet, sticky substance can keep bots out of your email lists.]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Spatie's Black Friday Deals]]></title>
            <link rel="alternate" href="https://freek.dev/2600-spaties-black-friday-deals" />
            <id>https://freek.dev/2600-spaties-black-friday-deals</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Like every year, we have some Black Friday discounts at Spatie. We made fun video about it.
]]>
            </summary>
                                    <updated>2023-11-17T16:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Remove falsy values from a Laravel collection or array in PHP]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/remove-falsy-values-from-a-laravel-collection-or-array-in-php" />
            <id>https://sebastiandedeyne.com/remove-falsy-values-from-a-laravel-collection-or-array-in-php</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[The native array_filter() in PHP and collect()->filter() in Laravel also work without providing a filter callback.
]]>
            </summary>
                                    <updated>2023-11-13T12:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Solving subdomain CORS issues on Laravel Herd]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/cors-issues-after-migrating-to-laravel-herd" />
            <id>https://vanpachtenbeke.com/posts/cors-issues-after-migrating-to-laravel-herd</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I have been a satisfied Valet user for the past four years, but my recent frustrations with Homebrew have led me to look into Laravel Herd.]]>
            </summary>
                                    <updated>2023-11-10T15:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now give team members access to specific projects]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/you-can-now-give-team-members-access-to-specific-projects" />
            <id>https://flareapp.io/blog/you-can-now-give-team-members-access-to-specific-projects</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[On most projects, you're probably not working alone. That's why Flare has been team-based from day one. Everybody invited to your team on Flare can see all the projects you...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Adding "Stale While Revalidate" functionality to Laravel's Cache]]></title>
            <link rel="alternate" href="https://rias.be/blog/adding-stale-while-revalidate-functionality-to-laravels-cache" />
            <id>https://rias.be/blog/adding-stale-while-revalidate-functionality-to-laravels-cache</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Stale While Revalidate (SWR) is a strategy to first return the data from the cache (stale), then send the fetch request (revalidate), and finally come up with the up-to-date data.]]>
            </summary>
                                    <updated>2023-11-10T10:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Migrate your audience from ConvertKit to Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/migrate-your-audience-from-convertkit-to-mailcoach" />
            <id>https://mailcoach.app/blog/migrate-your-audience-from-convertkit-to-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this quick guide we'll describe how you can move your audience from ConvertKit to Mailcoach.]]>
            </summary>
                                    <updated>2023-11-07T17:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Moving your Substack audience over to Mailcoach Cloud]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/moving-your-substack-audience-over-to-mailcoach-cloud" />
            <id>https://mailcoach.app/blog/moving-your-substack-audience-over-to-mailcoach-cloud</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Learn how to effortlessly move your subscribers from Substack to Mailcoach Cloud in this easy-to-follow guide.]]>
            </summary>
                                    <updated>2023-11-07T17:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Leveraging Cloudflare Workers for Edge API Authentication]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/leveraging-cloudflare-workers-for-edge-api-authentication" />
            <id>https://flareapp.io/blog/leveraging-cloudflare-workers-for-edge-api-authentication</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Currently, there is at least a ±70ms latency between the EU and US data centers, which is unlikely to improve significantly due to the limitations imposed by the speed...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mailcoach gains split testing, Livewire 3 support, suppression list, and much more]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/mailcoach-gains-split-testing-livewire-3-support-suppression-list-and-much-more" />
            <id>https://mailcoach.app/blog/mailcoach-gains-split-testing-livewire-3-support-suppression-list-and-much-more</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Mailcoach just got a lot better!]]>
            </summary>
                                    <updated>2023-10-30T16:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mailcoach gains split testing, Livewire 3 support, suppression list, and much more]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/mailcoach-gains-split-testing-livewire-3-support-suppression-list-and-much-more" />
            <id>https://mailcoach.app/resources/blog/mailcoach-gains-split-testing-livewire-3-support-suppression-list-and-much-more</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Mailcoach just got a lot better!]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mailcoach gains split testing, Livewire 3 support, suppression list, and much more]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/mailcoach-gains-split-testing-livewire-3-support-suppression-list-and-much-more" />
            <id>https://www.mailcoach.app/resources/blog/mailcoach-gains-split-testing-livewire-3-support-suppression-list-and-much-more</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a newsletter subscription form with SvelteKit form actions]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/building-a-newsletter-subscription-form-with-sveltekit-form-actions" />
            <id>https://mailcoach.app/blog/building-a-newsletter-subscription-form-with-sveltekit-form-actions</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We'll learn how to create a custom newsletter component for your SvelteKit project, how to use environment variables, and how to use form actions to progressively enhance our newsletter component.]]>
            </summary>
                                    <updated>2023-10-26T15:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing MJML Support in v7]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/introducing-mjml-support-in-v7" />
            <id>https://mailcoach.app/blog/introducing-mjml-support-in-v7</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you've ever tried to build an HTML email from scratch, you know that it's not easy. Email clients don't support modern HTML and CSS niceties and have a lot...]]>
            </summary>
                                    <updated>2023-10-26T15:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Svelte by Example]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/introducing-svelte-by-example" />
            <id>https://sebastiandedeyne.com/introducing-svelte-by-example</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[This week, I released Svelte by Example, a tutorial/resource/whatever-you- want-to-call-it introduction to Svelte.
The goal of Svelte by Example is not to turn you into an expert Svelte consultant...]]>
            </summary>
                                    <updated>2023-10-24T19:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Migrate your audience from ConvertKit to Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/35-migrate-your-audience-from-convertkit-to-mailcoach" />
            <id>https://mailcoach.app/blog/35-migrate-your-audience-from-convertkit-to-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this quick guide we'll describe how you can move your audience from ConvertKit to Mailcoach.]]>
            </summary>
                                    <updated>2023-10-17T11:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a Subscription Form with Laravel Volt & Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/36-building-a-subscription-form-with-laravel-volt-mailcoach" />
            <id>https://mailcoach.app/blog/36-building-a-subscription-form-with-laravel-volt-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel Volt is one of Laravel's latest tools to build user interfaces. We love playing around with new stuff, lets find our how we can use Volt to power our...]]>
            </summary>
                                    <updated>2023-10-17T10:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a newsletter subscription form with SvelteKit form actions]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/building-a-newsletter-subscription-form-with-sveltekit-form-actions" />
            <id>https://mailcoach.app/resources/blog/building-a-newsletter-subscription-form-with-sveltekit-form-actions</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We’ll learn how to create a custom newsletter component for your SvelteKit project, how to use environment variables, and how to use form actions to progressively enhance our newsletter component.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a newsletter subscription form with SvelteKit form actions]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/building-a-newsletter-subscription-form-with-sveltekit-form-actions" />
            <id>https://www.mailcoach.app/resources/blog/building-a-newsletter-subscription-form-with-sveltekit-form-actions</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We’ll learn how to create a custom newsletter component for your SvelteKit project, how to use environment variables, and how to use form actions to progressively enhance our newsletter component.]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Our Slack integration now supports unfurling]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/65-our-slack-integration-now-supports-unfurling" />
            <id>https://flareapp.io/blog/65-our-slack-integration-now-supports-unfurling</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[What is Slack unfurling?
"Unfurling" is what Slack calls adding a small preview to a link that is posted in your workspace. For example, a preview with the content...]]>
            </summary>
                                    <updated>2023-10-16T15:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Our Slack integration now supports unfurling]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/our-slack-integration-now-supports-unfurling" />
            <id>https://flareapp.io/blog/our-slack-integration-now-supports-unfurling</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[What is Slack unfurling?
"Unfurling" is what Slack calls adding a small preview to a link that is posted in your workspace. For example, a preview with the content of...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a Subscription Form with Laravel Volt & Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/building-a-subscription-form-with-laravel-volt-mailcoach" />
            <id>https://mailcoach.app/resources/blog/building-a-subscription-form-with-laravel-volt-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel Volt is one of Laravel's latest tools to build user interfaces. We love playing around with new stuff, lets find our how we can use Volt to power our...]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a Subscription Form with Laravel Volt & Mailcoach]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/building-a-subscription-form-with-laravel-volt-mailcoach" />
            <id>https://www.mailcoach.app/resources/blog/building-a-subscription-form-with-laravel-volt-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel Volt is one of Laravel's latest tools to build user interfaces. We love playing around with new stuff, lets find our how we can use Volt to power our...]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Configure Laravel to use Immutable dates by default]]></title>
            <link rel="alternate" href="https://rias.be/blog/configure-laravel-to-use-immutable-dates-by-default" />
            <id>https://rias.be/blog/configure-laravel-to-use-immutable-dates-by-default</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[By default, Laravel uses Carbon for dates, but the object returned by the \Illuminate\Support\Facades\Date helper is mutable.]]>
            </summary>
                                    <updated>2023-09-29T16:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Empty states with CSS and the `:only-child` selector]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/empty-states-with-css-and-the-only-child-selector" />
            <id>https://sebastiandedeyne.com/empty-states-with-css-and-the-only-child-selector</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[On Twitter I came across a great tip on displaying empty states with CSS.
When you're rendering a list, I often wrap a loop in an if/else statement to...]]>
            </summary>
                                    <updated>2023-09-28T09:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How I would build a new startup if I have to do it all over again]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/how-i-would-build-a-new-startup-if-i-have-to-do-it-all-over-again" />
            <id>https://vanpachtenbeke.com/posts/how-i-would-build-a-new-startup-if-i-have-to-do-it-all-over-again</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[A Deeper Dive into Crafting a Startup in 2023]]>
            </summary>
                                    <updated>2023-09-28T21:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a flexible yet abstract external integrations Structure]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/67-building-a-flexible-yet-abstract-external-integrations-structure" />
            <id>https://flareapp.io/blog/67-building-a-flexible-yet-abstract-external-integrations-structure</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here we are. Flare is better than ever! We've been adding features week after week. Yet, one significant request on our roadmap remains: Jira! It is the most upvoted...]]>
            </summary>
                                    <updated>2023-09-27T14:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a flexible yet abstract external integrations Structure]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/building-a-flexible-yet-abstract-external-integrations-structure" />
            <id>https://flareapp.io/blog/building-a-flexible-yet-abstract-external-integrations-structure</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here we are. Flare is better than ever! We've been adding features week after week. Yet, one significant request on our roadmap remains: Jira! It is the most upvoted...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How not to be ignorant about the world]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/how-not-to-be-ignorant-about-the-world" />
            <id>https://vanpachtenbeke.com/posts/how-not-to-be-ignorant-about-the-world</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2023-09-28T21:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating my new album "Kind"]]></title>
            <link rel="alternate" href="https://freek.dev/2569-creating-my-new-album-kind" />
            <id>https://freek.dev/2569-creating-my-new-album-kind</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[This blog post will be a little different. I'm not going to write about programming as usual. Over the past few months, I have worked on my new album titled...]]>
            </summary>
                                    <updated>2023-09-25T12:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Video: the keynotes of Full Stack Europe 2022]]></title>
            <link rel="alternate" href="https://freek.dev/2565-video-the-keynotes-of-full-stack-europe-2022" />
            <id>https://freek.dev/2565-video-the-keynotes-of-full-stack-europe-2022</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Last year at Full Stack Europe we had two great keynotes by two amazing speakers: Jeremy Keith and Kevlin Henney. We're very happy that we can share the recordings...]]>
            </summary>
                                    <updated>2023-09-19T10:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing MJML Support in v7]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/33-introducing-mjml-support-in-v7" />
            <id>https://mailcoach.app/blog/33-introducing-mjml-support-in-v7</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you've ever tried to build an HTML email from scratch, you know that it's not easy. Email clients don't support modern HTML and CSS niceties and have a lot...]]>
            </summary>
                                    <updated>2023-09-14T17:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing MJML Support in v7]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/introducing-mjml-support-in-v7" />
            <id>https://mailcoach.app/resources/blog/introducing-mjml-support-in-v7</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you’ve ever tried to build an HTML email from scratch, you know that it’s not easy. Email clients don’t support modern HTML and CSS niceties and have a lot...]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing support for MJML]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/introducing-mjml-support-in-v7" />
            <id>https://www.mailcoach.app/resources/blog/introducing-mjml-support-in-v7</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Send polished email templates that look great across devices and browsers using MJML, added in Mailcoach 7.0.]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Moving your MailChimp audience over to Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/12-moving-your-mailchimp-audience-over-to-mailcoach" />
            <id>https://mailcoach.app/blog/12-moving-your-mailchimp-audience-over-to-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[MailChimp gets expensive fast when your audience grows. Luckily, our service is much more affordable. Here's how to move your audience from MailChimp to Mailcoach]]>
            </summary>
                                    <updated>2023-09-13T17:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why error tracking is crucial for your application]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/66-why-error-tracking-is-crucial-for-your-application" />
            <id>https://flareapp.io/blog/66-why-error-tracking-is-crucial-for-your-application</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Errors will inevitably occur in your application. There is no way around it. If you notice them while working locally, you can fix them immediately. However, it gets more tricky...]]>
            </summary>
                                    <updated>2023-09-11T11:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why error tracking is crucial for your application]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/why-error-tracking-is-crucial-for-your-application" />
            <id>https://flareapp.io/blog/why-error-tracking-is-crucial-for-your-application</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Errors will inevitably occur in your application. There is no way around it. If you notice them while working locally, you can fix them immediately. However, it gets more tricky...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A pixel-level image comparison with PHP]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/a-pixel-level-image-comparison-with-php" />
            <id>https://vanpachtenbeke.com/posts/a-pixel-level-image-comparison-with-php</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[A new package release which uses Pixelmatch under the hood.]]>
            </summary>
                                    <updated>2023-09-25T11:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Keeping Forge deploy script in version control]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/keeping-forge-deploy-script-in-version-control" />
            <id>https://sebastiandedeyne.com/keeping-forge-deploy-script-in-version-control</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I love Laravel Forge's quick deploy scripts. Forge allows you to set up a deploy script in their web interface and run it when you push to a git branch....]]>
            </summary>
                                    <updated>2023-09-05T16:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Forge deploy scripts in version control]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/forge-deploy-scripts-in-version-control" />
            <id>https://sebastiandedeyne.com/forge-deploy-scripts-in-version-control</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I love Laravel Forge's quick deploy scripts. Forge allows you to set up a deploy script in their web interface and run it when you push to a git branch....]]>
            </summary>
                                    <updated>2023-09-05T18:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Publishing this website on Cloudflare]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/publishing-this-website-on-cloudflare" />
            <id>https://vanpachtenbeke.com/posts/publishing-this-website-on-cloudflare</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[How I finally managed to finish and deploy a personal website instead of letting it end up in the digital graveyard with the others.]]>
            </summary>
                                    <updated>2023-09-22T17:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing the Mailcoach affiliate program]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/32-introducing-the-mailcoach-affiliate-program" />
            <id>https://mailcoach.app/blog/32-introducing-the-mailcoach-affiliate-program</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Earn money by referring people to Mailcoach.]]>
            </summary>
                                    <updated>2023-08-30T15:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing the Mailcoach affiliate program]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/introducing-the-mailcoach-affiliate-program" />
            <id>https://mailcoach.app/resources/blog/introducing-the-mailcoach-affiliate-program</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Earn money by referring people to Mailcoach.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing the Mailcoach affiliate program]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/introducing-the-mailcoach-affiliate-program" />
            <id>https://www.mailcoach.app/resources/blog/introducing-the-mailcoach-affiliate-program</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Join our affiliate program and earn money by referring people to Mailcoach. 💸]]>
            </summary>
                                    <updated>2026-03-11T15:51:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Craft emails that look good in each email client using MJML]]></title>
            <link rel="alternate" href="https://freek.dev/2549-craft-emails-that-look-good-in-each-email-client-using-mjml" />
            <id>https://freek.dev/2549-craft-emails-that-look-good-in-each-email-client-using-mjml</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In a perfect world, email clients can render HTML as good as major browsers. Unfortunately, this is not the case. Email clients don't support modern HTML and CSS niceties and...]]>
            </summary>
                                    <updated>2023-08-25T10:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Can we replace framer motion with scroll timelines?]]></title>
            <link rel="alternate" href="https://sams.land/a/replace-framer-motion-with-css" />
            <id>https://sams.land/a/replace-framer-motion-with-css</id>
            <author>
                <name><![CDATA[sams.land]]></name>
            </author>
            <summary type="html">
                <![CDATA[# Can we replace framer-motion with scroll timelines?
Last week I was playing with css animation timelines. They have the power to simplify web animations, but are they enough?

When...]]>
            </summary>
                                    <updated>2023-08-25T17:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing the Flare affiliate program]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/63-introducing-the-flare-affiliate-program" />
            <id>https://flareapp.io/blog/63-introducing-the-flare-affiliate-program</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're proud to announce that we have started our affiliate program
Using this program, you can generate a link (like https://flareapp. io?via=your-name) that you can include in your blog posts,...]]>
            </summary>
                                    <updated>2023-08-25T16:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[New teams will now see an example project]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/64-new-teams-will-now-see-an-example-project" />
            <id>https://flareapp.io/blog/64-new-teams-will-now-see-an-example-project</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When people first create their Flare account (or create a new team within their account), they are greeted with instructions on how to send a first error to Flare. They...]]>
            </summary>
                                    <updated>2023-08-25T17:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing the Flare affiliate program]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/introducing-the-flare-affiliate-program" />
            <id>https://flareapp.io/blog/introducing-the-flare-affiliate-program</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're proud to announce that we have started our affiliate program
Using this program, you can generate a link (like https://flareapp. io?via=your-name) that you can include in your blog posts,...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[New teams will now see an example project]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/new-teams-will-now-see-an-example-project" />
            <id>https://flareapp.io/blog/new-teams-will-now-see-an-example-project</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When people first create their Flare account (or create a new team within their account), they are greeted with instructions on how to send a first error to Flare. They...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[End the day with a failing test]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/end-the-day-with-a-failing-test" />
            <id>https://sebastiandedeyne.com/end-the-day-with-a-failing-test</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[A green test suite is a blank canvas, and a blank canvas is a paralyzing place to start.
A failing test is a pointer to the next step. When I...]]>
            </summary>
                                    <updated>2023-08-22T15:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Accessing additional validation data in Laravel]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/accessing-additional-validation-data-in-laravel" />
            <id>https://vanpachtenbeke.com/posts/accessing-additional-validation-data-in-laravel</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel's DataAwareRule interface allows us to access and utilize additional validation data]]>
            </summary>
                                    <updated>2023-09-22T17:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Semantic Commit Messages]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/semantic-commit-messages" />
            <id>https://vanpachtenbeke.com/posts/semantic-commit-messages</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[See how a minor change to your commit message style can make you a better programmer.]]>
            </summary>
                                    <updated>2023-09-22T17:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Pull request descriptions]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/pull-request-descriptions" />
            <id>https://sebastiandedeyne.com/pull-request-descriptions</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I used to leave pull request descriptions empty. "Let the code speak for itself" or "let the commits speak for themselves" are the perfect getaway from the extra work of...]]>
            </summary>
                                    <updated>2023-08-16T09:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Protecting against spam using Cloudflare Turnstile]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/28-protecting-against-spam-using-cloudflare-turnstile" />
            <id>https://mailcoach.app/blog/28-protecting-against-spam-using-cloudflare-turnstile</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[With Mailcoach, protecting your email list & subscription forms against spam is crucial to protect your sending reputation. Mailcoach now makes this easy by integrating with Cloudflare Turnstile, the privacy...]]>
            </summary>
                                    <updated>2023-08-16T11:00:10+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Protecting against spam using Cloudflare Turnstile]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/protecting-against-spam-using-cloudflare-turnstile" />
            <id>https://mailcoach.app/resources/blog/protecting-against-spam-using-cloudflare-turnstile</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[With Mailcoach, protecting your email list & subscription forms against spam is crucial to protect your sending reputation. Mailcoach now makes this easy by integrating with Cloudflare Turnstile, the privacy...]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Protecting against spam using Cloudflare Turnstile]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/protecting-against-spam-using-cloudflare-turnstile" />
            <id>https://www.mailcoach.app/resources/blog/protecting-against-spam-using-cloudflare-turnstile</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[With Mailcoach, protecting your email list & subscription forms against spam is crucial to protect your sending reputation. Mailcoach now makes this easy by integrating with Cloudflare Turnstile, the privacy...]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Tabular numbers]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/tabular-numbers" />
            <id>https://sebastiandedeyne.com/tabular-numbers</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[One of my favorite underrated (and underused!) CSS properties is font-variant-numeric: tabular-nums.
Tabular numbers are monospaced, which keeps their sizes consistent and keeps numbers with the same amount of digits...]]>
            </summary>
                                    <updated>2023-08-14T09:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Unveiling error notes and the activity feed]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/61-unveiling-error-notes-and-the-activity-feed" />
            <id>https://flareapp.io/blog/61-unveiling-error-notes-and-the-activity-feed</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today we're introducing the error activity feed. It shows you what happened with an error during its lifetime within Flare. When it was resolved, snoozed or reoccurred.
]]>
            </summary>
                                    <updated>2023-08-11T11:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Unveiling error notes and the activity feed]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/unveiling-error-notes-and-the-activity-feed" />
            <id>https://flareapp.io/blog/unveiling-error-notes-and-the-activity-feed</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today we're introducing the error activity feed. It shows you what happened with an error during its lifetime within Flare. When it was resolved, snoozed or reoccurred.
]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[We're a Sendgrid alternative focused on privacy and made in the EU]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/20-were-a-sendgrid-alternative-focused-on-privacy-and-made-in-the-eu" />
            <id>https://mailcoach.app/blog/20-were-a-sendgrid-alternative-focused-on-privacy-and-made-in-the-eu</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We believe that privacy should be respected and protected by all. With the increasing use of technology, ensuring that our personal information is secure and kept private has become more...]]>
            </summary>
                                    <updated>2023-08-08T16:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Description lists in Markdown]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/description-lists-in-markdown" />
            <id>https://sebastiandedeyne.com/description-lists-in-markdown</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[A lesser-known piece of Markdown syntax (and HTML) are description lists. Description lists are great for small bits of "key-value"-like information.

]]>
            </summary>
                                    <updated>2023-08-08T10:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Project management advice from Dune]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/project-management-advice-from-dune" />
            <id>https://sebastiandedeyne.com/project-management-advice-from-dune</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Apparently Frank Herbert's Dune can teach us lessons on product management:

Arrakis teaches the attitude of the knife - chopping off what's incomplete and saying: "Now, it's complete because...]]>
            </summary>
                                    <updated>2023-08-07T13:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we created those fancy animations on the Flare homepage]]></title>
            <link rel="alternate" href="https://freek.dev/2541-how-we-created-those-fancy-animations-on-the-flare-homepage" />
            <id>https://freek.dev/2541-how-we-created-those-fancy-animations-on-the-flare-homepage</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Some fancy tricks are being used to achieve this.


Read more]]>
            </summary>
                                    <updated>2023-08-04T12:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Web animation wizardry]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/62-web-animation-wizardry" />
            <id>https://flareapp.io/blog/62-web-animation-wizardry</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Picture this: a bunch of developers, most of them back-enders, are given a Figma design file to turn into the new homepage for Flare. We set out to build...]]>
            </summary>
                                    <updated>2023-08-02T14:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now log in or register using your GitHub or Google account]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/31-you-can-now-log-in-or-register-using-your-github-or-google-account" />
            <id>https://mailcoach.app/blog/31-you-can-now-log-in-or-register-using-your-github-or-google-account</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've just added the ability to use GitHub and Google oauth to log in or register to Mailcoach Cloud.]]>
            </summary>
                                    <updated>2023-07-31T14:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Web animation wizardry]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/web-animation-wizardry" />
            <id>https://flareapp.io/blog/web-animation-wizardry</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Picture this: a bunch of developers, most of them back-enders, are given a Figma design file to turn into the new homepage for Flare. We set out to build...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now log in or register using your GitHub or Google account]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/you-can-now-log-in-or-register-using-your-github-or-google-account" />
            <id>https://mailcoach.app/resources/blog/you-can-now-log-in-or-register-using-your-github-or-google-account</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've just added the ability to use GitHub and Google oauth to log in or register to Mailcoach.]]>
            </summary>
                                    <updated>2024-04-11T10:00:08+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Create a Mailcoach account with GitHub or Google]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/you-can-now-log-in-or-register-using-your-github-or-google-account" />
            <id>https://www.mailcoach.app/resources/blog/you-can-now-log-in-or-register-using-your-github-or-google-account</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We’ve just added the ability to use GitHub and Google OAuth to sign in or register with Mailcoach.]]>
            </summary>
                                    <updated>2026-03-11T15:51:30+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Postmark Rebound to improve handling of bounced emails]]></title>
            <link rel="alternate" href="https://freek.dev/2539-using-postmark-rebound-to-improve-handling-of-bounced-emails" />
            <id>https://freek.dev/2539-using-postmark-rebound-to-improve-handling-of-bounced-emails</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Whenever Oh Dear detects something wrong with your site, it can send you a notification. We have multiple channels available: Slack, Telegram, webhooks, and many more. The most popular...]]>
            </summary>
                                    <updated>2023-07-27T19:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Watch my Laracon US talk: Enjoying Laravel Data]]></title>
            <link rel="alternate" href="https://freek.dev/2538-watch-my-laracon-us-talk-enjoying-laravel-data" />
            <id>https://freek.dev/2538-watch-my-laracon-us-talk-enjoying-laravel-data</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's a recording of my talk that I gave Laracon US in Nashville a week ago.
]]>
            </summary>
                                    <updated>2023-07-27T17:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Granular events]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/granular-events" />
            <id>https://sebastiandedeyne.com/granular-events</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[When building a CRUD interface in an event sourced system, you'll come across the dilemma of how granular your events should be. Should you have a large PostUpdated event, or...]]>
            </summary>
                                    <updated>2023-07-27T09:07:36+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to use Mailcoach in your WordPress website]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/25-how-to-use-mailcoach-in-your-wordpress-website" />
            <id>https://mailcoach.app/blog/25-how-to-use-mailcoach-in-your-wordpress-website</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[This plugin allows you to easily embed forms on your WordPress website. This can be done on specific pages of your website using a shortcode, providing a seamless and user-friendly...]]>
            </summary>
                                    <updated>2023-07-25T12:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now log in using your Google or GitHub account]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/60-you-can-now-log-in-using-your-google-or-github-account" />
            <id>https://flareapp.io/blog/60-you-can-now-log-in-using-your-google-or-github-account</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[You can now register and log in to Flare using your Google or GitHub account.
You'll see these two new buttons on the register and login page.
]]>
            </summary>
                                    <updated>2023-07-25T11:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now log in using your Google or GitHub account]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/you-can-now-log-in-using-your-google-or-github-account" />
            <id>https://flareapp.io/blog/you-can-now-log-in-using-your-google-or-github-account</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[You can now register and log in to Flare using your Google or GitHub account.
You'll see these two new buttons on the register and login page.
]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Some geeky frontend notes on the Full Stack Artisan website]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/some-geeky-frontend-notes-on-the-full-stack-artisan-website/" />
            <id>https://sebastiandedeyne.com/some-geeky-frontend-notes-on-the-full-stack-artisan-website/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[At Laracon US we announced we’re working on a new course at Spatie: Full Stack Artisan.
In Full Stack Artisan, we’ll dive into building Laravel applications with Inertia, React,...]]>
            </summary>
                                    <updated>2023-07-21T16:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Some geeky frontend notes on the Full Stack Artisan website]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/some-geeky-frontend-notes-on-the-full-stack-artisan-website" />
            <id>https://sebastiandedeyne.com/some-geeky-frontend-notes-on-the-full-stack-artisan-website</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[At Laracon US we announced we're working on a new course at Spatie: Full Stack Artisan.
In Full Stack Artisan, we'll dive into building Laravel applications with Inertia, React,...]]>
            </summary>
                                    <updated>2023-07-27T09:07:36+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to display a subscription conformation message with CSS]]></title>
            <link rel="alternate" href="https://freek.dev/2532-how-to-display-a-subscription-conformation-message-with-css" />
            <id>https://freek.dev/2532-how-to-display-a-subscription-conformation-message-with-css</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's a cool think you can do using the :target selector


Read more]]>
            </summary>
                                    <updated>2023-07-19T22:00:02+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to display a subscription confirmation message with CSS]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/30-how-to-display-a-subscription-confirmation-message-with-css" />
            <id>https://mailcoach.app/blog/30-how-to-display-a-subscription-confirmation-message-with-css</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[CSS has a lesser-known :target selector to style an element that matches the element linked in the page hash. It's a great way to display a message without creating a...]]>
            </summary>
                                    <updated>2023-07-19T22:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to display a subscription conformation message with CSS]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/30-how-to-display-a-subscription-conformation-message-with-css" />
            <id>https://mailcoach.app/blog/30-how-to-display-a-subscription-conformation-message-with-css</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[CSS has a lesser-known :target selector to style an element that matches the element linked in the page hash. It's a great way to display a message without creating a...]]>
            </summary>
                                    <updated>2023-07-19T19:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to display a subscription confirmation message with CSS]]></title>
            <link rel="alternate" href="https://freek.dev/2532-how-to-display-a-subscription-confirmation-message-with-css" />
            <id>https://freek.dev/2532-how-to-display-a-subscription-confirmation-message-with-css</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's a cool think you can do using the :target selector


Read more]]>
            </summary>
                                    <updated>2023-07-27T10:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to display a subscription confirmation message with CSS]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/how-to-display-a-subscription-confirmation-message-with-css" />
            <id>https://mailcoach.app/resources/blog/how-to-display-a-subscription-confirmation-message-with-css</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[CSS has a lesser-known :target selector to style an element that matches the element linked in the page hash. It's a great way to display a message without creating a...]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Display a subscription confirmation message with CSS]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/how-to-display-a-subscription-confirmation-message-with-css" />
            <id>https://www.mailcoach.app/resources/blog/how-to-display-a-subscription-confirmation-message-with-css</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[CSS has a lesser-known :target selector to style an element that matches the element linked in the page hash. It’s a great way to display a message without creating a...]]>
            </summary>
                                    <updated>2026-03-11T15:51:30+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Explore the other side & learn a new language]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/explore-the-other-side-and-learn-a-new-language/" />
            <id>https://sebastiandedeyne.com/explore-the-other-side-and-learn-a-new-language/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you want to become a better programmer, my number one advice is to learn another programming language. The further away from your comfort zone the better.
The first language...]]>
            </summary>
                                    <updated>2023-07-18T09:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Explore the other side & learn a new language]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/explore-the-other-side-and-learn-a-new-language" />
            <id>https://sebastiandedeyne.com/explore-the-other-side-and-learn-a-new-language</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you want to become a better programmer, my number one advice is to learn another programming language. The further away from your comfort zone the better.

The first...]]>
            </summary>
                                    <updated>2023-07-27T09:07:36+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Beware of PHPUnit data providers with heavy setup methods]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/beware-of-phpunit-data-providers-with-heavy-setup-methods/" />
            <id>https://sebastiandedeyne.com/beware-of-phpunit-data-providers-with-heavy-setup-methods/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Data providers can be a perfect fit to assert a lot of expectations without writing a full test for each.
This makes it cheap and easy to add more test...]]>
            </summary>
                                    <updated>2023-07-17T23:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Managing production environment variables for Laravel deployments]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/59-managing-production-environment-variables-for-laravel-deployments" />
            <id>https://flareapp.io/blog/59-managing-production-environment-variables-for-laravel-deployments</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA["Secret secrets are no fun, secret secrets hurt someone" unless managed right in your Laravel deployment! For Flare, we explored alternative solutions to the classic . env files deployed with every...]]>
            </summary>
                                    <updated>2023-07-17T11:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Beware of PHPUnit data providers with heavy setup methods]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/beware-of-phpunit-data-providers-with-heavy-setup-methods" />
            <id>https://sebastiandedeyne.com/beware-of-phpunit-data-providers-with-heavy-setup-methods</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Data providers can be a perfect fit to assert a lot of expectations without writing a full test for each.
This makes it cheap and easy to add more test...]]>
            </summary>
                                    <updated>2023-07-27T09:07:36+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Managing production environment variables for Laravel deployments]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/managing-production-environment-variables-for-laravel-deployments" />
            <id>https://flareapp.io/blog/managing-production-environment-variables-for-laravel-deployments</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA["Secret secrets are no fun, secret secrets hurt someone" unless managed right in your Laravel deployment! For Flare, we explored alternative solutions to the classic . env files deployed with every...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Get notified when your Mailcoach webhooks fail]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/27-get-notified-when-your-mailcoach-webhooks-fail" />
            <id>https://mailcoach.app/blog/27-get-notified-when-your-mailcoach-webhooks-fail</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Failing webhooks are now handled more gracefully.]]>
            </summary>
                                    <updated>2023-07-11T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Get notified when your Mailcoach webhooks fail]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/get-notified-when-your-mailcoach-webhooks-fail" />
            <id>https://mailcoach.app/resources/blog/get-notified-when-your-mailcoach-webhooks-fail</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Failing webhooks are now handled more gracefully.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Get notified when your Mailcoach webhooks fail]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/get-notified-when-your-mailcoach-webhooks-fail" />
            <id>https://www.mailcoach.app/resources/blog/get-notified-when-your-mailcoach-webhooks-fail</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Failing webhooks are now handled more gracefully.]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we use CSS custom properties to customize your newsletter archive]]></title>
            <link rel="alternate" href="https://freek.dev/2523-how-we-use-css-custom-properties-to-customize-your-newsletter-archive" />
            <id>https://freek.dev/2523-how-we-use-css-custom-properties-to-customize-your-newsletter-archive</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's an interesting technique that we use in Mailcoach.


Read more]]>
            </summary>
                                    <updated>2023-07-03T15:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP stack trace arguments have landed in Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/58-php-stack-trace-arguments-have-landed-in-flare" />
            <id>https://flareapp.io/blog/58-php-stack-trace-arguments-have-landed-in-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Since Flare's beginning, we've shown you stack traces with each error you've sent us. These stack traces are exact copies of the traces generated by Ignition, the error page we...]]>
            </summary>
                                    <updated>2023-08-02T14:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Blogs, more than ever]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/blogs-more-than-ever/" />
            <id>https://sebastiandedeyne.com/blogs-more-than-ever/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[It’s been an odd few days with the changes on Reddit and Twitter – the only two major social media platforms I browse.
Platforms are great portals for discovery, but...]]>
            </summary>
                                    <updated>2023-07-02T14:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Blogs, more than ever]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/blogs-more-than-ever" />
            <id>https://sebastiandedeyne.com/blogs-more-than-ever</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[It's been an odd few days with the changes on Reddit and Twitter â the only two major social media platforms I browse.
Platforms are great portals for discovery, but...]]>
            </summary>
                                    <updated>2023-07-27T09:07:36+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP stack trace arguments have landed in Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/php-stack-trace-arguments-have-landed-in-flare" />
            <id>https://flareapp.io/blog/php-stack-trace-arguments-have-landed-in-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Since Flare's beginning, we've shown you stack traces with each error you've sent us. These stack traces are exact copies of the traces generated by Ignition, the error page we...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we use CSS custom properties to customize your newsletter archive]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/26-how-we-use-css-custom-properties-to-customize-your-newsletter-archive" />
            <id>https://mailcoach.app/blog/26-how-we-use-css-custom-properties-to-customize-your-newsletter-archive</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[With Mailcoach, you can create a customized archive website for your campaigns. To blend your website with the style of your newsletters, we support setting a primary color and theme....]]>
            </summary>
                                    <updated>2023-06-27T11:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP wishlist: Nested properties]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/php-wishlist-nested-properties/" />
            <id>https://sebastiandedeyne.com/php-wishlist-nested-properties/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Next on my PHP wishlist are nested properties. This idea is less realistic than others, it’s more me thinking out loud. I don’t have a good syntax proposal for...]]>
            </summary>
                                    <updated>2023-06-27T11:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP wishlist: Nested properties]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/php-wishlist-nested-properties" />
            <id>https://sebastiandedeyne.com/php-wishlist-nested-properties</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Next on my PHP wishlist are nested properties. This idea is less realistic than others, it's more me thinking out loud. I don't have a good syntax proposal for...]]>
            </summary>
                                    <updated>2023-07-27T09:07:36+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we use CSS custom properties to customize your newsletter archive]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/how-we-use-css-custom-properties-to-customize-your-newsletter-archive" />
            <id>https://mailcoach.app/resources/blog/how-we-use-css-custom-properties-to-customize-your-newsletter-archive</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[With Mailcoach, you can create a customized archive website for your campaigns. To blend your website with the style of your newsletters, we support setting a primary color and theme....]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we use CSS custom properties to customize your newsletter archive]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/how-we-use-css-custom-properties-to-customize-your-newsletter-archive" />
            <id>https://www.mailcoach.app/resources/blog/how-we-use-css-custom-properties-to-customize-your-newsletter-archive</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[With Mailcoach, you can create a customized archive website for your campaigns. To blend your website with the style of your newsletters, we support setting a primary color and theme....]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sending a request with HMAC SHA256 signature using Postman]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/sending-a-request-with-hmac-sha256-signatures-using-postman/" />
            <id>https://rubenvanassche.com/sending-a-request-with-hmac-sha256-signatures-using-postman/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today I was working on Flare, fixing a bug where a webhook payload didn&apos;t work. Webhooks allow applications to communicate with each other without constant polling for updates. When...]]>
            </summary>
                                    <updated>2023-06-21T12:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Thoughts on event sourcing: Replaying events]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/replaying-events/" />
            <id>https://sebastiandedeyne.com/replaying-events/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[When event sourcing, the stream of events is your source of truth where all data is derived from. When a user adds an item to their cart, an ItemWasAddedToCart event...]]>
            </summary>
                                    <updated>2023-06-20T11:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Thoughts on event sourcing: Replaying events]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/event-sourcing/replaying-events/" />
            <id>https://sebastiandedeyne.com/event-sourcing/replaying-events/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[When event sourcing, the stream of events is your source of truth where all data is derived from. When a user adds an item to their cart, an ItemWasAddedToCart event...]]>
            </summary>
                                    <updated>2023-06-20T12:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Thoughts on event sourcing: Replaying events]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/replaying-events" />
            <id>https://sebastiandedeyne.com/replaying-events</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[When event sourcing, the stream of events is your source of truth where all data is derived from. When a user adds an item to their cart, an ItemWasAddedToCart event...]]>
            </summary>
                                    <updated>2023-07-27T09:07:36+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sensitive parameters in PHP 8.2]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/sensitive-parameters-in-php-8-2/" />
            <id>https://rubenvanassche.com/sensitive-parameters-in-php-8-2/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[This post was first published on the Flare blog. When debugging errors, we as developers have a few tools available: an exception of a particular class, a message, a status code,...]]>
            </summary>
                                    <updated>2023-06-21T12:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel closure validation rules]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/laravel-closure-validation-rules/" />
            <id>https://sebastiandedeyne.com/laravel-closure-validation-rules/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today I was looking for a way to create a custom Laravel validation rule without the overhead of a new class. The rule I needed would only be used in...]]>
            </summary>
                                    <updated>2023-06-16T14:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel closure validation rules]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/laravel-closure-validation-rules" />
            <id>https://sebastiandedeyne.com/laravel-closure-validation-rules</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today I was looking for a way to create a custom Laravel validation rule without the overhead of a new class. The rule I needed would only be used in...]]>
            </summary>
                                    <updated>2023-07-27T09:07:36+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Visualising Laravel and Horizon metrics using Prometheus and Grafana]]></title>
            <link rel="alternate" href="https://freek.dev/2507-visualising-laravel-and-horizon-metrics-using-prometheus-and-grafana" />
            <id>https://freek.dev/2507-visualising-laravel-and-horizon-metrics-using-prometheus-and-grafana</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that we've released a new package called spatie/laravel-prometheus. Using this package, you can send all sorts of metrics (user counts, subscription counts, queue workloads) around...]]>
            </summary>
                                    <updated>2023-06-13T17:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Use ray()->trace() to figure out where a call came from]]></title>
            <link rel="alternate" href="https://freek.dev/2506-use-ray-trace-to-figure-out-where-a-call-came-from" />
            <id>https://freek.dev/2506-use-ray-trace-to-figure-out-where-a-call-came-from</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[An important problem of a programmer's productivity is finding his way through the code. A good project structure and your IDE can get you a long way, but sometimes it’s...]]>
            </summary>
                                    <updated>2023-06-12T15:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare redesigned]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/flare-redesigned/" />
            <id>https://sebastiandedeyne.com/flare-redesigned/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Last week, we launched a redesigned for Flare, our Laravel error tracker.
I contributed to the app UI, but most of the work was done by Digital With...]]>
            </summary>
                                    <updated>2023-06-12T11:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare redesigned]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/flare-redesigned" />
            <id>https://sebastiandedeyne.com/flare-redesigned</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Last week, we launched a redesigned for Flare, our Laravel error tracker.
I contributed to the app UI, but most of the work was done by Digital With...]]>
            </summary>
                                    <updated>2023-07-27T09:07:36+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare 2.0 has been launched!]]></title>
            <link rel="alternate" href="https://freek.dev/2504-flare-20-has-been-launched" />
            <id>https://freek.dev/2504-flare-20-has-been-launched</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[These past months, we've been busy redesigning our entire service. We're very proud to launch it today.

Read more]]>
            </summary>
                                    <updated>2023-06-09T18:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare and Ignition now offer AI-powered solutions]]></title>
            <link rel="alternate" href="https://freek.dev/2505-flare-and-ignition-now-offer-ai-powered-solutions" />
            <id>https://freek.dev/2505-flare-and-ignition-now-offer-ai-powered-solutions</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today, we're adding AI-powered solutions to Flare. This means we can suggest a solution for almost any error: the AI will likely suggest a helpful suggestion for most errors.


]]>
            </summary>
                                    <updated>2023-06-09T18:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Standards]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/mathias-verraes-standards/" />
            <id>https://sebastiandedeyne.com/mathias-verraes-standards/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[
Standards are useful, but after a while they represent the beliefs of the past, not the needs of the future.

A good quote from Mathias Verraes on...]]>
            </summary>
                                    <updated>2023-06-09T14:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[HTML button form attribute]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/html-button-form-attribute/" />
            <id>https://sebastiandedeyne.com/html-button-form-attribute/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Thanks to my colleague Sam I recently learned about the form attribute on the <button> element.
By setting a form attribute, the button becomes a submit button for a...]]>
            </summary>
                                    <updated>2023-06-09T11:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[HTML button form attribute]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/html-button-form-attribute" />
            <id>https://sebastiandedeyne.com/html-button-form-attribute</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Thanks to my colleague Sam I recently learned about the form attribute on the  element.
By setting a form attribute, the button becomes a submit button for a...]]>
            </summary>
                                    <updated>2023-07-27T09:07:36+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare and Ignition now offer AI-powered solutions]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/54-flare-and-ignition-now-offer-ai-powered-solutions" />
            <id>https://flareapp.io/blog/54-flare-and-ignition-now-offer-ai-powered-solutions</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[One of the unique features of Flare is that it can display solutions for your errors. In our code base, we try to detect specific error messages and display a...]]>
            </summary>
                                    <updated>2023-06-28T10:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare 2.0 has been launched!]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/52-flare-20-has-been-launched" />
            <id>https://flareapp.io/blog/52-flare-20-has-been-launched</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[These past months, we've been busy redesigning our entire service. We're very proud to launch it today. Long-time users will immediately notice that both our marketing website and application have...]]>
            </summary>
                                    <updated>2023-06-28T10:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare and Ignition now offer AI-powered solutions]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/flare-and-ignition-now-offer-ai-powered-solutions" />
            <id>https://flareapp.io/blog/flare-and-ignition-now-offer-ai-powered-solutions</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[One of the unique features of Flare is that it can display solutions for your errors. In our code base, we try to detect specific error messages and display a...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare 2.0 has been launched!]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/flare-20-has-been-launched" />
            <id>https://flareapp.io/blog/flare-20-has-been-launched</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[These past months, we've been busy redesigning our entire service. We're very proud to launch it today. Long-time users will immediately notice that both our marketing website and application have...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sensitive parameters in PHP 8.2]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/57-sensitive-parameters-in-php-82" />
            <id>https://flareapp.io/blog/57-sensitive-parameters-in-php-82</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When debugging errors, we as developers have a few tools available: an exception of a particular class, a message, a status code, and a stack trace. The stack trace is...]]>
            </summary>
                                    <updated>2023-06-28T10:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sensitive parameters in PHP 8.2]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/sensitive-parameters-in-php-82" />
            <id>https://flareapp.io/blog/sensitive-parameters-in-php-82</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When debugging errors, we as developers have a few tools available: an exception of a particular class, a message, a status code, and a stack trace. The stack trace is...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to quickly see which HTML is rendered by which Blade view]]></title>
            <link rel="alternate" href="https://freek.dev/2500-a-laravel-package-to-quickly-see-which-html-is-rendered-by-which-blade-view" />
            <id>https://freek.dev/2500-a-laravel-package-to-quickly-see-which-html-is-rendered-by-which-blade-view</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm happy to share that we have released our latest package, spatie/laravel-blade-comments.
This package can add comments to your rendered HTML output. For each Blade view that was used...]]>
            </summary>
                                    <updated>2023-05-30T15:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Changing your larger-than-average MySQL table]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/changing-your-larger-than-average-mysql-table/" />
            <id>https://rubenvanassche.com/changing-your-larger-than-average-mysql-table/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[This post was first published on the Flare blog. We&apos;re still working on our redesign and are close to release. Today we started tackling an issue where the performance of the...]]>
            </summary>
                                    <updated>2023-06-21T12:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Caching Inertia's SSR responses]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/56-caching-inertias-ssr-responses" />
            <id>https://flareapp.io/blog/56-caching-inertias-ssr-responses</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Inertia has been widespread among Laravel developers for a few years due to its seamless integration of front-end frameworks like Vue. js and React. However, the recent addition of SSR...]]>
            </summary>
                                    <updated>2023-06-28T10:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Caching Inertia's SSR responses]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/caching-inertias-ssr-responses" />
            <id>https://flareapp.io/blog/caching-inertias-ssr-responses</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Inertia has been widespread among Laravel developers for a few years due to its seamless integration of front-end frameworks like Vue. js and React. However, the recent addition of SSR...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare 2.0 is right around the corner]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/55-flare-20-is-right-around-the-corner" />
            <id>https://flareapp.io/blog/55-flare-20-is-right-around-the-corner</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare was launched almost four years ago. In human life, that's a short time, but for an online service, that's a lifetime.
Over the years, we had quite some ideas...]]>
            </summary>
                                    <updated>2023-06-28T10:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare 2.0 is right around the corner]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/flare-20-is-right-around-the-corner" />
            <id>https://flareapp.io/blog/flare-20-is-right-around-the-corner</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare was launched almost four years ago. In human life, that's a short time, but for an online service, that's a lifetime.
Over the years, we had quite some ideas...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Add Fathom Analytics or Google Analytics to your Mailcoach website]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/add-fathom-analytics-or-google-analytics-to-your-mailcoach-website" />
            <id>https://mailcoach.app/resources/blog/add-fathom-analytics-or-google-analytics-to-your-mailcoach-website</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Get insights into your newsletter archive visitors by adding a site ID]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Add Fathom Analytics or Google Analytics to your Mailcoach website]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/add-fathom-analytics-or-google-analytics-to-your-mailcoach-website" />
            <id>https://www.mailcoach.app/resources/blog/add-fathom-analytics-or-google-analytics-to-your-mailcoach-website</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Find out who is visiting your newsletter archive by adding Fathom Analytics or Google Analytics.]]>
            </summary>
                                    <updated>2026-03-11T15:51:30+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Changing your larger-than-average MySQL table]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/53-changing-your-larger-than-average-mysql-table" />
            <id>https://flareapp.io/blog/53-changing-your-larger-than-average-mysql-table</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're still working on our redesign and are close to release. Today we started tackling an issue where the performance of the error page was too slow for us. In...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Changing your larger-than-average MySQL table]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/changing-your-larger-than-average-mysql-table" />
            <id>https://flareapp.io/blog/changing-your-larger-than-average-mysql-table</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're still working on our redesign and are close to release. Today we started tackling an issue where the performance of the error page was too slow for us. In...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Add Fathom Analytics or Google Analytics to your Mailcoach website]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/23-add-fathom-analytics-or-google-analytics-to-your-mailcoach-website" />
            <id>https://mailcoach.app/blog/23-add-fathom-analytics-or-google-analytics-to-your-mailcoach-website</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Get insights into your newsletter archive visitors by adding a site ID]]>
            </summary>
                                    <updated>2023-05-12T00:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now hide parts of your email from webviews]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/22-you-can-now-hide-parts-of-your-email-from-webviews" />
            <id>https://mailcoach.app/blog/22-you-can-now-hide-parts-of-your-email-from-webviews</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[With this small new tag you can prevent parts of your email from appearing in the webview version of the email]]>
            </summary>
                                    <updated>2023-05-05T15:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now hide parts of your email from webviews]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/you-can-now-hide-parts-of-your-email-from-webviews" />
            <id>https://mailcoach.app/resources/blog/you-can-now-hide-parts-of-your-email-from-webviews</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[With this small new tag you can prevent parts of your email from appearing in the webview version of the email]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now hide parts of your email from webviews]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/you-can-now-hide-parts-of-your-email-from-webviews" />
            <id>https://www.mailcoach.app/resources/blog/you-can-now-hide-parts-of-your-email-from-webviews</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[This small new tag prevents parts of your email from appearing in the webview version of the email.]]>
            </summary>
                                    <updated>2026-03-11T15:51:30+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Worldwide Meetup: Introducing Laravel Splade - Quick Wins in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/2491-laravel-worldwide-meetup-introducing-laravel-splade-quick-wins-in-laravel" />
            <id>https://freek.dev/2491-laravel-worldwide-meetup-introducing-laravel-splade-quick-wins-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's the recording of the Laravel Worldwide Meetup which was held last week.

In this edition we had Pascal Baljet that introduced Splade. Our second speaker, Bert De...]]>
            </summary>
                                    <updated>2023-05-03T15:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Saying goodbye to WIP commit messages]]></title>
            <link rel="alternate" href="https://freek.dev/2487-saying-goodbye-to-wip-commit-messages" />
            <id>https://freek.dev/2487-saying-goodbye-to-wip-commit-messages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[There are two kinds of developers: those that write commit messages and value a repo's history and those that don't. I'm in the latter camp: most of my commit messages...]]>
            </summary>
                                    <updated>2023-04-30T15:00:02+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automatically clear Ray when running tests via PHPUnit or Pest]]></title>
            <link rel="alternate" href="https://freek.dev/2486-automatically-clear-ray-when-running-tests-via-phpunit-or-pest" />
            <id>https://freek.dev/2486-automatically-clear-ray-when-running-tests-via-phpunit-or-pest</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Learn how to automatically clear Ray's screen when running a test


Read more]]>
            </summary>
                                    <updated>2023-04-27T14:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Comparing two database columns in Laravel]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/comparing-two-database-columns-in-laravel/" />
            <id>https://sebastiandedeyne.com/comparing-two-database-columns-in-laravel/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[When you want to compare two database columns in Laravel, you can’t use where because it treats the argument you’re comparing to as a value.
Instead, Laravel has a whereColumn...]]>
            </summary>
                                    <updated>2023-04-19T09:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Fetching data to render complex graphs in Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/51-fetching-data-to-render-complex-graphs-in-flare" />
            <id>https://flareapp.io/blog/51-fetching-data-to-render-complex-graphs-in-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When tracking errors within your application, a visual indication of when errors are happing is essential in the debugging experience we're trying to provide.
Flare already had graphs on errors...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Fetching data to render complex graphs in Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/fetching-data-to-render-complex-graphs-in-flare" />
            <id>https://flareapp.io/blog/fetching-data-to-render-complex-graphs-in-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When tracking errors within your application, a visual indication of when errors are happing is essential in the debugging experience we're trying to provide.
Flare already had graphs on errors...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Analytics v5 with support for GA4 has been released]]></title>
            <link rel="alternate" href="https://freek.dev/2477-laravel-analytics-v5-with-support-for-ga4-has-been-released" />
            <id>https://freek.dev/2477-laravel-analytics-v5-with-support-for-ga4-has-been-released</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've released a new major version of our Laravel Analytics package. The most important new feature of this release is the support for GA4.

Exploring the package...]]>
            </summary>
                                    <updated>2023-04-06T14:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Eager load relations in Laravel using withWhereHas]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/eager-load-relations-in-laravel-using-with-where-has/" />
            <id>https://sebastiandedeyne.com/eager-load-relations-in-laravel-using-with-where-has/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[When using whereHas in Laravel, it’s not uncommon to also eager load the relation using with.
$posts = Post::query()
->with('author')
->whereHas('author', function (Builder $query) {
$query->where('name', 'Seb');
})
->get();...]]>
            </summary>
                                    <updated>2023-04-05T09:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Optimizing Flare]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/optimizing-flare/" />
            <id>https://rubenvanassche.com/optimizing-flare/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[This post first appeared on the Flare blog. Our whole team is currently working hard on the next version of Flare. We&apos;re completely redesigning the application and website, and it is...]]>
            </summary>
                                    <updated>2023-04-13T15:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Skipping tests conditionally in Pest]]></title>
            <link rel="alternate" href="https://freek.dev/2475-skipping-tests-conditionally-in-pest" />
            <id>https://freek.dev/2475-skipping-tests-conditionally-in-pest</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this blog post, I'd like to show the easiest way to skip tests conditionally in tests. Using the simple technique, which can be used for other things besides skipping...]]>
            </summary>
                                    <updated>2023-04-03T12:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Auto-tooting new posts with val town]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/auto-tooting-new-posts-with-val-town/" />
            <id>https://sebastiandedeyne.com/auto-tooting-new-posts-with-val-town/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Since this blog is a static site, I don’t have a server running to do something dynamic when I publish a new post. I was about to set up Zapier...]]>
            </summary>
                                    <updated>2023-04-03T09:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[🐟 Introducing Flare Roulette™]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/50-introducing-flare-roulette" />
            <id>https://flareapp.io/blog/50-introducing-flare-roulette</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Being a developer is hard. We're writing code throughout the day to find out at the end of the week that this code isn't working as expected. Sometimes, this can...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[🐟 Introducing Flare Roulette™]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/introducing-flare-roulette" />
            <id>https://flareapp.io/blog/introducing-flare-roulette</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Being a developer is hard. We're writing code throughout the day to find out at the end of the week that this code isn't working as expected. Sometimes, this can...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A CSS selector to highlight clickable elements]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/a-css-selector-to-highlight-clickable-elements/" />
            <id>https://sebastiandedeyne.com/a-css-selector-to-highlight-clickable-elements/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I was building wireframes for a website with HTML & CSS. Since it’s a prototype, not all actions are functional. When a visitor reviewing the prototype tries to click something...]]>
            </summary>
                                    <updated>2023-03-31T12:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Hyper key]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/hyper-key/" />
            <id>https://sebastiandedeyne.com/hyper-key/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I started using a hyper key on macOS. A hyper key is a single key mapped to Shift + Ctrl + Opt + Cmd. Since this isn’t exactly practical to...]]>
            </summary>
                                    <updated>2023-03-29T09:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Optimizing Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/49-optimizing-flare" />
            <id>https://flareapp.io/blog/49-optimizing-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our whole team is currently working hard on the next version of Flare. We're completely redesigning the application and website, and it is an immense effort, but it will undoubtedly...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Optimizing Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/optimizing-flare" />
            <id>https://flareapp.io/blog/optimizing-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our whole team is currently working hard on the next version of Flare. We're completely redesigning the application and website, and it is an immense effort, but it will undoubtedly...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[JavaScript gets Array grouping]]></title>
            <link rel="alternate" href="https://sams.land/a/array-grouping" />
            <id>https://sams.land/a/array-grouping</id>
            <author>
                <name><![CDATA[sams.land]]></name>
            </author>
            <summary type="html">
                <![CDATA[# JavaScript gets Array grouping
For a couple of years I have been writing the same array `map`, `filter`, `sort` and `reduce` callback functions.  Performing simple React state mutations and...]]>
            </summary>
                                    <updated>2023-03-22T20:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My first experiment with Svelte: Shorthex]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/my-first-experiment-with-svelte-shorthex/" />
            <id>https://sebastiandedeyne.com/my-first-experiment-with-svelte-shorthex/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[For the past few months, I’ve been experimenting with Svelte & SvelteKit. Svelte peaked my interest because it’s a tool molded by the web. A lot of Svelte...]]>
            </summary>
                                    <updated>2023-03-21T09:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[We've made our webhooks more powerful]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/21-weve-made-our-webhooks-more-powerful" />
            <id>https://mailcoach.app/blog/21-weve-made-our-webhooks-more-powerful</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In our latest Mailcoach update, we added some nice features to the Webhooks functionality.]]>
            </summary>
                                    <updated>2023-03-17T10:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now send webhooks from an email automation]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/19-you-can-now-send-webhooks-from-an-email-automation" />
            <id>https://mailcoach.app/blog/19-you-can-now-send-webhooks-from-an-email-automation</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[This unlock our automations to be used for other things besides sending emails]]>
            </summary>
                                    <updated>2023-03-17T10:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP & NGINX logs with Laravel Valet]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/php-nginx-logs-with-laravel-valet/" />
            <id>https://sebastiandedeyne.com/php-nginx-logs-with-laravel-valet/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Putting this in a blog post because I always forget.
To view PHP logs from Laravel Valet:
open ~/. config/valet/Log/php-fpm. log
To view NGINX logs from Laravel Valet:
]]>
            </summary>
                                    <updated>2023-03-17T11:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[We've made our webhooks more powerful]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/weve-made-our-webhooks-more-powerful" />
            <id>https://mailcoach.app/resources/blog/weve-made-our-webhooks-more-powerful</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In our latest Mailcoach update, we added some nice features to the Webhooks functionality.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[We've made our webhooks more powerful]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/weve-made-our-webhooks-more-powerful" />
            <id>https://www.mailcoach.app/resources/blog/weve-made-our-webhooks-more-powerful</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In our latest Mailcoach update, we added some nice features to the Webhooks functionality.]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Discovering PHP's first-class callable syntax]]></title>
            <link rel="alternate" href="https://freek.dev/2458-discovering-phps-first-class-callable-syntax" />
            <id>https://freek.dev/2458-discovering-phps-first-class-callable-syntax</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[When looking at recent changes in the Laravel framework, I saw some PHP syntax that I didn't see before. Because I've been working with PHP for over 20 years and...]]>
            </summary>
                                    <updated>2023-03-14T11:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[EU privacy friendly alternative to Sendgrid]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/20-eu-privacy-friendly-alternative-to-sendgrid" />
            <id>https://mailcoach.app/blog/20-eu-privacy-friendly-alternative-to-sendgrid</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We believe that privacy should be respected and protected by all. With the increasing use of technology, ensuring that our personal information is secure and kept private has become more...]]>
            </summary>
                                    <updated>2023-03-10T16:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Pest v2: see all new amazing features in action]]></title>
            <link rel="alternate" href="https://freek.dev/2454-pest-v2-see-all-new-amazing-features-in-action" />
            <id>https://freek.dev/2454-pest-v2-see-all-new-amazing-features-in-action</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[The release of Pest v2 is right around the corner. Pest creator Nuno Maduro and the rest of the Pest team are currently working hard improving the docs...]]>
            </summary>
                                    <updated>2023-03-10T14:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Scan for todos on a git branch]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/scan-todos-in-git/" />
            <id>https://sebastiandedeyne.com/scan-todos-in-git/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[When I’m working on a feature or refactor, I often leave @todo comments to remain in flow and deal with other points later.
I don’t mind committing them to my...]]>
            </summary>
                                    <updated>2023-03-10T08:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[We're a Sendgrid alternative focused on privacy and made in the EU]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/were-a-sendgrid-alternative-focused-on-privacy-and-made-in-the-eu" />
            <id>https://mailcoach.app/resources/blog/were-a-sendgrid-alternative-focused-on-privacy-and-made-in-the-eu</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We believe that privacy should be respected and protected by all. With the increasing use of technology, ensuring that our personal information is secure and kept private has become more...]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[We're a Sendgrid alternative focused on privacy and made in the EU]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/were-a-sendgrid-alternative-focused-on-privacy-and-made-in-the-eu" />
            <id>https://www.mailcoach.app/resources/blog/were-a-sendgrid-alternative-focused-on-privacy-and-made-in-the-eu</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We believe that privacy should be respected and protected by all. With the increasing use of technology, ensuring that our personal information is secure and kept private has become more...]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A preview of our upcoming redesign]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/a-preview-of-our-upcoming-redesign" />
            <id>https://flareapp.io/blog/a-preview-of-our-upcoming-redesign</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare was launched almost four years ago. In human life, that's not too long, but for a service, that's a lifetime. Over the years, we had quite some ideas on...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A preview of our upcoming redesign]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/48-a-preview-of-our-upcoming-redesign" />
            <id>https://flareapp.io/blog/48-a-preview-of-our-upcoming-redesign</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare was launched almost four years ago. In human life, that's not too long, but for a service, that's a lifetime. Over the years, we had quite some ideas on...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Resolving a new instance of a singleton in Laravel]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/new-instance-of-singleton-in-laravel/" />
            <id>https://sebastiandedeyne.com/new-instance-of-singleton-in-laravel/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[In Laravel, you can register a class as a singleton to always resolve the same object.
However, you might want to build another instance of the class. You could...]]>
            </summary>
                                    <updated>2023-03-07T19:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Preemptive Pluralization]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/preemptive-pluralization" />
            <id>https://vanpachtenbeke.com/posts/preemptive-pluralization</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Before you write any code — ask if you could ever possibly want multiple kinds of the thing you are coding. If yes, just do it. Now, not later.]]>
            </summary>
                                    <updated>2023-09-22T17:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Fixing nested validation in Laravel]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/fixing-nested-validation-in-laravel/" />
            <id>https://rubenvanassche.com/fixing-nested-validation-in-laravel/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[This post was first published on the Flare blog. Since the early days, Laravel includes an excellent validator class. It allows you to check if the input provided to your application...]]>
            </summary>
                                    <updated>2023-03-22T11:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Ray can now display the values of private properties]]></title>
            <link rel="alternate" href="https://freek.dev/2443-ray-can-now-display-the-values-of-private-properties" />
            <id>https://freek.dev/2443-ray-can-now-display-the-values-of-private-properties</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our handy Ray debugging app gained a cool new trick: it can now display the values of private properties and results of private methods.

Consider this simple class....]]>
            </summary>
                                    <updated>2023-03-03T15:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Strategies for making Laravel packages customizable]]></title>
            <link rel="alternate" href="https://freek.dev/2442-strategies-for-making-laravel-packages-customizable" />
            <id>https://freek.dev/2442-strategies-for-making-laravel-packages-customizable</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[While attending Laracon India, many people approached me to ask how we handle the maintenance of all our Spatie packages.
One of the ways we keep maintenance burden low is...]]>
            </summary>
                                    <updated>2023-03-03T14:00:02+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Casual Artisan Call February 2023]]></title>
            <link rel="alternate" href="https://freek.dev/2439-casual-artisan-call-february-2023" />
            <id>https://freek.dev/2439-casual-artisan-call-february-2023</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Christoph and I did another casual artisan call do talk about what's been keeping us busy.
]]>
            </summary>
                                    <updated>2023-03-14T15:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Fixing nested validation in Laravel]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/47-fixing-nested-validation-in-laravel" />
            <id>https://flareapp.io/blog/47-fixing-nested-validation-in-laravel</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Since the early days, Laravel includes an excellent validator class. It allows you to check if the input provided to your application is valid according a set of rules and...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Fixing nested validation in Laravel]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/fixing-nested-validation-in-laravel" />
            <id>https://flareapp.io/blog/fixing-nested-validation-in-laravel</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Since the early days, Laravel includes an excellent validator class. It allows you to check if the input provided to your application is valid according a set of rules and...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Log all notifications sent by your Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2437-log-all-notifications-sent-by-your-laravel-app" />
            <id>https://freek.dev/2437-log-all-notifications-sent-by-your-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've released a new package called Laravel Notification Log. True to its name, it will log when your Laravel app sends notifications. It also contains helpful methods to determine...]]>
            </summary>
                                    <updated>2023-02-26T07:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP wishlist: The pipe operator]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/php-wishlist-pipe-operator/" />
            <id>https://sebastiandedeyne.com/php-wishlist-pipe-operator/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Is it weird to have a favorite operator? Well, the pipe operator |> is mine. Not only does it look cool, it opens a world of possibilities for better code....]]>
            </summary>
                                    <updated>2023-03-03T12:29:18+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now send webhooks from an email automation]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/you-can-now-send-webhooks-from-an-email-automation" />
            <id>https://mailcoach.app/resources/blog/you-can-now-send-webhooks-from-an-email-automation</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[This unlock our automations to be used for other things besides sending emails]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now send webhooks from an email automation]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/you-can-now-send-webhooks-from-an-email-automation" />
            <id>https://www.mailcoach.app/resources/blog/you-can-now-send-webhooks-from-an-email-automation</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[This unlock our automations to be used for other things besides sending emails]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Screenshots]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/screenshots/" />
            <id>https://sebastiandedeyne.com/screenshots/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I like to browsing through past work when I’m in need of inspiration, trying to reflect on the present, or in a nostalgic mood. Not just finished work, the things...]]>
            </summary>
                                    <updated>2023-03-03T12:29:18+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now use webhooks in email automations]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/19-you-can-now-use-webhooks-in-email-automations" />
            <id>https://mailcoach.app/blog/19-you-can-now-use-webhooks-in-email-automations</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[This unlock our automations to be used for other things besides sending emails]]>
            </summary>
                                    <updated>2023-02-14T00:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Laravel Sanctum to create dynamic abilities]]></title>
            <link rel="alternate" href="https://freek.dev/2428-using-laravel-sanctum-to-create-dynamic-abilities" />
            <id>https://freek.dev/2428-using-laravel-sanctum-to-create-dynamic-abilities</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In Oh Dear, we recently added the ability to create fine-grained API tokens that are scoped by a model. Behind the scenes, it uses Laravel Sanctum to create...]]>
            </summary>
                                    <updated>2023-02-09T13:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating an onboarding email drip campaign using Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/18-creating-an-onboarding-email-drip-campaign-using-mailcoach" />
            <id>https://mailcoach.app/blog/18-creating-an-onboarding-email-drip-campaign-using-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Make use of Mailcoach powerful automations feature to welcome new users to your SaaS.]]>
            </summary>
                                    <updated>2023-02-06T16:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating an onboarding email drip campaign using Mailcoach]]></title>
            <link rel="alternate" href="https://freek.dev/2427-creating-an-onboarding-email-drip-campaign-using-mailcoach" />
            <id>https://freek.dev/2427-creating-an-onboarding-email-drip-campaign-using-mailcoach</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[One way to teach your audience the features you offer is by creating a drip campaign about all the features your platform offers. Better knowledge of all features hopefully leads...]]>
            </summary>
                                    <updated>2023-02-06T17:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating an onboarding email drip campaign using Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/creating-an-onboarding-email-drip-campaign-using-mailcoach" />
            <id>https://mailcoach.app/resources/blog/creating-an-onboarding-email-drip-campaign-using-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Make use of Mailcoach powerful automations feature to welcome new users to your SaaS.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating an onboarding email drip campaign using Mailcoach]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/creating-an-onboarding-email-drip-campaign-using-mailcoach" />
            <id>https://www.mailcoach.app/resources/blog/creating-an-onboarding-email-drip-campaign-using-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Make use of Mailcoach powerful automations to welcome new users to your product.]]>
            </summary>
                                    <updated>2026-03-11T15:51:30+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to integrate HelpSpace in your Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2404-a-package-to-integrate-helpspace-in-your-laravel-app" />
            <id>https://freek.dev/2404-a-package-to-integrate-helpspace-in-your-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm happy to announce that we've released another new package: spatie/laravel-help-space. This one makes it easy to populate a custom sidebar in HelpSpace with the data from your...]]>
            </summary>
                                    <updated>2023-01-27T13:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Give it five minutes]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/give-it-five-minutes" />
            <id>https://vanpachtenbeke.com/posts/give-it-five-minutes</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I stumbled upon this great 10-year-old article by Jason Fried on giving someone else's ideas a chance. Think before reacting to keep a creative mindset.]]>
            </summary>
                                    <updated>2023-09-22T17:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Eloquent: manipulating large chunks of data]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/eloquent-manipulating-large-chunks-of-data" />
            <id>https://vanpachtenbeke.com/posts/eloquent-manipulating-large-chunks-of-data</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel's data retrieval methods: get(), chunk(), and lazy(), compared through informal benchmarks. Understand memory and speed trade-offs.]]>
            </summary>
                                    <updated>2023-09-22T17:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to automatically copy deleted records to a separate table]]></title>
            <link rel="alternate" href="https://freek.dev/2416-a-package-to-automatically-copy-deleted-records-to-a-separate-table" />
            <id>https://freek.dev/2416-a-package-to-automatically-copy-deleted-records-to-a-separate-table</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've released a new package called spatie/laravel-deleted-models. When deleting a model, this package will copy over its attributes to a table called deleted_models.
You can view this package as...]]>
            </summary>
                                    <updated>2023-01-16T17:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to test Laravel's invokable rules]]></title>
            <link rel="alternate" href="https://freek.dev/2415-how-to-test-laravels-invokable-rules" />
            <id>https://freek.dev/2415-how-to-test-laravels-invokable-rules</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel 9 introduced a new way to create custom validation rules: invokable rules. It allows you to write a custom validation rule with only one method: __invoke.

Here's...]]>
            </summary>
                                    <updated>2023-01-15T23:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to improve initial page load time by deferring rendering Livewire components]]></title>
            <link rel="alternate" href="https://freek.dev/2405-how-to-improve-initial-page-load-time-by-deferring-rendering-livewire-components" />
            <id>https://freek.dev/2405-how-to-improve-initial-page-load-time-by-deferring-rendering-livewire-components</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Livewire is an amazing piece of technology. It is extensively used in two products I work on: Oh Dear and Mailcoach Cloud.
In this post, I'd like to...]]>
            </summary>
                                    <updated>2022-12-29T15:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now add custom attributes to subscribers]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/16-you-can-now-add-custom-attributes-to-subscribers" />
            <id>https://mailcoach.app/blog/16-you-can-now-add-custom-attributes-to-subscribers</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[You can now add custom attributes to subscribers]]>
            </summary>
                                    <updated>2022-12-21T15:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Create the perfect newsletter using conditional content]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/17-create-the-perfect-newsletter-using-conditional-content" />
            <id>https://mailcoach.app/blog/17-create-the-perfect-newsletter-using-conditional-content</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're proud to announce that you can now use conditional content when creating a newsletter/]]>
            </summary>
                                    <updated>2022-12-21T14:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Create the perfect newsletter using conditional content]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/create-the-perfect-newsletter-using-conditional-content" />
            <id>https://mailcoach.app/resources/blog/create-the-perfect-newsletter-using-conditional-content</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[We’re proud to announce that you can now use conditional content when creating a newsletter/]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Personalise newsletters using conditional content]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/create-the-perfect-newsletter-using-conditional-content" />
            <id>https://www.mailcoach.app/resources/blog/create-the-perfect-newsletter-using-conditional-content</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-11T15:51:30+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A recap of 2022]]></title>
            <link rel="alternate" href="https://freek.dev/2400-a-recap-of-2022" />
            <id>https://freek.dev/2400-a-recap-of-2022</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Like previous years, I'd like to take some time to look back on the things I did the past 12 months.

On a personal level...]]>
            </summary>
                                    <updated>2022-12-16T15:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Moving from Revue to Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/11-moving-from-revue-to-mailcoach" />
            <id>https://mailcoach.app/blog/11-moving-from-revue-to-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[The Twitter Revue newsletter service will shut down soon. Luckily you can easily move your audience over to Mailcoach.]]>
            </summary>
                                    <updated>2022-12-15T13:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now use Mailcoach without an external account]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/14-you-can-now-use-mailcoach-without-an-external-account" />
            <id>https://mailcoach.app/blog/14-you-can-now-use-mailcoach-without-an-external-account</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Getting started with Mailcoach now becomes much more easy.]]>
            </summary>
                                    <updated>2022-12-15T12:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to run Google Lighthouse using PHP]]></title>
            <link rel="alternate" href="https://freek.dev/2399-a-package-to-run-google-lighthouse-using-php" />
            <id>https://freek.dev/2399-a-package-to-run-google-lighthouse-using-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Google Lighthouse is an open-source, automated tool for improving the quality of web pages. It has audits for performance, accessibility, progressive web apps, SEO, and more.
Our newest package,...]]>
            </summary>
                                    <updated>2022-12-14T21:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now add custom attributes to subscribers]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/you-can-now-add-custom-attributes-to-subscribers" />
            <id>https://mailcoach.app/resources/blog/you-can-now-add-custom-attributes-to-subscribers</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[You can now add custom attributes to subscribers]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Add custom attributes to subscribers]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/you-can-now-add-custom-attributes-to-subscribers" />
            <id>https://www.mailcoach.app/resources/blog/you-can-now-add-custom-attributes-to-subscribers</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-11T15:51:30+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sending transactional mails using Mailcoach in a Laravel app ]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/15-sending-transactional-mails-using-mailcoach-in-a-laravel-app" />
            <id>https://mailcoach.app/blog/15-sending-transactional-mails-using-mailcoach-in-a-laravel-app</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Besides sending newsletters and drip campaigns, Mailcoach can take care of the transactional mails that your application needs to send out.]]>
            </summary>
                                    <updated>2022-12-12T16:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to upgrade to PHP 8.2 on Mac (and Laravel Valet)]]></title>
            <link rel="alternate" href="https://freek.dev/2398-how-to-upgrade-to-php-82-on-mac-and-laravel-valet" />
            <id>https://freek.dev/2398-how-to-upgrade-to-php-82-on-mac-and-laravel-valet</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Now that PHP 8.2 has been released, it's time to upgrade the PHP of your Mac.
If you're using Brew - which you probably are - there are...]]>
            </summary>
                                    <updated>2022-12-12T18:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Tailing multiple Laravel logs with Envoy]]></title>
            <link rel="alternate" href="https://rias.be/blog/tailing-multiple-laravel-logs-with-envoy" />
            <id>https://rias.be/blog/tailing-multiple-laravel-logs-with-envoy</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[When you have deployed your Laravel application across multiple servers, for example when running multiple workers, you can run into a situation where you need to quickly tail the log...]]>
            </summary>
                                    <updated>2022-12-12T18:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sending transactional mails using Mailcoach in a Laravel app ]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/sending-transactional-mails-using-mailcoach-in-a-laravel-app" />
            <id>https://mailcoach.app/resources/blog/sending-transactional-mails-using-mailcoach-in-a-laravel-app</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Besides sending newsletters and drip campaigns, Mailcoach can take care of the transactional mails that your application needs to send out.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sending transactional mails with Mailcoach in a Laravel app]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/sending-transactional-mails-using-mailcoach-in-a-laravel-app" />
            <id>https://www.mailcoach.app/resources/blog/sending-transactional-mails-using-mailcoach-in-a-laravel-app</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Besides sending newsletters and drip campaigns, Mailcoach can take care of the transactional mails that your application needs to send out.]]>
            </summary>
                                    <updated>2026-03-11T15:51:30+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sending transactional mail using Mailcoach in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2396-sending-transactional-mail-using-mailcoach-in-a-laravel-app" />
            <id>https://freek.dev/2396-sending-transactional-mail-using-mailcoach-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to share that we've released two new packages: spatie/laravel-mailcoach-mailer (for Laravel apps) and spatie/mailcoach-mailer (for all other PHP based apps).
Using these two packages, you can...]]>
            </summary>
                                    <updated>2022-12-08T16:00:02+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using the shadow DOM as a better iframe]]></title>
            <link rel="alternate" href="https://freek.dev/2394-using-the-shadow-dom-as-a-better-iframe" />
            <id>https://freek.dev/2394-using-the-shadow-dom-as-a-better-iframe</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's how we use the Shadow DOM to ensure layout from page doesn't affect the layout of a component.


Read more]]>
            </summary>
                                    <updated>2022-12-07T09:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now use Mailcoach without an external account]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/you-can-now-use-mailcoach-without-an-external-account" />
            <id>https://mailcoach.app/resources/blog/you-can-now-use-mailcoach-without-an-external-account</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Getting started with Mailcoach now becomes much more easy.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now use Mailcoach without an external account]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/you-can-now-use-mailcoach-without-an-external-account" />
            <id>https://www.mailcoach.app/resources/blog/you-can-now-use-mailcoach-without-an-external-account</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2026-03-11T15:51:30+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Achieving inbox zero.]]></title>
            <link rel="alternate" href="https://sams.land/a/achieving-inbox-zero" />
            <id>https://sams.land/a/achieving-inbox-zero</id>
            <author>
                <name><![CDATA[sams.land]]></name>
            </author>
            <summary type="html">
                <![CDATA[# Achieving inbox zero.

As a responsible 24-year-old I am finally cleaning up the +100K email inbox I've had since I was 8. My goal is to not only have...]]>
            </summary>
                                    <updated>2023-02-27T12:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using the shadow DOM as a better iframe]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/using-the-shadow-dom-as-a-better-iframe" />
            <id>https://mailcoach.app/resources/blog/using-the-shadow-dom-as-a-better-iframe</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Using the shadow DOM, we can ensure that the sent newsletter we display in the archive is not affected by the layout of our website.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using the shadow DOM as a better iframe]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/using-the-shadow-dom-as-a-better-iframe" />
            <id>https://www.mailcoach.app/resources/blog/using-the-shadow-dom-as-a-better-iframe</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Using the shadow DOM, we can ensure that the sent newsletter we display in the archive is not affected by the layout of our website.]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The making of the WWSD videos]]></title>
            <link rel="alternate" href="https://freek.dev/2388-the-making-of-the-wwsd-videos" />
            <id>https://freek.dev/2388-the-making-of-the-wwsd-videos</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We published a fun series of videos as a promo for our Black Friday sales. These videos are inspired by the more recent apple announcement videos. Let's take a...]]>
            </summary>
                                    <updated>2022-11-28T00:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Adding CORS headers to Laravel Valet]]></title>
            <link rel="alternate" href="https://rias.be/blog/adding-cors-headers-to-laravel-valet" />
            <id>https://rias.be/blog/adding-cors-headers-to-laravel-valet</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[When working on a project with subdomains, you can run into CORS issues locally when using Laravel Valet when your assets are on the main domain.]]>
            </summary>
                                    <updated>2022-11-23T17:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using the shadow DOM as a better iframe]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/13-using-the-shadow-dom-as-a-better-iframe" />
            <id>https://mailcoach.app/blog/13-using-the-shadow-dom-as-a-better-iframe</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Using the shadow DOM, we can ensure that the sent newsletter we display in the archive is not affected by the layout of our website.]]>
            </summary>
                                    <updated>2022-11-29T10:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[We've made another WWSD Video]]></title>
            <link rel="alternate" href="https://freek.dev/2386-weve-made-another-wwsd-video" />
            <id>https://freek.dev/2386-weve-made-another-wwsd-video</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[🏎️💨 Here's another WWSD video to promote the 50% discount we'll have today on Laravel Comments and Media Library Ppro. All other spatie product are discounted 30%....]]>
            </summary>
                                    <updated>2022-11-22T13:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Spatie's Black Friday sales have begun]]></title>
            <link rel="alternate" href="https://freek.dev/2385-spaties-black-friday-sales-have-begun" />
            <id>https://freek.dev/2385-spaties-black-friday-sales-have-begun</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We made a fun intro video to celebrate our Black Friday sales.

TLDR: All...]]>
            </summary>
                                    <updated>2022-11-21T16:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Leading slashes in .gitignore]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/leading-slashes-in-gitignore/" />
            <id>https://sebastiandedeyne.com/leading-slashes-in-gitignore/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[This is a friendly reminder to keep leading slashes in mind in . gitignore files.
The other day, I pulled down a project and couldn’t get the CSS to build because...]]>
            </summary>
                                    <updated>2023-03-03T12:29:18+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel and PHP developers to follow on Mastodon]]></title>
            <link rel="alternate" href="https://freek.dev/2384-laravel-and-php-developers-to-follow-on-mastodon" />
            <id>https://freek.dev/2384-laravel-and-php-developers-to-follow-on-mastodon</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I love Twitter and I will be there until the ship goes down. Unfortunately, there are some strong signals that it may go away for a while or...]]>
            </summary>
                                    <updated>2022-11-18T10:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Better code highlighting in Hugo with Torchlight]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/better-code-highlighting-in-hugo-with-torchlight/" />
            <id>https://sebastiandedeyne.com/better-code-highlighting-in-hugo-with-torchlight/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[During my latest redesign, I replaced Hugo’s default code highlighting with Torchlight. In this post, I’ll explain how I set up Torchlight CLI for my Hugo site. (Although...]]>
            </summary>
                                    <updated>2023-03-03T12:29:18+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Spatie WWSD 2022]]></title>
            <link rel="alternate" href="https://freek.dev/2383-spatie-wwsd-2022" />
            <id>https://freek.dev/2383-spatie-wwsd-2022</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've made a fun video to announce Spatie's Black Friday sales. Have a look!

...]]>
            </summary>
                                    <updated>2022-11-17T16:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing PHP 8.2: all new features and changes]]></title>
            <link rel="alternate" href="https://freek.dev/2382-introducing-php-82-all-new-features-and-changes" />
            <id>https://freek.dev/2382-introducing-php-82-all-new-features-and-changes</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP 8.2 has been released. It is a minor release compared to 8.0 and 8.1. This can be partly attributed to the departure of Nikita Popov as one...]]>
            </summary>
                                    <updated>2022-12-08T15:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mailcoach now offers beautiful newsletter websites]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/10-mailcoach-now-offers-beautiful-newsletter-websites" />
            <id>https://mailcoach.app/blog/10-mailcoach-now-offers-beautiful-newsletter-websites</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[This feature will help leading your audience to your older content.]]>
            </summary>
                                    <updated>2022-11-11T11:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mailcoach now offers beautiful newsletter websites]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/mailcoach-now-offers-beautiful-newsletter-websites" />
            <id>https://mailcoach.app/resources/blog/mailcoach-now-offers-beautiful-newsletter-websites</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[This feature will help leading your audience to your older content.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mailcoach now offers beautiful newsletter websites]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/mailcoach-now-offers-beautiful-newsletter-websites" />
            <id>https://www.mailcoach.app/resources/blog/mailcoach-now-offers-beautiful-newsletter-websites</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[This feature will help leading your audience to your older content.]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing our SDKs for PHP and Laravel]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/9-introducing-our-sdks-for-php-and-laravel" />
            <id>https://mailcoach.app/blog/9-introducing-our-sdks-for-php-and-laravel</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Both self-hosted Mailcoach and Mailcoach Cloud offer a powerful API to integrate Mailcoach's functionalities in your app. To hit the ground running, we now offer easy to use SDKs.]]>
            </summary>
                                    <updated>2022-11-10T12:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Mailcoach v6 has been released with a new UI and lots of improvements]]></title>
            <link rel="alternate" href="https://freek.dev/2369-laravel-mailcoach-v6-has-been-released-with-a-new-ui-and-lots-of-improvements" />
            <id>https://freek.dev/2369-laravel-mailcoach-v6-has-been-released-with-a-new-ui-and-lots-of-improvements</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're proud to announce that we have released v6 of the self-hosted version of Mailcoach.
If you have an active license, you'll be happy to know that this is...]]>
            </summary>
                                    <updated>2022-11-09T15:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing the Mailcoach SDKs for PHP and Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/2376-introducing-the-mailcoach-sdks-for-php-and-laravel" />
            <id>https://freek.dev/2376-introducing-the-mailcoach-sdks-for-php-and-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[You can now easily consume the Mailcoach API in your app using our SDK.


Read more]]>
            </summary>
                                    <updated>2022-11-09T11:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing our SDKs for PHP and Laravel]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/introducing-our-sdks-for-php-and-laravel" />
            <id>https://mailcoach.app/resources/blog/introducing-our-sdks-for-php-and-laravel</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Both self-hosted Mailcoach and Mailcoach offer a powerful API to integrate Mailcoach's functionalities in your app. To hit the ground running, we now offer easy to use SDKs.]]>
            </summary>
                                    <updated>2024-04-11T10:00:08+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing our SDKs for PHP and Laravel]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/introducing-our-sdks-for-php-and-laravel" />
            <id>https://www.mailcoach.app/resources/blog/introducing-our-sdks-for-php-and-laravel</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Both self-hosted Mailcoach and Mailcoach provide a powerful API for integrating Mailcoach functionality into your app. To help you get started, we now offer easy-to-use SDKs.]]>
            </summary>
                                    <updated>2026-03-11T15:51:30+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Keep your Filament admin dashboard fast by lazy loading widgets]]></title>
            <link rel="alternate" href="https://rias.be/blog/keep-your-filament-admin-dashboard-fast-by-lazy-loading-widgets" />
            <id>https://rias.be/blog/keep-your-filament-admin-dashboard-fast-by-lazy-loading-widgets</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Filament is a great admin panel for Laravel built with Livewire, one of its features is creating dashboard widgets to get quick stats of your application.]]>
            </summary>
                                    <updated>2022-11-07T15:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Wildcard subdomain SSL certificates with Let's Encrypt and Bunny DNS]]></title>
            <link rel="alternate" href="https://rias.be/blog/wildcard-subdomain-ssl-certificates-with-let-s-encrypt-and-bunny-dns" />
            <id>https://rias.be/blog/wildcard-subdomain-ssl-certificates-with-let-s-encrypt-and-bunny-dns</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Creating wildcard subdomain SSL certificates isn't that straightforward with Let's encrypt as a normal SSL certificate. As you need to prove you own the full domain before you can issue...]]>
            </summary>
                                    <updated>2022-11-01T14:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automatically restart Horizon when local PHP files change]]></title>
            <link rel="alternate" href="https://freek.dev/2367-automatically-restart-horizon-when-local-php-files-change" />
            <id>https://freek.dev/2367-automatically-restart-horizon-when-local-php-files-change</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've released a new package called spatie/laravel-horizon-watcher. This one can automatically restart Horizon after any code change.
In this post, I'd like to share why we've built and how...]]>
            </summary>
                                    <updated>2022-10-30T23:00:02+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Local or session storage?]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/local-or-session-storage/" />
            <id>https://sebastiandedeyne.com/local-or-session-storage/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Local storage tends to be the obvious place to persist data locally in a web application. We tend to grab straight for localStorage, but it’s not the only tool in...]]>
            </summary>
                                    <updated>2023-03-03T12:29:18+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to create drip campaigns and email automation in Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/8-how-to-create-drip-campaigns-and-email-automation-in-mailcoach" />
            <id>https://mailcoach.app/blog/8-how-to-create-drip-campaigns-and-email-automation-in-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[A major feature of Mailcoach is the ability to automate emails. Here's how you can use this feature and how we use it to promote our other Spatie products.]]>
            </summary>
                                    <updated>2022-10-26T12:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[🚀 Mailcoach Cloud is now available: affordable email marketing for bloggers, Artisans, and entrepreneurs]]></title>
            <link rel="alternate" href="https://freek.dev/2363-mailcoach-cloud-is-now-available-affordable-email-marketing-for-bloggers-artisans-and-entrepreneurs" />
            <id>https://freek.dev/2363-mailcoach-cloud-is-now-available-affordable-email-marketing-for-bloggers-artisans-and-entrepreneurs</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're proud to announce that Mailcoach Cloud has been launched. Using Mailcoach, you can create beautiful email campaigns, set up drip campaigns (or any email automation), and send transactional...]]>
            </summary>
                                    <updated>2022-10-26T11:00:02+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to create drip campaigns and email automation in Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/how-to-create-drip-campaigns-and-email-automation-in-mailcoach" />
            <id>https://mailcoach.app/resources/blog/how-to-create-drip-campaigns-and-email-automation-in-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[A major feature of Mailcoach is the ability to automate emails. Here's how you can use this feature and how we use it to promote our other Spatie products.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to create drip campaigns and email automation in Mailcoach]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/how-to-create-drip-campaigns-and-email-automation-in-mailcoach" />
            <id>https://www.mailcoach.app/resources/blog/how-to-create-drip-campaigns-and-email-automation-in-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[A major feature of Mailcoach is the ability to automate emails. Here's how you can use this feature and how we use it to promote our other Spatie products.]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[2022 redesign]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/2022-redesign/" />
            <id>https://sebastiandedeyne.com/2022-redesign/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[This blog’s design has remained roughly the same the past two years. I tweaked the style a lot, but changes were incremental and stay true to the neutral black and...]]>
            </summary>
                                    <updated>2023-03-03T12:29:18+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to add flags to Eloquent models]]></title>
            <link rel="alternate" href="https://freek.dev/2361-a-laravel-package-to-add-flags-to-eloquent-models" />
            <id>https://freek.dev/2361-a-laravel-package-to-add-flags-to-eloquent-models</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that our team has released a new package called spatie/laravel-model-flags. This one makes it easy to add flags to any model in your app.
In...]]>
            </summary>
                                    <updated>2022-10-21T13:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My current setup (end 2022 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/2357-my-current-setup-end-2022-edition" />
            <id>https://freek.dev/2357-my-current-setup-end-2022-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[After tweeting out a screenshot, it often get questions around which editor, font or color scheme I'm using. Instead of replying to those questions individually I've decided to...]]>
            </summary>
                                    <updated>2022-10-19T23:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Subscribe using Bancontact and Ideal]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/46-subscribe-using-bancontact-and-ideal" />
            <id>https://flareapp.io/blog/46-subscribe-using-bancontact-and-ideal</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[You might think every country has the same popular payment method, but that's not the case. In some countries, credit cards are pretty standard. In others, most people don't even...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using the Mailcoach Markdown editor in Filament]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/7-using-the-mailcoach-markdown-editor-in-filament" />
            <id>https://mailcoach.app/blog/7-using-the-mailcoach-markdown-editor-in-filament</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our newest package makes the Mailcoach Markdown editor easily installable in Filament.]]>
            </summary>
                                    <updated>2022-10-13T13:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Subscribe using Bancontact and Ideal]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/subscribe-using-bancontact-and-ideal" />
            <id>https://flareapp.io/blog/subscribe-using-bancontact-and-ideal</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[You might think every country has the same popular payment method, but that's not the case. In some countries, credit cards are pretty standard. In others, most people don't even...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using the Mailcoach Markdown editor in Filament]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/using-the-mailcoach-markdown-editor-in-filament" />
            <id>https://mailcoach.app/resources/blog/using-the-mailcoach-markdown-editor-in-filament</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our newest package makes the Mailcoach Markdown editor easily installable in Filament.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using the Mailcoach Markdown editor in Filament]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/using-the-mailcoach-markdown-editor-in-filament" />
            <id>https://www.mailcoach.app/resources/blog/using-the-mailcoach-markdown-editor-in-filament</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our newest package makes the Mailcoach Markdown editor easily installable in Filament.]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Providing faster support using auto-impersonation]]></title>
            <link rel="alternate" href="https://freek.dev/2356-providing-faster-support-using-auto-impersonation" />
            <id>https://freek.dev/2356-providing-faster-support-using-auto-impersonation</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In the SaaS'es I usually work on (Flare, Mailcoach Cloud, Oh Dear), we've recently introduced an improvement to how we handle support. We call it "auto-impersonation".
In...]]>
            </summary>
                                    <updated>2022-10-12T12:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automatically setup your favorite email provider in Mailcoach]]></title>
            <link rel="alternate" href="https://freek.dev/2355-automatically-setup-your-favorite-email-provider-in-mailcoach" />
            <id>https://freek.dev/2355-automatically-setup-your-favorite-email-provider-in-mailcoach</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In Mailcoach Cloud and the upcoming v6 of the self-hosted version of Mailcoach, we've made it much simpler to connect an email-sending service to Mailcoach.


Read more]]>
            </summary>
                                    <updated>2022-10-10T15:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automatically setup your favorite email provider in Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/6-automatically-setup-your-favorite-email-provider-in-mailcoach" />
            <id>https://mailcoach.app/blog/6-automatically-setup-your-favorite-email-provider-in-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In Mailcoach Cloud and the upcoming v6 of the self-hosted version of Mailcoach, we've made it much simpler to connect an email-sending service to Mailcoach.
In this blog post, we'd...]]>
            </summary>
                                    <updated>2022-10-10T12:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automatically setup your favorite email provider in Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/automatically-setup-your-favorite-email-provider-in-mailcoach" />
            <id>https://mailcoach.app/resources/blog/automatically-setup-your-favorite-email-provider-in-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In Mailcoach and the upcoming v6 of the self-hosted version of Mailcoach, we've made it much simpler to connect an email-sending service to Mailcoach.
In this blog post, we'd like...]]>
            </summary>
                                    <updated>2024-04-11T10:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automatically setup your favorite email provider in Mailcoach]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/automatically-setup-your-favorite-email-provider-in-mailcoach" />
            <id>https://www.mailcoach.app/resources/blog/automatically-setup-your-favorite-email-provider-in-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In Mailcoach and the upcoming v6 of the self-hosted version of Mailcoach, we’ve made it much easier to connect an email sending service to Mailcoach. In this blog post we’d...]]>
            </summary>
                                    <updated>2026-03-11T15:51:30+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using jobs instead of commands in the schedule of a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2352-using-jobs-instead-of-commands-in-the-schedule-of-a-laravel-app" />
            <id>https://freek.dev/2352-using-jobs-instead-of-commands-in-the-schedule-of-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In a standard Laravel application, you can schedule Artisan commands in your console kernel. While that works for most projects, we took a different route in Mailcoach. Instead of scheduling...]]>
            </summary>
                                    <updated>2022-10-04T15:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using jobs instead of commands in the schedule of a Laravel app]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/5-using-jobs-instead-of-commands-in-the-schedule-of-a-laravel-app" />
            <id>https://mailcoach.app/blog/5-using-jobs-instead-of-commands-in-the-schedule-of-a-laravel-app</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In a standard Laravel application, you can schedule Artisan commands in your console kernel. While that works for most projects, we took a different route in Mailcoach. Instead of scheduling...]]>
            </summary>
                                    <updated>2022-10-04T11:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Writing a newsletter in Markdown on Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/4-writing-a-newsletter-in-markdown-on-mailcoach" />
            <id>https://mailcoach.app/blog/4-writing-a-newsletter-in-markdown-on-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Using our Markdown editor, you can easily add links and other Markdown to any content. As a bonus, our Markdown editor also provides automatic code highlighting for hundreds of programming...]]>
            </summary>
                                    <updated>2022-10-04T10:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we scale our servers]]></title>
            <link rel="alternate" href="https://mailcoach.app/blog/3-how-we-scale-our-servers" />
            <id>https://mailcoach.app/blog/3-how-we-scale-our-servers</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Let's take a look at how we handle the server load that goes with sending a lot of emails.]]>
            </summary>
                                    <updated>2022-10-04T10:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using jobs instead of commands in the schedule of a Laravel app]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/using-jobs-instead-of-commands-in-the-schedule-of-a-laravel-app" />
            <id>https://mailcoach.app/resources/blog/using-jobs-instead-of-commands-in-the-schedule-of-a-laravel-app</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In a standard Laravel application, you can schedule Artisan commands in your console kernel. While that works for most projects, we took a different route in Mailcoach. Instead of scheduling...]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using jobs instead of commands in the schedule of a Laravel app]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/using-jobs-instead-of-commands-in-the-schedule-of-a-laravel-app" />
            <id>https://www.mailcoach.app/resources/blog/using-jobs-instead-of-commands-in-the-schedule-of-a-laravel-app</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[In a standard Laravel application, you can schedule Artisan commands in your console kernel. While that works for most projects, we took a different route in Mailcoach. Instead of scheduling...]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Oh Dear 2.0 has been launched]]></title>
            <link rel="alternate" href="https://freek.dev/2343-oh-dear-20-has-been-launched" />
            <id>https://freek.dev/2343-oh-dear-20-has-been-launched</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that we have launched a redesigned Oh Dear. If you're unfamiliar with Oh Dear, it's the best all-in-one monitoring tool for your entire website. You...]]>
            </summary>
                                    <updated>2022-10-03T13:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My process for writing the freek.dev newsletter]]></title>
            <link rel="alternate" href="https://freek.dev/2349-my-process-for-writing-the-freekdev-newsletter" />
            <id>https://freek.dev/2349-my-process-for-writing-the-freekdev-newsletter</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[My team and I are currently working on the hosted version of Mailcoach Cloud, which now is in public beta. Using the Markdown capabilities of Mailcoach and its API,...]]>
            </summary>
                                    <updated>2022-09-29T16:00:02+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we scale our servers]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/how-we-scale-our-servers" />
            <id>https://mailcoach.app/resources/blog/how-we-scale-our-servers</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Let's take a look at how we handle the server load that goes with sending a lot of emails.]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Writing a newsletter in Markdown on Mailcoach]]></title>
            <link rel="alternate" href="https://mailcoach.app/resources/blog/writing-a-newsletter-in-markdown-on-mailcoach" />
            <id>https://mailcoach.app/resources/blog/writing-a-newsletter-in-markdown-on-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Using our Markdown editor, you can easily add links and other Markdown to any content. As a bonus, our Markdown editor also provides automatic code highlighting for hundreds of programming...]]>
            </summary>
                                    <updated>2024-03-18T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we scale our servers]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/how-we-scale-our-servers" />
            <id>https://www.mailcoach.app/resources/blog/how-we-scale-our-servers</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Let's take a look at how we handle the server load that goes with sending a lot of emails.]]>
            </summary>
                                    <updated>2024-08-19T11:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Writing a newsletter in Markdown on Mailcoach]]></title>
            <link rel="alternate" href="https://www.mailcoach.app/resources/blog/writing-a-newsletter-in-markdown-on-mailcoach" />
            <id>https://www.mailcoach.app/resources/blog/writing-a-newsletter-in-markdown-on-mailcoach</id>
            <author>
                <name><![CDATA[mailcoach.app]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our Markdown editor makes it easy to add links and other markup to any content. As a bonus, our Markdown editor also provides automatic code highlighting for hundreds of programming...]]>
            </summary>
                                    <updated>2026-03-11T15:51:30+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to manage dynamic servers]]></title>
            <link rel="alternate" href="https://freek.dev/2344-a-package-to-manage-dynamic-servers" />
            <id>https://freek.dev/2344-a-package-to-manage-dynamic-servers</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that our team has released a new package called laravel-dynamic-servers.
This package can help start and stop servers when you need them. The prime use...]]>
            </summary>
                                    <updated>2022-09-26T15:00:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[I shall define this only once]]></title>
            <link rel="alternate" href="https://freek.dev/2335-i-shall-define-this-only-once" />
            <id>https://freek.dev/2335-i-shall-define-this-only-once</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's my talk on our popular Laravel Data package, which I gave at Laracon Online earlier this week.
]]>
            </summary>
                                    <updated>2022-09-18T18:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Named arguments]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/named-arguments/" />
            <id>https://sebastiandedeyne.com/named-arguments/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I shiver at the sight of a function packed with too-many-to-read-at-a-glance arguments without a description. Especially boolean flags. Boolean flags lack context. Look at this code, I have no idea...]]>
            </summary>
                                    <updated>2022-09-15T18:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating installer commands for Laravel packages]]></title>
            <link rel="alternate" href="https://freek.dev/2333-creating-installer-commands-for-laravel-packages" />
            <id>https://freek.dev/2333-creating-installer-commands-for-laravel-packages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[One of the joys of using packages in the Laravel ecosystem is how easy they are to install. Packages can be pulled in using Composer, and Laravel will automatically discover...]]>
            </summary>
                                    <updated>2022-09-08T23:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Getting information about all the models in your Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2332-getting-information-about-all-the-models-in-your-laravel-app" />
            <id>https://freek.dev/2332-getting-information-about-all-the-models-in-your-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that our team has released a new small package: spatie/laravel-model-info. Let's take a look at what this package can do.

Using laravel-model-info
This...]]>
            </summary>
                                    <updated>2022-09-07T11:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Granular interfaces]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/granular-interfaces/" />
            <id>https://sebastiandedeyne.com/granular-interfaces/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[A few weeks ago a spec change for an application we’re working on forced us to refactor part of the codebase. It was food for thought about the flexibility granular...]]>
            </summary>
                                    <updated>2023-03-03T12:29:18+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You might not need `useRef` for that]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/45-you-might-not-need-useref-for-that" />
            <id>https://flareapp.io/blog/45-you-might-not-need-useref-for-that</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[According to the React maintainers, React developers reach for the useEffect hook too quickly.  It is far from the only hook with many naive usages. Why won't we go...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You might not need useRef for that]]></title>
            <link rel="alternate" href="https://sams.land/a/you-might-not-need-useref-for-that" />
            <id>https://sams.land/a/you-might-not-need-useref-for-that</id>
            <author>
                <name><![CDATA[sams.land]]></name>
            </author>
            <summary type="html">
                <![CDATA[# You might not need useRef for that
According to the React maintainers, React developers [reach for the `useEffect` hook too quickly](https://beta. reactjs. org/learn/you-might-not-need-an-effect).  It is far from the only hook with...]]>
            </summary>
                                    <updated>2023-02-27T12:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You might not need `useRef` for that]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/you-might-not-need-useref-for-that" />
            <id>https://flareapp.io/blog/you-might-not-need-useref-for-that</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[According to the React maintainers, React developers reach for the useEffect hook too quickly.  It is far from the only hook with many naive usages. Why won't...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Increase performance by using Eloquent's `setRelation` method]]></title>
            <link rel="alternate" href="https://freek.dev/2311-increase-performance-by-using-eloquents-setrelation-method" />
            <id>https://freek.dev/2311-increase-performance-by-using-eloquents-setrelation-method</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[While working on the upcoming Oh Dear redesign, I noticed that list that displays all sites of a team was very slow.
To display that list, a lot of...]]>
            </summary>
                                    <updated>2022-08-04T16:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using markdown in HTML (in markdown) in Hugo]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/using-markdown-in-html-in-markdown-in-hugo/" />
            <id>https://sebastiandedeyne.com/using-markdown-in-html-in-markdown-in-hugo/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[The markdown specification allows you to inline HTML in a markdown document.
This is a regular paragraph.
<table>
<tr>
<td>Foo</td>
</tr>
</table>
This is another regular paragraph.
But once...]]>
            </summary>
                                    <updated>2023-03-03T12:29:18+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Making sure routes, config and events of your Laravel app are cached in production]]></title>
            <link rel="alternate" href="https://freek.dev/2300-making-sure-routes-config-and-events-of-your-laravel-app-are-cached-in-production" />
            <id>https://freek.dev/2300-making-sure-routes-config-and-events-of-your-laravel-app-are-cached-in-production</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[A typical Laravel application will likely have many routes, config files and possibly some events. In your development environment, these routes and config files will be loaded and registered in...]]>
            </summary>
                                    <updated>2022-07-18T15:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing our new Laravel Options package]]></title>
            <link rel="alternate" href="https://freek.dev/2287-introducing-our-new-laravel-options-package" />
            <id>https://freek.dev/2287-introducing-our-new-laravel-options-package</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[When developing web applications, you probably encounter a lot of places where someone needs to select one or more options in a select or multi-select. These select boxes always need...]]>
            </summary>
                                    <updated>2022-07-08T14:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Encrypting Laravel Eloquent models with CipherSweet]]></title>
            <link rel="alternate" href="https://rias.be/blog/encrypting-laravel-eloquent-models-with-ciphersweet" />
            <id>https://rias.be/blog/encrypting-laravel-eloquent-models-with-ciphersweet</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[In your project, you might store some sensitive personal or credential data in your database. Should an unauthorised person get access to your DB, all this sensitive can be read. To...]]>
            </summary>
                                    <updated>2022-07-01T16:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Laravel Vite to automatically refresh your browser when changing a Blade file]]></title>
            <link rel="alternate" href="https://freek.dev/2277-using-laravel-vite-to-automatically-refresh-your-browser-when-changing-a-blade-file" />
            <id>https://freek.dev/2277-using-laravel-vite-to-automatically-refresh-your-browser-when-changing-a-blade-file</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Yesterday, the Laravel team released the vite-plugin. Going forward, Vite will become the standard build tool for Laravel apps.
One of the cool features of this Vite integration is that...]]>
            </summary>
                                    <updated>2022-06-29T10:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Making Vite and Valet play nice together]]></title>
            <link rel="alternate" href="https://freek.dev/2276-making-vite-and-valet-play-nice-together" />
            <id>https://freek.dev/2276-making-vite-and-valet-play-nice-together</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Yesterday, the Laravel team launched the official vite-plugin. From now on, Vite will be the standard build tool for Laravel. The main benefits are vastly improved build times and...]]>
            </summary>
                                    <updated>2022-06-29T10:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Highlighting code using Sidecar & Shiki]]></title>
            <link rel="alternate" href="https://rias.be/blog/highlighting-code-using-sidecar-and-shiki" />
            <id>https://rias.be/blog/highlighting-code-using-sidecar-and-shiki</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[ShikiÂ is a beautiful syntax highlighter powered by the same language engine that many code editors use. We've just released a package that allows you to runÂ ShikiÂ ...]]>
            </summary>
                                    <updated>2022-06-27T11:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using the `Attachable` interface to attach any kind of file to a Mail in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2274-using-the-attachable-interface-to-attach-any-kind-of-file-to-a-mail-in-a-laravel-app" />
            <id>https://freek.dev/2274-using-the-attachable-interface-to-attach-any-kind-of-file-to-a-mail-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel 9 has gained a excellent new way to attach files in mails. Using the Attachable interface, you can specify what should happen when an object gets used as...]]>
            </summary>
                                    <updated>2022-06-26T23:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using the `Attachable` interface to attach any kind of object to a mail in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2274-using-the-attachable-interface-to-attach-any-kind-of-object-to-a-mail-in-a-laravel-app" />
            <id>https://freek.dev/2274-using-the-attachable-interface-to-attach-any-kind-of-object-to-a-mail-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel 9 has gained a excellent new way to attach files in mails. Using the Attachable interface, you can specify what should happen when an object gets used as...]]>
            </summary>
                                    <updated>2022-06-27T12:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to onboard your users]]></title>
            <link rel="alternate" href="https://rias.be/blog/laravel-package-to-onboard-your-users" />
            <id>https://rias.be/blog/laravel-package-to-onboard-your-users</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Onboarding your users is one of the most important things you can do in your SaaS or application. After all, first impressions matter!]]>
            </summary>
                                    <updated>2022-06-21T21:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Non-reactive data in Alpine.js]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/non-reactive-data-in-alpine-js/" />
            <id>https://sebastiandedeyne.com/non-reactive-data-in-alpine-js/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Sometimes you want to store data in your Alpine component without wrapping it in a JavaScript proxy (which is how Alpine keeps everything reactive).
For example, third party libraries...]]>
            </summary>
                                    <updated>2022-06-01T18:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using login links in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2258-using-login-links-in-a-laravel-app" />
            <id>https://freek.dev/2258-using-login-links-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that our team has launched a new package called spatie/laravel-login-link.
In this blog post, I'd like to tell you all about it.

What...]]>
            </summary>
                                    <updated>2022-05-30T13:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to add comments to your Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2256-a-package-to-add-comments-to-your-laravel-app" />
            <id>https://freek.dev/2256-a-package-to-add-comments-to-your-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that our team has released a new premium package called Laravel Comments. Using this package, you can set up a comments section in your Laravel...]]>
            </summary>
                                    <updated>2022-05-25T17:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to create Livewire powered wizards in no time]]></title>
            <link rel="alternate" href="https://freek.dev/2253-a-package-to-create-livewire-powered-wizards-in-no-time" />
            <id>https://freek.dev/2253-a-package-to-create-livewire-powered-wizards-in-no-time</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that our team has released a new package called laravel-livewire-wizard. Using this package, you can set up multi-step wizards quickly using Livewire.
The package is...]]>
            </summary>
                                    <updated>2022-05-23T12:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to add a spotlight-like search field to your Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2251-how-to-add-a-spotlight-like-search-field-to-your-laravel-app" />
            <id>https://freek.dev/2251-how-to-add-a-spotlight-like-search-field-to-your-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[As developers, we tend to like shortcuts to speed up our workflow. One of the tools I'm using to speed up doing stuff on my Mac is Raycast. It...]]>
            </summary>
                                    <updated>2022-05-19T17:00:08+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating PHP interfaces, traits, and classes dynamically at runtime]]></title>
            <link rel="alternate" href="https://freek.dev/2237-creating-php-interfaces-traits-and-classes-dynamically-at-runtime" />
            <id>https://freek.dev/2237-creating-php-interfaces-traits-and-classes-dynamically-at-runtime</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP is a wonderful dynamic language that's capable of many cool things. I recently stumbled upon something quite fantastic that I want to share with you.

In most projects...]]>
            </summary>
                                    <updated>2022-04-25T15:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[From PHPUnit To Pest]]></title>
            <link rel="alternate" href="https://freek.dev/2236-from-phpunit-to-pest" />
            <id>https://freek.dev/2236-from-phpunit-to-pest</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[A couple of months I go I had the honour giving a talk at the GPUG usergroup on how to convert a PHPUnit testsuite to Pest.
]]>
            </summary>
                                    <updated>2022-04-25T14:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Writing Readable PHP is now available]]></title>
            <link rel="alternate" href="https://freek.dev/2235-writing-readable-php-is-now-available" />
            <id>https://freek.dev/2235-writing-readable-php-is-now-available</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that our new premium course on writing readable PHP is now available. It's called Writing Readable PHP.
This course contains a collection of bite-size tips...]]>
            </summary>
                                    <updated>2022-04-20T14:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Learn how to write readable PHP that is a joy to maintain]]></title>
            <link rel="alternate" href="https://freek.dev/2235-learn-how-to-write-readable-php-that-is-a-joy-to-maintain" />
            <id>https://freek.dev/2235-learn-how-to-write-readable-php-that-is-a-joy-to-maintain</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that our new premium course on writing readable PHP is now available. It's called Writing Readable PHP.
This course contains a collection of bite-size tips...]]>
            </summary>
                                    <updated>2022-04-20T15:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Improve Passing Booleans in PHP]]></title>
            <link rel="alternate" href="https://freek.dev/2227-improve-passing-booleans-in-php" />
            <id>https://freek.dev/2227-improve-passing-booleans-in-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Passing booleans to a method can be code smell, as it is not clear what a boolean does by reading the calling code.

]]>
            </summary>
                                    <updated>2022-04-07T10:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The case for PHP generics ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/generics-in-php-4" />
            <id>https://stitcher.io/blog/generics-in-php-4</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I started this series by saying it’s not just about teaching you, it’s also about making my case for what I think is the most viable and the most...]]>
            </summary>
                                    <updated>2022-03-25T21:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why we can't have generics in PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/generics-in-php-3" />
            <id>https://stitcher.io/blog/generics-in-php-3</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We’re going to take a deep dive in what’s going on behind the scenes when it comes to generics and PHP. It’s super interesting, and very important to understand why...]]>
            </summary>
                                    <updated>2022-03-24T07:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Generics in depth ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/generics-in-php-2" />
            <id>https://stitcher.io/blog/generics-in-php-2</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I showed a very boring example of generics in the previous post, we’re going to do better in this one.
$users = new ]]>
            </summary>
                                    <updated>2022-03-23T08:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Generics in PHP: The basics ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/generics-in-php-1" />
            <id>https://stitcher.io/blog/generics-in-php-1</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Generics in PHP. I know I’d want them. And I know a lot of developers who agree. On the other hand, there is a group of PHP programmers, maybe even...]]>
            </summary>
                                    <updated>2022-03-22T08:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Avoid using else]]></title>
            <link rel="alternate" href="https://freek.dev/2212-avoid-using-else" />
            <id>https://freek.dev/2212-avoid-using-else</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Using else often encourages complexer code structure, makes code less readable. In most cases you can refactor it using early returns.

In this piece of code, it takes some...]]>
            </summary>
                                    <updated>2022-03-16T15:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now subscribe to Flare via SEPA Payments]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/44-you-can-now-subscribe-to-flare-via-sepa-payments" />
            <id>https://flareapp.io/blog/44-you-can-now-subscribe-to-flare-via-sepa-payments</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The SEPA direct debit payment system is a uniform payment system used by the European Union and a few other countries like the United Kingdom, Iceland, Norway and more. It...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now subscribe to Flare via SEPA Payments]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/you-can-now-subscribe-to-flare-via-sepa-payments" />
            <id>https://flareapp.io/blog/you-can-now-subscribe-to-flare-via-sepa-payments</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The SEPA direct debit payment system is a uniform payment system used by the European Union and a few other countries like the United Kingdom, Iceland, Norway and more. It...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Improved Laravel Blade support in Statamic 3.3]]></title>
            <link rel="alternate" href="https://rias.be/blog/improved-laravel-blade-support-in-statamic-3-3" />
            <id>https://rias.be/blog/improved-laravel-blade-support-in-statamic-3-3</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Statamic 3.3 has added some additional improvements to their Blade templates support, which makes using Statamic together with Laravel's native Blade templates truly a joy to work with.]]>
            </summary>
                                    <updated>2022-03-10T18:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Code that breathes]]></title>
            <link rel="alternate" href="https://freek.dev/2206-code-that-breathes" />
            <id>https://freek.dev/2206-code-that-breathes</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Have you ever needed to maintain a project that wasn't yours? A project that, when you first opened it, gave you chills down your spine? Even without reading the code...]]>
            </summary>
                                    <updated>2022-03-09T16:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Running PHPUnit tests in parallel using GitHub actions]]></title>
            <link rel="alternate" href="https://rias.be/blog/running-phpunit-tests-in-parallel-using-github-actions" />
            <id>https://rias.be/blog/running-phpunit-tests-in-parallel-using-github-actions</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[One of our projects has a really large test suite that isn't optimised to run with Laravel's parallel testing. It was starting to take more than 15 minutes to have...]]>
            </summary>
                                    <updated>2022-03-02T16:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mocking Browsershot for faster tests]]></title>
            <link rel="alternate" href="https://rias.be/blog/mocking-browsershot-for-faster-tests" />
            <id>https://rias.be/blog/mocking-browsershot-for-faster-tests</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Spatie's Browsershot is a wonderful package that uses puppeteer to render a web page to transform it into an image or PDF. Having this functionality covered by tests...]]>
            </summary>
                                    <updated>2022-03-02T17:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Exploring Termwind Internals]]></title>
            <link rel="alternate" href="https://freek.dev/2195-exploring-termwind-internals" />
            <id>https://freek.dev/2195-exploring-termwind-internals</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this stream on YouTube, Francisco Madeira, co-creator of Termwind, guides me through the source code of his amazing package to style content on the CLI
]]>
            </summary>
                                    <updated>2022-02-22T13:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Composable seeders in Laravel with callOnce]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/composable-laravel-seeders-with-callonce/" />
            <id>https://sebastiandedeyne.com/composable-laravel-seeders-with-callonce/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel 9 is fresh out the door, and it contains a small contribution of mine: a new callOnce method for database seeders.
It solves a problem with seeders I’ve...]]>
            </summary>
                                    <updated>2022-02-25T11:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A CLI tool to monitor GitHub Actions]]></title>
            <link rel="alternate" href="https://freek.dev/2196-a-cli-tool-to-monitor-github-actions" />
            <id>https://freek.dev/2196-a-cli-tool-to-monitor-github-actions</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to share that our team has launched a new CLI tool called GitHub Actions Watcher.

Using this tool, you can monitor the results of all your...]]>
            </summary>
                                    <updated>2022-02-21T18:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to automatically discover routes in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2170-a-package-to-automatically-discover-routes-in-a-laravel-app" />
            <id>https://freek.dev/2170-a-package-to-automatically-discover-routes-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that our team has released a new package called spatie/laravel-route-discovery. This package can be used to automatically discover and register routes by looking at your...]]>
            </summary>
                                    <updated>2022-02-10T21:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP in 2021 (video) ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-in-2021-video" />
            <id>https://stitcher.io/blog/php-in-2021-video</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Back in December, I made this video looking back on PHP in 2021. You can watch it (make sure to like and subscribe if you liked it), or you...]]>
            </summary>
                                    <updated>2022-01-24T14:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to quickly send Slack alerts in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2172-a-package-to-quickly-send-slack-alerts-in-a-laravel-app" />
            <id>https://freek.dev/2172-a-package-to-quickly-send-slack-alerts-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our team has released a small package called spatie/laravel-slack-alerts. It can be used to send a message to Slack quickly. In this blog post, I'd like to share why...]]>
            </summary>
                                    <updated>2022-01-21T13:00:04+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A better error page for Symfony applications]]></title>
            <link rel="alternate" href="https://freek.dev/2169-a-better-error-page-for-symfony-applications" />
            <id>https://freek.dev/2169-a-better-error-page-for-symfony-applications</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Ignition is the most beautiful error page for PHP apps. Yesterday, we launched a new major version of Ignition - you can check out all the details in ]]>
            </summary>
                                    <updated>2022-01-19T16:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Dealing with dependencies ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/dealing-with-dependencies" />
            <id>https://stitcher.io/blog/dealing-with-dependencies</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[This post was originally sent to my newsletter.
I've written a lot about PHP 8.1 these past months. Not just about the release itself, but also about how important...]]>
            </summary>
                                    <updated>2022-01-19T07:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Ignition, the most beautiful error page for Laravel and PHP, got a major redesign]]></title>
            <link rel="alternate" href="https://freek.dev/2168-ignition-the-most-beautiful-error-page-for-laravel-and-php-got-a-major-redesign" />
            <id>https://freek.dev/2168-ignition-the-most-beautiful-error-page-for-laravel-and-php-got-a-major-redesign</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to share that our team has released a new major version of Ignition, the most beautiful error page for Laravel and PHP. It has been redesigned from the...]]>
            </summary>
                                    <updated>2022-01-18T20:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA["It's your fault" ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/its-your-fault" />
            <id>https://stitcher.io/blog/its-your-fault</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I read an intriguing blog post yesterday. It's an old one dating back to 2008, titled "Even if a function doesn’t do anything, you still have to call it...]]>
            </summary>
                                    <updated>2022-02-02T07:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Twitter home made me miserable ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/twitter-home-made-me-miserable" />
            <id>https://stitcher.io/blog/twitter-home-made-me-miserable</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[This post was originally sent to my newsletter in November, 2021. I wanted to share it here as well, just to hear some more thoughts.

Two months...]]>
            </summary>
                                    <updated>2022-01-14T09:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How I plan ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/how-i-plan" />
            <id>https://stitcher.io/blog/how-i-plan</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I love getting mail. If you're a regular reader of this blog, you probably know that by now. I received a mail today from Muhammad, asking me a question...]]>
            </summary>
                                    <updated>2022-01-13T10:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP in 2022 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-in-2022" />
            <id>https://stitcher.io/blog/php-in-2022</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[It's the fourth time I'm writing a yearly "PHP in 20XX" post, and I must admit I've never been as excited about it as this year: we've seen awesome new...]]>
            </summary>
                                    <updated>2022-01-13T10:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Blade & View Models]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/laravel-blade-view-models/" />
            <id>https://sebastiandedeyne.com/laravel-blade-view-models/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[A view model represents data for a specific view or page. In its simplest form, a view model is a plain PHP object with a bunch of (typed) properties.
]]>
            </summary>
                                    <updated>2022-01-10T07:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP version stats: January, 2022 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-version-stats-january-2022" />
            <id>https://stitcher.io/blog/php-version-stats-january-2022</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[It's that time again: my biyearly summary of which PHP versions are used across the community. It's been 6 months since my previous post and during that time ]]>
            </summary>
                                    <updated>2022-01-10T10:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A recap of 2021]]></title>
            <link rel="alternate" href="https://freek.dev/2155-a-recap-of-2021" />
            <id>https://freek.dev/2155-a-recap-of-2021</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Now that we are in the final days of 2021, let's take a look back at that stuff my team and I did in 2021.

On a personal...]]>
            </summary>
                                    <updated>2021-12-23T14:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using MySQL `order by` while keeping one value at the end]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/using-mysql-order-by-while-keeping-one-value-at-the-end/" />
            <id>https://sebastiandedeyne.com/using-mysql-order-by-while-keeping-one-value-at-the-end/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[The other day I needed to sort a dataset in MySQL and ensure one value was always at the end. I never fully understood how order by works, so I...]]>
            </summary>
                                    <updated>2021-12-16T10:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we improved Flare in 2021]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/43-how-we-improved-flare-in-2021" />
            <id>https://flareapp.io/blog/43-how-we-improved-flare-in-2021</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The main goal of Flare is to be the best error tracking for Laravel applications. When we launched Flare, we offered a lot of niceties like decompiled Blade views, solutions...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we improved Flare in 2021]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/how-we-improved-flare-in-2021" />
            <id>https://flareapp.io/blog/how-we-improved-flare-in-2021</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The main goal of Flare is to be the best error tracking for Laravel applications. When we launched Flare, we offered a lot of niceties like decompiled Blade views, solutions...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Fixing the dreaded "'pcre2.h' file not found" error when installing imagick]]></title>
            <link rel="alternate" href="https://freek.dev/2151-fixing-the-dreaded-pcre2h-file-not-found-error-when-installing-imagick" />
            <id>https://freek.dev/2151-fixing-the-dreaded-pcre2h-file-not-found-error-when-installing-imagick</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Whenever I upgrade PHP, I seem to have troubles installing imagick. This command
pecl install imagick

always results in an error "'pcre2.h'...]]>
            </summary>
                                    <updated>2022-01-18T16:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to monitor the health of your application]]></title>
            <link rel="alternate" href="https://freek.dev/2143-a-laravel-package-to-monitor-the-health-of-your-application" />
            <id>https://freek.dev/2143-a-laravel-package-to-monitor-the-health-of-your-application</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that we've released a new package called Laravel Health. As the name implies, this package can be used to monitor the health of your Laravel...]]>
            </summary>
                                    <updated>2021-12-13T17:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A bash function to run tests for both PHPUnit and Pest]]></title>
            <link rel="alternate" href="https://freek.dev/2142-a-bash-function-to-run-tests-for-both-phpunit-and-pest" />
            <id>https://freek.dev/2142-a-bash-function-to-run-tests-for-both-phpunit-and-pest</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I've used this little bash alias for many years to quickly run the tests inside of a project.
alias p="vendor/bin/phpunit"...]]>
            </summary>
                                    <updated>2022-01-18T16:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Better support for Livewire in Flare and Ignition]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/42-better-support-for-livewire-in-flare-and-ignition" />
            <id>https://flareapp.io/blog/42-better-support-for-livewire-in-flare-and-ignition</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Livewire is quickly gaining traction in the Laravel ecosystem. It allows you to write dynamic web applications without ever even having to touch JavaScript! That's why we've decided to bring...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Better support for Livewire in Flare and Ignition]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/better-support-for-livewire-in-flare-and-ignition" />
            <id>https://flareapp.io/blog/better-support-for-livewire-in-flare-and-ignition</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Livewire is quickly gaining traction in the Laravel ecosystem. It allows you to write dynamic web applications without ever even having to touch JavaScript! That's why we've decided to bring...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Grouping SQL errors]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/grouping-sql-errors/" />
            <id>https://rubenvanassche.com/grouping-sql-errors/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[This post first appeared on the Flare blog. Flare gets a lot of errors every day. To keep a good overview, we try to group them as best as possible because...]]>
            </summary>
                                    <updated>2023-03-22T11:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Upgrade to PHP 8.1 with Homebrew on Mac ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-81-upgrade-mac" />
            <id>https://stitcher.io/blog/php-81-upgrade-mac</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
    
        I'm creating a four-part mini-series on YouTube about generics in PHP: what they are, how we can use them today, and what's possible in the future....]]>
            </summary>
                                    <updated>2022-03-16T13:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What's new in PHP 8.1 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/new-in-php-81" />
            <id>https://stitcher.io/blog/new-in-php-81</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP 8.1 was released on November 25, 2021. It's currently the latest PHP version. In this post, we'll go through all features, performance improvements, changes and deprecations one...]]>
            </summary>
                                    <updated>2021-12-02T12:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8.1: real-life performance benchmarks ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-81-performance-in-real-life" />
            <id>https://stitcher.io/blog/php-81-performance-in-real-life</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I did a very quick performance test because I wanted to know the impact of PHP 8.1 on my real-life projects.
These benchmarks were taken on my local machine, and...]]>
            </summary>
                                    <updated>2021-11-25T08:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A conversation on the future of PHP]]></title>
            <link rel="alternate" href="https://freek.dev/2138-a-conversation-on-the-future-of-php" />
            <id>https://freek.dev/2138-a-conversation-on-the-future-of-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Earlier this week the PHP Foundation was announced. In this stream on GitHub, my buddies Christoph Rumpel, James Brooks and I discuss what we think this means for the...]]>
            </summary>
                                    <updated>2021-11-24T18:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Our improved changelog workflow for packages]]></title>
            <link rel="alternate" href="https://freek.dev/2136-our-improved-changelog-workflow-for-packages" />
            <id>https://freek.dev/2136-our-improved-changelog-workflow-for-packages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[For years, my team and I manually updated the changelog for our 250+ packages. Recently, we've improved how we go about this.
In this blog post, I'd like to...]]>
            </summary>
                                    <updated>2022-01-18T16:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Eloquent findOrFail caveats]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/eloquent-find-or-fail-caveats/" />
            <id>https://sebastiandedeyne.com/eloquent-find-or-fail-caveats/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I use Model::findOrFail a lot in Laravel. Recently, I realized it’s not always the best option.
findOrFail is great because it ensures you’ll end up with a model instance. No...]]>
            </summary>
                                    <updated>2021-11-23T16:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Grouping SQL errors]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/41-grouping-sql-errors" />
            <id>https://flareapp.io/blog/41-grouping-sql-errors</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare gets a lot of errors every day. To keep a good overview, we try to group them as best as possible because you don't want to end with thousands...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Grouping SQL errors]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/grouping-sql-errors" />
            <id>https://flareapp.io/blog/grouping-sql-errors</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare gets a lot of errors every day. To keep a good overview, we try to group them as best as possible because you don't want to end with thousands...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Package Training v2 is now available]]></title>
            <link rel="alternate" href="https://freek.dev/2131-laravel-package-training-v2-is-now-available" />
            <id>https://freek.dev/2131-laravel-package-training-v2-is-now-available</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I am excited to share that my team and I have just launched v2.0 of our Laravel Package Training video course.
Here's a the introductory video for the course:...]]>
            </summary>
                                    <updated>2022-01-18T16:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8.1 in 8 code blocks ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-81-in-8-code-blocks" />
            <id>https://stitcher.io/blog/php-81-in-8-code-blocks</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[enum Status
{
    case draft;
    case published;
    case archived;
    
    public ]]>
            </summary>
                                    <updated>2021-11-06T08:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Generics in PHP (video) ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/generics-in-php-video" />
            <id>https://stitcher.io/blog/generics-in-php-video</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I made this video about generics last week, you can watch it (make sure to like and subscribe if you liked it), or you can read the transcript here if...]]>
            </summary>
                                    <updated>2021-11-06T08:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to test that an Eloquent model actually exists]]></title>
            <link rel="alternate" href="https://freek.dev/2100-how-to-test-that-an-eloquent-model-actually-exists" />
            <id>https://freek.dev/2100-how-to-test-that-an-eloquent-model-actually-exists</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In your tests, you might have used assertDatabaseHas to make sure that a model actual is persisted.

it('will not...]]>
            </summary>
                                    <updated>2022-01-18T16:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Measuring caffeine intake at Spatie]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2021/measuring-caffeine-intake-at-spatie" />
            <id>https://alexvanderbist.com/2021/measuring-caffeine-intake-at-spatie</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[For a while now, we've had some empty space on our office dashboard. One of the more interesting ideas that we came up with, is a tile that can count...]]>
            </summary>
                                    <updated>2024-04-11T16:01:43+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare's new "job" tab knows all about your failed jobs]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/38-flares-new-job-tab-knows-all-about-your-failed-jobs" />
            <id>https://flareapp.io/blog/38-flares-new-job-tab-knows-all-about-your-failed-jobs</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today we've deployed our latest set of features! This includes a new "job" tab with a ton of extra context for failed jobs:

Ignition's...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare's new "job" tab knows all about your failed jobs]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/flares-new-job-tab-knows-all-about-your-failed-jobs" />
            <id>https://flareapp.io/blog/flares-new-job-tab-knows-all-about-your-failed-jobs</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today we've deployed our latest set of features! This includes a new "job" tab with a ton of extra context for failed jobs:

Ignition's...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Worldwide Meetup #11: Building APIs & Models/Spotlight With Livewire]]></title>
            <link rel="alternate" href="https://freek.dev/2120-laravel-worldwide-meetup-11-building-apis-modelsspotlight-with-livewire" />
            <id>https://freek.dev/2120-laravel-worldwide-meetup-11-building-apis-modelsspotlight-with-livewire</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's the recording of the latest edition of the Laravel Worldwide meetup. Philo Hermans showed off two great Livewire packages that he made. Steve McDougall did a cool live coding...]]>
            </summary>
                                    <updated>2021-10-28T16:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My current setup (end 2021 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/2119-my-current-setup-end-2021-edition" />
            <id>https://freek.dev/2119-my-current-setup-end-2021-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[My current setup (end 2021 edition)
After tweeting out a screenshot, it often get questions around which editor, font or color scheme I'm using. Instead of replying to...]]>
            </summary>
                                    <updated>2022-01-18T16:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Avoid describing your data multiple times in a Laravel app using laravel-data]]></title>
            <link rel="alternate" href="https://freek.dev/2118-avoid-describing-your-data-multiple-times-in-a-laravel-app-using-laravel-data" />
            <id>https://freek.dev/2118-avoid-describing-your-data-multiple-times-in-a-laravel-app-using-laravel-data</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In the vast majority of applications you work with data structures. Sometimes that data is described multiple times. Think for instance of a form request that tries to validate a...]]>
            </summary>
                                    <updated>2021-10-28T11:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The case for route attributes ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/route-attributes" />
            <id>https://stitcher.io/blog/route-attributes</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I've been thinking about route attributes lately. By doing so, I came to realise that I've got a somewhat strange relation with annotations a.k.a. attributes. Over the years, I've...]]>
            </summary>
                                    <updated>2021-10-27T15:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Faking HTTP requests in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/2099-faking-http-requests-in-laravel" />
            <id>https://freek.dev/2099-faking-http-requests-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Have you ever had to write an API integration from scratch? Where you're managing the HTTP calls yourself instead of being able to rely on third-party packages?

You might...]]>
            </summary>
                                    <updated>2022-01-18T16:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Three types of mocks]]></title>
            <link rel="alternate" href="https://freek.dev/2098-three-types-of-mocks" />
            <id>https://freek.dev/2098-three-types-of-mocks</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Mocking, faking; these might sound like intimidating words if you don't know what they are about, but once you do, you'll be able to improve your testing skills significantly.
Part...]]>
            </summary>
                                    <updated>2022-01-18T16:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to crawl and index content of your sites]]></title>
            <link rel="alternate" href="https://freek.dev/2106-a-laravel-package-to-crawl-and-index-content-of-your-sites" />
            <id>https://freek.dev/2106-a-laravel-package-to-crawl-and-index-content-of-your-sites</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[The newly released spatie/laravel-site-search package can crawl and index the content of one or more sites. You can think of it as a private Google search for your sites....]]>
            </summary>
                                    <updated>2021-10-19T13:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Factory sequences in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/2097-using-factory-sequences-in-laravel" />
            <id>https://freek.dev/2097-using-factory-sequences-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[One of the things I really like about modern Laravel projects, are the new model factories introduced in Laravel 8.

When writing complex tests, you often need quite a...]]>
            </summary>
                                    <updated>2022-01-18T16:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Replacing Keytar with Electron's safeStorage in Ray]]></title>
            <link rel="alternate" href="https://freek.dev/2103-replacing-keytar-with-electrons-safestorage-in-ray" />
            <id>https://freek.dev/2103-replacing-keytar-with-electrons-safestorage-in-ray</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Ray is an app we built at Spatie to make debugging your applications easier and faster. Being web developers, we naturally decided to write this app in Electron, which...]]>
            </summary>
                                    <updated>2021-10-18T15:00:10+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Making 1Password understand where your change password page is located]]></title>
            <link rel="alternate" href="https://freek.dev/2104-making-1password-understand-where-your-change-password-page-is-located" />
            <id>https://freek.dev/2104-making-1password-understand-where-your-change-password-page-is-located</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[A few days ago, a new version of 1Password was released that is able to detect where a user can reset his or her password.

This is how it...]]>
            </summary>
                                    <updated>2022-01-18T16:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Asserting valid and invalid requests in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/2096-asserting-valid-and-invalid-requests-in-laravel" />
            <id>https://freek.dev/2096-asserting-valid-and-invalid-requests-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Testing a Laravel project is one of the most pleasant experiences I've ever had: there's a clean testing API, a very powerful layer added on top of testing frameworks; all...]]>
            </summary>
                                    <updated>2021-10-12T18:00:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8.1: new in initializers ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-81-new-in-inititalizers" />
            <id>https://stitcher.io/blog/php-81-new-in-inititalizers</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP 8.1 adds a feature that might seem like a small detail, but one that I think will have a significant day-by-day impact on many people. So what's this "new...]]>
            </summary>
                                    <updated>2021-10-09T13:00:08+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8.1: new in initializers ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-81-new-in-initializers" />
            <id>https://stitcher.io/blog/php-81-new-in-initializers</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP 8.1 adds a feature that might seem like a small detail, but one that I think will have a significant day-by-day impact on many people. So what's this "new...]]>
            </summary>
                                    <updated>2021-11-06T08:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a better search with Monaco and amCharts]]></title>
            <link rel="alternate" href="https://freek.dev/2091-building-a-better-search-with-monaco-and-amcharts" />
            <id>https://freek.dev/2091-building-a-better-search-with-monaco-and-amcharts</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[At Flare, we launched a new search experience. We have a very cool search field with autocompletions (powered by the rendering engine behind VS Code), and a very smooth graph...]]>
            </summary>
                                    <updated>2021-09-30T13:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a better search with Monaco and amCharts]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/36-building-a-better-search-with-monaco-and-amcharts" />
            <id>https://flareapp.io/blog/36-building-a-better-search-with-monaco-and-amcharts</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[A couple of months ago we refactored a considerable part of Flare's search to better utilise ElasticSearch's amazing search capabilities. We introduced better filters with autocompletion and fuzzy matching. Using...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a better search with Monaco and amCharts]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/building-a-better-search-with-monaco-and-amcharts" />
            <id>https://flareapp.io/blog/building-a-better-search-with-monaco-and-amcharts</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[A couple of months ago we refactored a considerable part of Flare's search to better utilise ElasticSearch's amazing search capabilities. We introduced better filters with autocompletion and fuzzy matching. Using...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Worldwide Meetup #10: A Little Bit of Lamba & Pest To Perfection]]></title>
            <link rel="alternate" href="https://freek.dev/2090-laravel-worldwide-meetup-10-a-little-bit-of-lamba-pest-to-perfection" />
            <id>https://freek.dev/2090-laravel-worldwide-meetup-10-a-little-bit-of-lamba-pest-to-perfection</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[This edition of the meetup features those two excellent talks:
A Little Bit of Lambda (by Aaron Francis)
Pest to Perfection (by Luke Downing)
]]>
            </summary>
                                    <updated>2021-09-29T13:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Worldwide Meetup #10: A Little Bit of Lambda & Pest To Perfection]]></title>
            <link rel="alternate" href="https://freek.dev/2090-laravel-worldwide-meetup-10-a-little-bit-of-lambda-pest-to-perfection" />
            <id>https://freek.dev/2090-laravel-worldwide-meetup-10-a-little-bit-of-lambda-pest-to-perfection</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[This edition of the meetup features those two excellent talks:

A Little Bit of Lambda (by Aaron Francis)
Pest to Perfection (by Luke Downing)

]]>
            </summary>
                                    <updated>2022-01-18T16:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing our new Telegram integration]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/37-introducing-our-new-telegram-integration" />
            <id>https://flareapp.io/blog/37-introducing-our-new-telegram-integration</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When something goes wrong in your application, Flare can notify you via various channels: mail, SMS, Slack, webhooks, ...
A lot of teams nowadays use Telegram to communicate, and we...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing our new Telegram integration]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/introducing-our-new-telegram-integration" />
            <id>https://flareapp.io/blog/introducing-our-new-telegram-integration</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When something goes wrong in your application, Flare can notify you via various channels: mail, SMS, Slack, webhooks, ...
A lot of teams nowadays use Telegram to communicate, and we...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to convert a PHPUnit Testsuite to Pest]]></title>
            <link rel="alternate" href="https://freek.dev/2088-how-to-convert-a-phpunit-testsuite-to-pest" />
            <id>https://freek.dev/2088-how-to-convert-a-phpunit-testsuite-to-pest</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[While recording videos for the Testing Laravel video course, I became a big fan of Pest, a test runner that tries to optimize the developer experience. I'm now...]]>
            </summary>
                                    <updated>2021-09-27T10:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a simple dashboard using Tailwind]]></title>
            <link rel="alternate" href="https://freek.dev/2083-building-a-simple-dashboard-using-tailwind" />
            <id>https://freek.dev/2083-building-a-simple-dashboard-using-tailwind</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this stream, Shruti Balasa show how powerful Tailwind is. She builds a simple dashboard layout in only a couple of minutes.]]>
            </summary>
                                    <updated>2021-09-21T10:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The birth and death of a framework ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/birth-and-death-of-a-framework" />
            <id>https://stitcher.io/blog/birth-and-death-of-a-framework</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
    This post was first released on my newsletter. Feel free to subscribe if you want to be the first to see these kinds of posts, and...]]>
            </summary>
                                    <updated>2021-10-27T15:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Strategies for decreasing the number of queries in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2075-strategies-for-decreasing-the-number-of-queries-in-a-laravel-app" />
            <id>https://freek.dev/2075-strategies-for-decreasing-the-number-of-queries-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Oh Dear is all-in-one solution to monitor your site that my buddy Mattias Geniar and I have created. It can monitoring uptime, certificates, broken links, scheduled jobs, and much...]]>
            </summary>
                                    <updated>2021-09-13T22:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Linking to Flare errors on your error page]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/35-linking-to-flare-errors-on-your-error-page" />
            <id>https://flareapp.io/blog/35-linking-to-flare-errors-on-your-error-page</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've launched a new feature that will make it easier for users of your app to report specific errors.
When an error occurs in a web request, Laravel will show...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Linking to Flare errors on your error page]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/linking-to-flare-errors-on-your-error-page" />
            <id>https://flareapp.io/blog/linking-to-flare-errors-on-your-error-page</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've launched a new feature that will make it easier for users of your app to report specific errors.
When an error occurs in a web request, Laravel will show...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8.1: readonly properties ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-81-readonly-properties" />
            <id>https://stitcher.io/blog/php-81-readonly-properties</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Writing data transfer objects and value objects in PHP has become significantly easier over the years. Take for example a look at a DTO in PHP 5.6:
]]>
            </summary>
                                    <updated>2021-09-11T13:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Source diving Pest Parallel Testing]]></title>
            <link rel="alternate" href="https://freek.dev/2066-source-diving-pest-parallel-testing" />
            <id>https://freek.dev/2066-source-diving-pest-parallel-testing</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this stream, Luke Downing shows us around in the source code of Pest parallel plugin he created.]]>
            </summary>
                                    <updated>2021-09-13T17:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing a new package to add a support form to your app]]></title>
            <link rel="alternate" href="https://freek.dev/2062-introducing-a-new-package-to-add-a-support-form-to-your-app" />
            <id>https://freek.dev/2062-introducing-a-new-package-to-add-a-support-form-to-your-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've created a new package that can render a beautiful support form widget on any page. You can read more about the package in this blog post at...]]>
            </summary>
                                    <updated>2021-09-02T15:00:08+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Handling customer feedback using a support bubble form]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/34-handling-customer-feedback-using-a-support-bubble-form" />
            <id>https://flareapp.io/blog/34-handling-customer-feedback-using-a-support-bubble-form</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Like most pieces of software, Flare contains bugs. We try to catch those via automated/manual testing, and static analysis. But sometimes, one of those pesky bugs makes it to production...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Handling customer feedback using a support bubble form]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/handling-customer-feedback-using-a-support-bubble-form" />
            <id>https://flareapp.io/blog/handling-customer-feedback-using-a-support-bubble-form</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Like most pieces of software, Flare contains bugs. We try to catch those via automated/manual testing, and static analysis. But sometimes, one of those pesky bugs makes it to production...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My IKEA clock, and software design ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/my-ikea-clock" />
            <id>https://stitcher.io/blog/my-ikea-clock</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[This is my bedside clock:

I've had this IKEA clock for 14 years now — that's...]]>
            </summary>
                                    <updated>2021-09-01T09:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[re: On using PSR abstractions ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/re-on-using-psr-abstractions" />
            <id>https://stitcher.io/blog/re-on-using-psr-abstractions</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Yesterday, I read Matthias Noback's excellent blog post on PSR abstractions, and I'd like to share some thoughts on the topic as well.
I'm going to quote the...]]>
            </summary>
                                    <updated>2021-08-31T10:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to test a form in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/2061-how-to-test-a-form-in-a-laravel-app" />
            <id>https://freek.dev/2061-how-to-test-a-form-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this video, my colleague Brent explains a good way to test a form in a Laravel app.]]>
            </summary>
                                    <updated>2021-08-30T21:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Named arguments and open source projects ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/named-arguments-and-variadic-functions" />
            <id>https://stitcher.io/blog/named-arguments-and-variadic-functions</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[There are a few well known open source maintainers within the PHP community against the use of named arguments, citing maintenance overhead and backwards compatibility problems as reasons not...]]>
            </summary>
                                    <updated>2021-08-26T11:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Cool Laravel Testing Techniques]]></title>
            <link rel="alternate" href="https://freek.dev/2059-cool-laravel-testing-techniques" />
            <id>https://freek.dev/2059-cool-laravel-testing-techniques</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this stream, Brent and I showcase some cool techniques we use in our test suites. If...]]>
            </summary>
                                    <updated>2021-08-25T17:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Rational thinking ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/rational-thinking" />
            <id>https://stitcher.io/blog/rational-thinking</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Now and then, I like to ask a simple coding style question on Twitter. It usually goes something like this: do you write FQCN's (fully qualified class names) in your...]]>
            </summary>
                                    <updated>2021-08-25T15:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Better code block highlighting on our blog and docs]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/33-better-code-block-highlighting-on-our-blog-and-docs" />
            <id>https://flareapp.io/blog/33-better-code-block-highlighting-on-our-blog-and-docs</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you've visited our blog or documentation in the last couple of weeks, you might've noticed things look a little different. We're now highlighting all code blocks using Shiki,...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Better code block highlighting on our blog and docs]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/better-code-block-highlighting-on-our-blog-and-docs" />
            <id>https://flareapp.io/blog/better-code-block-highlighting-on-our-blog-and-docs</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you've visited our blog or documentation in the last couple of weeks, you might've noticed things look a little different. We're now highlighting all code blocks using Shiki,...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we're using static analysis to improve our codebase]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/32-how-were-using-static-analysis-to-improve-our-codebase" />
            <id>https://flareapp.io/blog/32-how-were-using-static-analysis-to-improve-our-codebase</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The initial Flare codebase was written almost two years ago. Though that's not so long ago, but PHP landscape changed drastically in that timeframe. PHP version 7.4 and 8.0 were...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we're using static analysis to improve our codebase]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/how-were-using-static-analysis-to-improve-our-codebase" />
            <id>https://flareapp.io/blog/how-were-using-static-analysis-to-improve-our-codebase</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The initial Flare codebase was written almost two years ago. Though that's not so long ago, but PHP landscape changed drastically in that timeframe. PHP version 7.4 and 8.0 were...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why do I write? ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/why-do-i-write" />
            <id>https://stitcher.io/blog/why-do-i-write</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[This post was originally sent to my newsletter on August 12, 2021. I originally didn't plan to blog about it, but given the reactions that I received, I decided...]]>
            </summary>
                                    <updated>2021-08-13T08:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The Monetization Trap]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/the-monetization-trap/" />
            <id>https://sebastiandedeyne.com/the-monetization-trap/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I want to talk about something I’ve been chewing on for a while: the monetization trap.
Last year, I had a hard time writing a post, sending a newsletter, or...]]>
            </summary>
                                    <updated>2021-08-18T12:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Lazy Collections in Laravel]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/lazy-collections-in-laravel" />
            <id>https://vanpachtenbeke.com/posts/lazy-collections-in-laravel</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel's LazyCollection class is a powerful tool that lets you process enormous amounts of data with very little memory.]]>
            </summary>
                                    <updated>2023-09-22T17:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we use ElasticSearch, Kibana and Filebeat to handle our logs]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/30-how-we-use-elasticsearch-kibana-and-filebeat-to-handle-our-logs" />
            <id>https://flareapp.io/blog/30-how-we-use-elasticsearch-kibana-and-filebeat-to-handle-our-logs</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare runs on a few different servers and each one of them has its own purpose. We've got web servers that serve the Flare app and other public pages like...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Ebb and flow]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/ebb-and-flow/" />
            <id>https://sebastiandedeyne.com/ebb-and-flow/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I’ve been thinking a lot about work-life balance lately. I used to see it as a balancing scale that should remain on the same position at all times. However, I...]]>
            </summary>
                                    <updated>2021-08-09T12:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we use ElasticSearch, Kibana and Filebeat to handle our logs]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/how-we-use-elasticsearch-kibana-and-filebeat-to-handle-our-logs" />
            <id>https://flareapp.io/blog/how-we-use-elasticsearch-kibana-and-filebeat-to-handle-our-logs</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare runs on a few different servers and each one of them has its own purpose. We've got web servers that serve the Flare app and other public pages like...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The Road to PHP 8.1 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/the-road-to-php" />
            <id>https://stitcher.io/blog/the-road-to-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm happy to announce a fun little project today: The Road to PHP 8.1. It's a 10-day popup newsletter that'll teach you about all the shiny new things in...]]>
            </summary>
                                    <updated>2021-08-06T11:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Exploring Pest internals]]></title>
            <link rel="alternate" href="https://freek.dev/2039-exploring-pest-internals" />
            <id>https://freek.dev/2039-exploring-pest-internals</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this stream, Pest creator Nuno Maduro explains how his testing tool works under the hood.]]>
            </summary>
                                    <updated>2021-08-04T11:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Migrating our billing portal to the latest version of Laravel Spark]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/29-migrating-our-billing-portal-to-the-latest-version-of-laravel-spark" />
            <id>https://flareapp.io/blog/29-migrating-our-billing-portal-to-the-latest-version-of-laravel-spark</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When Flare was launched, we used Laravel Spark classic to take care of all user, team and billing functionality. We recently migrated to the latest version of Laravel...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Migrating our billing portal to the latest version of Laravel Spark]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/migrating-our-billing-portal-to-the-latest-version-of-laravel-spark" />
            <id>https://flareapp.io/blog/migrating-our-billing-portal-to-the-latest-version-of-laravel-spark</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When Flare was launched, we used Laravel Spark classic to take care of all user, team and billing functionality. We recently migrated to the latest version of Laravel...]]>
            </summary>
                                    <updated>2025-02-03T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The evolution of a PHP object throughout the years ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/evolution-of-a-php-object" />
            <id>https://stitcher.io/blog/evolution-of-a-php-object</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[This is just a fun little post I wrote because I wanted to visualise how my data transfer objects have evolved over the years.
# August...]]>
            </summary>
                                    <updated>2021-07-29T17:00:15+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to handle GitHub webhooks in a Laravel application]]></title>
            <link rel="alternate" href="https://freek.dev/2037-how-to-handle-github-webhooks-in-a-laravel-application" />
            <id>https://freek.dev/2037-how-to-handle-github-webhooks-in-a-laravel-application</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Whenever something happens in one of your repos on GitHub, you can configure a webhook to be sent to your app. This way, you can perform some extra logic when...]]>
            </summary>
                                    <updated>2021-07-27T15:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[We don't need runtime type checks ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/we-dont-need-runtime-type-checks" />
            <id>https://stitcher.io/blog/we-dont-need-runtime-type-checks</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Do you want to make a guess about when I last encountered a TypeError in one of my projects? To be honest, I can't remember, so it's probably...]]>
            </summary>
                                    <updated>2021-07-27T07:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Would you like some optimism or realism with your estimate, sir? ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/optimistic-or-realistic-estimates" />
            <id>https://stitcher.io/blog/optimistic-or-realistic-estimates</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I've already made quite a lot of project estimates in my programming career. In these last three years, I've been estimating (and building) lots of features for one specific project....]]>
            </summary>
                                    <updated>2021-07-23T08:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Use Blink to execute something once and only once]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/use-blink-to-execute-something-once-and-only-once/" />
            <id>https://sebastiandedeyne.com/use-blink-to-execute-something-once-and-only-once/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our Blink package is marketed as a caching solution to memoize data for the duration of a web request. Recently, we came upon another use case for the package:...]]>
            </summary>
                                    <updated>2021-07-22T09:00:04+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Refactoring our search capabilities using Elasticsearch and two new Spatie packages]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/28-refactoring-our-search-capabilities-using-elasticsearch-and-two-new-spatie-packages" />
            <id>https://flareapp.io/blog/28-refactoring-our-search-capabilities-using-elasticsearch-and-two-new-spatie-packages</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[At Flare, we're continously making improvements to our code base. A lot of the code has gone through multiple iterations and improvements. A part of our code base that was...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Refactoring our search capabilities using Elasticsearch and two new Spatie packages]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/refactoring-our-search-capabilities-using-elasticsearch-and-two-new-spatie-packages" />
            <id>https://flareapp.io/blog/refactoring-our-search-capabilities-using-elasticsearch-and-two-new-spatie-packages</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[At Flare, we're continously making improvements to our code base. A lot of the code has gone through multiple iterations and improvements. A part of our code base that was...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8.1: before and after ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-81-before-and-after" />
            <id>https://stitcher.io/blog/php-81-before-and-after</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The release of PHP 8.1 will be here within a few months, and once again there are many features that get me excited! In this post I want to...]]>
            </summary>
                                    <updated>2021-07-16T07:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Adding backlinks to a GitHub wiki]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/adding-backlinks-to-a-github-wiki/" />
            <id>https://sebastiandedeyne.com/adding-backlinks-to-a-github-wiki/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Backlinks, or bi-directional liks, are becoming table-stakes for productivity apps since they’ve been popularized by Roam. It’s a simple concept: when you create a link from page A to...]]>
            </summary>
                                    <updated>2021-07-16T09:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Rethinking with events ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/rethinking-with-events" />
            <id>https://stitcher.io/blog/rethinking-with-events</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm working on a new feature for our Spatie website: I'm adding a lightweight form of gamification for our ±10.000 users.
Here's how it works: every time a...]]>
            </summary>
                                    <updated>2021-07-14T16:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[An event-driven mindset ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/an-event-driven-mindset" />
            <id>https://stitcher.io/blog/an-event-driven-mindset</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm working on a new feature for our Spatie website: I'm adding a lightweight form of gamification for our ±10,000 users.
Here's how it works: every time a...]]>
            </summary>
                                    <updated>2021-07-15T07:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to render markdown with perfectly highlighted code snippets]]></title>
            <link rel="alternate" href="https://freek.dev/2024-how-to-render-markdown-with-perfectly-highlighted-code-snippets" />
            <id>https://freek.dev/2024-how-to-render-markdown-with-perfectly-highlighted-code-snippets</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[When reading technical blogpost around the web, you might have noticed that code highlighting is not always perfect. Shiki is the code highlighter that uses the textmate parser VSCode uses...]]>
            </summary>
                                    <updated>2021-07-13T14:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Collecting metrics for Flare using event sourcing and laravel-stats]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/20-collecting-metrics-for-flare-using-event-sourcing-and-laravel-stats" />
            <id>https://flareapp.io/blog/20-collecting-metrics-for-flare-using-event-sourcing-and-laravel-stats</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Like most SaaS companies, the Flare back-office features a neat dashboard showing some of our key metrics. Using Laravel Nova, it's pretty easy to aggregate data per model like the...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Collecting metrics for Flare using event sourcing and laravel-stats]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/collecting-metrics-for-flare-using-event-sourcing-and-laravel-stats" />
            <id>https://flareapp.io/blog/collecting-metrics-for-flare-using-event-sourcing-and-laravel-stats</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Like most SaaS companies, the Flare back-office features a neat dashboard showing some of our key metrics. Using Laravel Nova, it's pretty easy to aggregate data per model like the...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Correctly highlighting code using Shiki & PHP]]></title>
            <link rel="alternate" href="https://rias.be/blog/correctly-highlighting-code-using-shiki-php" />
            <id>https://rias.be/blog/correctly-highlighting-code-using-shiki-php</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Highlighting code blocks correctly on your website is a more difficult problem to solve than you'd expect. There are many great solutions like Prism or Highlight. js, but they often have...]]>
            </summary>
                                    <updated>2021-07-12T12:49:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Finding out which ports are in use]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/unix-things/finding-out-which-ports-are-in-use/" />
            <id>https://sebastiandedeyne.com/unix-things/finding-out-which-ports-are-in-use/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Sometimes you want to spin up a process, but the port it wants to bind to is already in use. Or a port isn’t listening to a process as you...]]>
            </summary>
                                    <updated>2021-07-09T12:00:08+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Leaner feature branches]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/leaner-feature-branches/" />
            <id>https://sebastiandedeyne.com/leaner-feature-branches/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[In most projects, we use git flow to some extent — depending on the project and team size. This includes feature branches.

Feature branches (or sometimes called topic...]]>
            </summary>
                                    <updated>2021-07-07T15:00:08+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8.1: cloning and changing readonly properties ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/cloning-readonly-properties-in-php-81" />
            <id>https://stitcher.io/blog/cloning-readonly-properties-in-php-81</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In PHP 8.1, readonly properties aren't allowed to be overridden as soon as they are initialized. That also means that cloning an object and changing one of its...]]>
            </summary>
                                    <updated>2021-09-11T13:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Retry requests using curl]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/27-retry-requests-using-curl" />
            <id>https://flareapp.io/blog/27-retry-requests-using-curl</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've added a nice addition to our UI. On the "Request" tab of every error. You'll now see a curl command that will resend the request that triggered the error....]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Control exceptions and errors send to Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/26-control-exceptions-and-errors-send-to-flare" />
            <id>https://flareapp.io/blog/26-control-exceptions-and-errors-send-to-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[By default, Ignition and the Flare PHP client (if you're using Flare in a non-Laravel application) will always send all the exceptions and errors to Flare.
In the cases where...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Retry requests using curl]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/retry-requests-using-curl" />
            <id>https://flareapp.io/blog/retry-requests-using-curl</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've added a nice addition to our UI. On the "Request" tab of every error. You'll now see a curl command that will resend the request that triggered the error....]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Control exceptions and errors send to Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/control-exceptions-and-errors-send-to-flare" />
            <id>https://flareapp.io/blog/control-exceptions-and-errors-send-to-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[By default, Ignition and the Flare PHP client (if you're using Flare in a non-Laravel application) will always send all the exceptions and errors to Flare.
In the cases where...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What about typed request classes? ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/what-about-request-classes" />
            <id>https://stitcher.io/blog/what-about-request-classes</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In some of our larger Laravel projects, we prefer to map request data to data transfer objects. By doing so we gain static analysis insights in what kind of data...]]>
            </summary>
                                    <updated>2021-06-29T14:00:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Hello there, new API!]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/25-hello-there-new-api" />
            <id>https://flareapp.io/blog/25-hello-there-new-api</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare is built for developers. One thing that developers like to do is integrate things. Whenever a service offers an API, it's a bet that developers will use it to...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP version stats: July, 2021 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-version-stats-july-2021" />
            <id>https://stitcher.io/blog/php-version-stats-july-2021</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Last month, Jordi announced he'd be sunsetting his PHP Version Stats blog series, so that he can focus on other types of content. As a replacement, he made...]]>
            </summary>
                                    <updated>2021-06-28T15:00:08+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Hello there, new API!]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/hello-there-new-api" />
            <id>https://flareapp.io/blog/hello-there-new-api</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare is built for developers. One thing that developers like to do is integrate things. Whenever a service offers an API, it's a bet that developers will use it to...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Opinion-driven design ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/opinion-driven-design" />
            <id>https://stitcher.io/blog/opinion-driven-design</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I once worked at a company that wrote and maintained an in-house framework. Over the course of ten years, they probably
made around 250 websites and applications with it. Despite...]]>
            </summary>
                                    <updated>2021-06-23T13:00:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Laravel Google Fonts]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/introducing-laravel-google-fonts/" />
            <id>https://sebastiandedeyne.com/introducing-laravel-google-fonts/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today, we’re launching a new Spatie package: Laravel Google Fonts. I’ve written about Google Fonts before. It’s a great font catalog, but the service has it’s downsides. First, fonts...]]>
            </summary>
                                    <updated>2021-06-23T18:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Actions can now be performed on all project errors in one go]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/16-actions-can-now-be-performed-on-all-project-errors-in-one-go" />
            <id>https://flareapp.io/blog/16-actions-can-now-be-performed-on-all-project-errors-in-one-go</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When viewing all project errors, you can select specific errors that you want to resolve, snooze or delete in one go.

Up until now, you could...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Actions can now be performed on all project errors in one go]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/actions-can-now-be-performed-on-all-project-errors-in-one-go" />
            <id>https://flareapp.io/blog/actions-can-now-be-performed-on-all-project-errors-in-one-go</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When viewing all project errors, you can select specific errors that you want to resolve, snooze or delete in one go.

Up until now, you could...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What about config builders? ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/what-about-config-builders" />
            <id>https://stitcher.io/blog/what-about-config-builders</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I've been tinkering with a hobby project lately: a small framework to get more familiar with PHP 8, and try out some random ideas floating in my head. It's...]]>
            </summary>
                                    <updated>2021-06-18T08:00:13+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A new major version of Laravel Event Sourcing ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/a-new-major-version-of-laravel-event-sourcing" />
            <id>https://stitcher.io/blog/a-new-major-version-of-laravel-event-sourcing</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today, we released a new version of spatie/laravel-event-sourcing, version 5 is probably one of the largest releases since the beginning of the package, we've worked several months on...]]>
            </summary>
                                    <updated>2021-06-15T09:00:14+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Setting up and securing a private Composer repository]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2021/setting-up-and-securing-a-private-composer-repository" />
            <id>https://alexvanderbist.com/2021/setting-up-and-securing-a-private-composer-repository</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[At Spatie, we host several packages on a private composer packagist server using Satis. In the first of this two-part blog series we'll take a look at how we're distributing...]]>
            </summary>
                                    <updated>2024-04-11T16:01:43+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to dispatch jobs via Artisan]]></title>
            <link rel="alternate" href="https://freek.dev/1999-a-laravel-package-to-dispatch-jobs-via-artisan" />
            <id>https://freek.dev/1999-a-laravel-package-to-dispatch-jobs-via-artisan</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our team has released a new Laravel package: spatie/laravel-artisan-dispatchable. This package allows you to dispatch any job from an artisan command. In this blog post, I'd like to explain why...]]>
            </summary>
                                    <updated>2021-06-14T18:00:14+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to dispatch jobs via Artisan]]></title>
            <link rel="alternate" href="https://freek.dev/1999-a-laravel-package-to-dispatch-jobs-via-artisan" />
            <id>https://freek.dev/1999-a-laravel-package-to-dispatch-jobs-via-artisan</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our team has released a new Laravel package: spatie/laravel-artisan-dispatchable. This package allows you to dispatch any job from an artisan command. In this blog post, I'd like to explain why...]]>
            </summary>
                                    <updated>2021-06-14T18:00:14+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why and how we remove inactive users and teams]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/15-why-and-how-we-remove-inactive-users-and-teams" />
            <id>https://flareapp.io/blog/15-why-and-how-we-remove-inactive-users-and-teams</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Like many others SaaS applications, you can try out Flare  using a trial period. Of course, not everybody that tries out Flare will convert. After the trial period is over,...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Private Satis authentication backed by Laravel]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2021/private-satis-authentication-backed-by-laravel" />
            <id>https://alexvanderbist.com/2021/private-satis-authentication-backed-by-laravel</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[In part one of this two-part series we looked at setting up a Satis repository for our private GitHub packages. Now that we've got a basic Satis server running, let's...]]>
            </summary>
                                    <updated>2024-04-11T16:01:43+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why and how we remove inactive users and teams]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/why-and-how-we-remove-inactive-users-and-teams" />
            <id>https://flareapp.io/blog/why-and-how-we-remove-inactive-users-and-teams</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Like many others SaaS applications, you can try out Flare  using a trial period. Of course, not everybody that tries out Flare will convert. After the trial period is over,...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[🚀 Event Sourcing for Laravel is now available]]></title>
            <link rel="alternate" href="https://freek.dev/1997-event-sourcing-for-laravel-is-now-available" />
            <id>https://freek.dev/1997-event-sourcing-for-laravel-is-now-available</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm thrilled to announce that our premium course Event Sourcing in Laravel has just launched. If you ever wanted to get started with event sourcing, this is the course for...]]>
            </summary>
                                    <updated>2021-06-11T13:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[🚀 Event Sourcing for Laravel is now available]]></title>
            <link rel="alternate" href="https://freek.dev/1997-event-sourcing-for-laravel-is-now-available" />
            <id>https://freek.dev/1997-event-sourcing-for-laravel-is-now-available</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm thrilled to announce that our premium course Event Sourcing in Laravel has just launched. If you ever wanted to get started with event sourcing, this is the course for...]]>
            </summary>
                                    <updated>2021-06-11T13:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Meet the new projects overview with error trends and favourites]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/22-meet-the-new-projects-overview-with-error-trends-and-favourites" />
            <id>https://flareapp.io/blog/22-meet-the-new-projects-overview-with-error-trends-and-favourites</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Up until a few days ago our projects overview  only showed you the name of the project, some basic error counts and when the latest error came.
A few days...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Meet the new projects overview with error trends and favourites]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/meet-the-new-projects-overview-with-error-trends-and-favourites" />
            <id>https://flareapp.io/blog/meet-the-new-projects-overview-with-error-trends-and-favourites</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Up until a few days ago our projects overview  only showed you the name of the project, some basic error counts and when the latest error came.
A few days...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A new design for Ignition]]></title>
            <link rel="alternate" href="https://freek.dev/1995-a-new-design-for-ignition" />
            <id>https://freek.dev/1995-a-new-design-for-ignition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[A couple of years ago, Ignition became the default error page in Laravel. Ignition provided a vastly improved design over Whoops: it brought Laravel specific niceties (such as showing the...]]>
            </summary>
                                    <updated>2021-06-03T19:00:13+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why we need multi-line short closures in PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/why-we-need-multi-line-short-closures-in-php" />
            <id>https://stitcher.io/blog/why-we-need-multi-line-short-closures-in-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP 8.1 is already taking shape quite well, yet there's one feature I'd love to see added, that's still being discussed: multi-line short closures. The RFC calls...]]>
            </summary>
                                    <updated>2021-06-03T14:00:14+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Improve code readability by refactoring if blocks to dedicated classes]]></title>
            <link rel="alternate" href="https://freek.dev/1956-improve-code-readability-by-refactoring-if-blocks-to-dedicated-classes" />
            <id>https://freek.dev/1956-improve-code-readability-by-refactoring-if-blocks-to-dedicated-classes</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you code bases contains a long procedure with a lot of if statements to determine which case should be handle, consider extracting each case to its own dedicated class....]]>
            </summary>
                                    <updated>2021-05-31T15:00:13+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Create a GitHub issue directly from an email notification]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/21-create-a-github-issue-directly-from-an-email-notification" />
            <id>https://flareapp.io/blog/21-create-a-github-issue-directly-from-an-email-notification</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[A while ago, we added actions links to our mail notifications that allow you to snooze and resolve errors.
We've added an extra action: you can now create a...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Create a GitHub issue directly from an email notification]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/create-a-github-issue-directly-from-an-email-notification" />
            <id>https://flareapp.io/blog/create-a-github-issue-directly-from-an-email-notification</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[A while ago, we added actions links to our mail notifications that allow you to snooze and resolve errors.
We've added an extra action: you can now create a...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Greatly improve the readability of your code by breaking down complex conditionals]]></title>
            <link rel="alternate" href="https://freek.dev/1955-greatly-improve-the-readability-of-your-code-by-breaking-down-complex-conditionals" />
            <id>https://freek.dev/1955-greatly-improve-the-readability-of-your-code-by-breaking-down-complex-conditionals</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Most developers have probably seen some complex conditionals in legacy code. In this video I show you how to refactor those.]]>
            </summary>
                                    <updated>2021-05-29T12:00:13+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to censor sensitive information in requests to Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/18-how-to-censor-sensitive-information-in-requests-to-flare" />
            <id>https://flareapp.io/blog/18-how-to-censor-sensitive-information-in-requests-to-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When an exception occurs in a web request, the Flare client will pass on all request fields that are present in the body.
In some cases, such as a login...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to censor sensitive information in requests to Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/how-to-censor-sensitive-information-in-requests-to-flare" />
            <id>https://flareapp.io/blog/how-to-censor-sensitive-information-in-requests-to-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When an exception occurs in a web request, the Flare client will pass on all request fields that are present in the body.
In some cases, such as a login...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A trick to improve your class names]]></title>
            <link rel="alternate" href="https://freek.dev/1954-a-trick-to-improve-your-class-names" />
            <id>https://freek.dev/1954-a-trick-to-improve-your-class-names</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Sometimes it is not clear what the responsibility of a certain class is. This can be solved by adding a suffix to the class name.]]>
            </summary>
                                    <updated>2021-05-17T15:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now easily see if an error came from the web, CLI or queue]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/17-you-can-now-easily-see-if-an-error-came-from-the-web-cli-or-queue" />
            <id>https://flareapp.io/blog/17-you-can-now-easily-see-if-an-error-came-from-the-web-cli-or-queue</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When an error comes in, it might be handy to know in which type of environment it was thrown. On each error card in our UI, you can now see...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now easily see if an error came from the web, CLI or queue]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/you-can-now-easily-see-if-an-error-came-from-the-web-cli-or-queue" />
            <id>https://flareapp.io/blog/you-can-now-easily-see-if-an-error-came-from-the-web-cli-or-queue</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When an error comes in, it might be handy to know in which type of environment it was thrown. On each error card in our UI, you can now see...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to watch for file system changes in PHP]]></title>
            <link rel="alternate" href="https://freek.dev/1982-a-package-to-watch-for-file-system-changes-in-php" />
            <id>https://freek.dev/1982-a-package-to-watch-for-file-system-changes-in-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our team has released a new package called file-system-watcher. As the name implies, this package can watch changes in the file system and let you act on those changes.]]>
            </summary>
                                    <updated>2021-05-12T10:00:10+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to watch for file system changes in PHP]]></title>
            <link rel="alternate" href="https://freek.dev/1982-a-package-to-watch-for-file-system-changes-in-php" />
            <id>https://freek.dev/1982-a-package-to-watch-for-file-system-changes-in-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our team has released a new package called file-system-watcher. As the name implies, this package can watch changes in the file system and let you act on those changes.]]>
            </summary>
                                    <updated>2021-05-12T10:00:10+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The magic of dedicated exception classes]]></title>
            <link rel="alternate" href="https://freek.dev/1953-the-magic-of-dedicated-exception-classes" />
            <id>https://freek.dev/1953-the-magic-of-dedicated-exception-classes</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[You can make your code more readable by moving all your exception messages to dedicated classes. We using this technique in all our projects and packages.]]>
            </summary>
                                    <updated>2021-05-10T15:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How our GitHub integration works under the hood]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/24-how-our-github-integration-works-under-the-hood" />
            <id>https://flareapp.io/blog/24-how-our-github-integration-works-under-the-hood</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[A few weeks ago, we introduced a new integration with GitHub that makes it possible to:

create a GitHub issue directly on a Flare error
associate a GitHub...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How our GitHub integration works under the hood]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/how-our-github-integration-works-under-the-hood" />
            <id>https://flareapp.io/blog/how-our-github-integration-works-under-the-hood</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[A few weeks ago, we introduced a new integration with GitHub that makes it possible to:


create a GitHub issue directly on a Flare error

...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Dealing with expired signed URLs in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1977-dealing-with-expired-signed-urls-in-laravel" />
            <id>https://freek.dev/1977-dealing-with-expired-signed-urls-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Out of the box, Laravel comes with the ability to generate "signed" URLs. These URLs have a hash in their query string that verifies that the URL was not...]]>
            </summary>
                                    <updated>2021-05-06T11:00:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Dealing with expired signed URLs in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1977-dealing-with-expired-signed-urls-in-laravel" />
            <id>https://freek.dev/1977-dealing-with-expired-signed-urls-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Out of the box, Laravel comes with the ability to generate "signed" URLs. These URLs have a hash in their query string that verifies that the URL was not...]]>
            </summary>
                                    <updated>2021-05-06T11:00:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Develop faster by adding dev routes file in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/1976-develop-faster-by-adding-dev-routes-file-in-a-laravel-app" />
            <id>https://freek.dev/1976-develop-faster-by-adding-dev-routes-file-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel's awesome closure based routing was probably one of the first features I fell in love with. I take it for granted now, but back in the days, such a...]]>
            </summary>
                                    <updated>2021-05-05T11:00:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Keep controllers clean by using form requests in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1952-keep-controllers-clean-by-using-form-requests-in-laravel" />
            <id>https://freek.dev/1952-keep-controllers-clean-by-using-form-requests-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Most people use form requests solely for validation, but they can also help to keep your controllers clean. Here's how we use them in Mailcoach]]>
            </summary>
                                    <updated>2021-05-03T15:00:14+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Exploring Event Sourcing (part 2)]]></title>
            <link rel="alternate" href="https://freek.dev/1974-exploring-event-sourcing-part-2" />
            <id>https://freek.dev/1974-exploring-event-sourcing-part-2</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this stream my colleague Brent and I continued our conversation about the foundations of event sourcing. This time we showed a shopping cart that we've built using Laravel and...]]>
            </summary>
                                    <updated>2021-05-03T15:00:14+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A lightweight solution for running PHP code concurrently]]></title>
            <link rel="alternate" href="https://freek.dev/1973-a-lightweight-solution-for-running-php-code-concurrently" />
            <id>https://freek.dev/1973-a-lightweight-solution-for-running-php-code-concurrently</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our team released a new package called spatie/fork. Using this package you can easily execute multiple pieces of code concurrently. In this example, where we are going to call an...]]>
            </summary>
                                    <updated>2021-05-03T15:00:14+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing the monthly error report mail]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/14-introducing-the-monthly-error-report-mail" />
            <id>https://flareapp.io/blog/14-introducing-the-monthly-error-report-mail</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In our UI, you can see a nice summary of all your projects. The project list mentions the number of errors in the past 30 days and how many are...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing the monthly error report mail]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/introducing-the-monthly-error-report-mail" />
            <id>https://flareapp.io/blog/introducing-the-monthly-error-report-mail</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In our UI, you can see a nice summary of all your projects. The project list mentions the number of errors in the past 30 days and how many are...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Worldwide Meetup #8: Using Vite in Laravel & How to optimize your DB indexes]]></title>
            <link rel="alternate" href="https://freek.dev/1965-laravel-worldwide-meetup-8-using-vite-in-laravel-how-to-optimize-your-db-indexes" />
            <id>https://freek.dev/1965-laravel-worldwide-meetup-8-using-vite-in-laravel-how-to-optimize-your-db-indexes</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's the recording of Laravel Wordwide Meetup #8. My guests for this edition were Kai Sassnowski talking on the importance of DB indexes, and Sebastian De Deyne on how to...]]>
            </summary>
                                    <updated>2021-04-28T12:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Worldwide Meetup #8: Using Vite in Laravel & How to optimize your DB indexes]]></title>
            <link rel="alternate" href="https://freek.dev/1965-laravel-worldwide-meetup-8-using-vite-in-laravel-how-to-optimize-your-db-indexes" />
            <id>https://freek.dev/1965-laravel-worldwide-meetup-8-using-vite-in-laravel-how-to-optimize-your-db-indexes</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's the recording of Laravel Wordwide Meetup #8. My guests for this edition were Kai Sassnowski talking on the importance of DB indexes, and Sebastian De Deyne on how to...]]>
            </summary>
                                    <updated>2021-04-28T12:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How Flare's GitHub integration works under the hood]]></title>
            <link rel="alternate" href="https://freek.dev/1964-how-flares-github-integration-works-under-the-hood" />
            <id>https://freek.dev/1964-how-flares-github-integration-works-under-the-hood</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Last week, my colleague Ruben and I launched a major new feature at Flare: there's a new integration with GitHub that makes it possible to:
create a GitHub...]]>
            </summary>
                                    <updated>2021-04-28T12:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Running PHP code in parallel, the easy way ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/parallel-php" />
            <id>https://stitcher.io/blog/parallel-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Less is more. You've heard that before, right? Keep it in mind, I'm going to show you something.
There are a few good and robust solutions to run PHP code...]]>
            </summary>
                                    <updated>2021-04-28T07:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Easily test large chunks of output using snapshots]]></title>
            <link rel="alternate" href="https://freek.dev/1951-easily-test-large-chunks-of-output-using-snapshots" />
            <id>https://freek.dev/1951-easily-test-large-chunks-of-output-using-snapshots</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this video we'll take a look at how large chunks of output can be tested in Mailcoach using snapshots.]]>
            </summary>
                                    <updated>2021-04-26T12:00:10+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing our GitHub integration]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/23-introducing-our-github-integration" />
            <id>https://flareapp.io/blog/23-introducing-our-github-integration</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're proud to share that errors on Flare can now be associated with issues on GitHub and vice versa. This integration allows to:

create a GitHub issue directly on...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing our GitHub integration]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/introducing-our-github-integration" />
            <id>https://flareapp.io/blog/introducing-our-github-integration</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're proud to share that errors on Flare can now be associated with issues on GitHub and vice versa. This integration allows to:


create a GitHub issue directly...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why we use `!important` with Tailwind]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/why-we-use-important-with-tailwind/" />
            <id>https://sebastiandedeyne.com/why-we-use-important-with-tailwind/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Tl;dr: We use !important because it solves annoying specificity issues. Despite being overkill in most situations, we haven’t come across any practical drawbacks from globally enabling it.
If you want...]]>
            </summary>
                                    <updated>2021-04-21T09:00:14+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Injecting extra data in the payload of queued jobs in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1960-injecting-extra-data-in-the-payload-of-queued-jobs-in-laravel" />
            <id>https://freek.dev/1960-injecting-extra-data-in-the-payload-of-queued-jobs-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce yet another package by our team: spatie/laravel-interacts-with-payload. This one, which was inspired by a blog post by James Brooks, can inject data in all...]]>
            </summary>
                                    <updated>2021-04-20T21:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Controlling the flow of time in your tests]]></title>
            <link rel="alternate" href="https://freek.dev/1950-controlling-the-flow-of-time-in-your-tests" />
            <id>https://freek.dev/1950-controlling-the-flow-of-time-in-your-tests</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Our test-time package makes writing tests, for code that makes its decisions based on the current time, very easy. Here's how we use the package for some tests in ]]>
            </summary>
                                    <updated>2021-04-19T15:00:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mail notifications now allow to snooze and resolve errors]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/13-mail-notifications-now-allow-to-snooze-and-resolve-errors" />
            <id>https://flareapp.io/blog/13-mail-notifications-now-allow-to-snooze-and-resolve-errors</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When an error occurs, Flare can notify you via many different notification channels. Some of these notifications destinations have rich APIs that allow us to add actions to snooze...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mail notifications now allow to snooze and resolve errors]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/mail-notifications-now-allow-to-snooze-and-resolve-errors" />
            <id>https://flareapp.io/blog/mail-notifications-now-allow-to-snooze-and-resolve-errors</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When an error occurs, Flare can notify you via many different notification channels. Some of these notifications destinations have rich APIs that allow us to add actions to snooze...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[File watching with chokidar]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/file-watching-with-chokidar/" />
            <id>https://sebastiandedeyne.com/file-watching-with-chokidar/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[File watchers are powerful tools. We take them for granted because they’re often baked in, like Webpack rebuilding when you save a file.
Sometimes I’m in an environment without auto-reloading...]]>
            </summary>
                                    <updated>2021-04-16T03:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Self-hosting Google Fonts]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/self-hosting-google-fonts/" />
            <id>https://sebastiandedeyne.com/self-hosting-google-fonts/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I haven’t used Google Fonts in production for a long time. I use the service for development, and strip out all references to Google before going live. I do this...]]>
            </summary>
                                    <updated>2021-04-15T09:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Self-hosting Google Fonts]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/self-hosting-google-fonts/" />
            <id>https://sebastiandedeyne.com/self-hosting-google-fonts/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I haven’t used Google Fonts in production for a long time. I use the service for development, and strip out all references to Google before going live. I do this...]]>
            </summary>
                                    <updated>2021-04-15T09:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP in 2021 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-in-2021" />
            <id>https://stitcher.io/blog/php-in-2021</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Once a year, I look back at the recent developments in the PHP world, and also look forward to what's to come. And just like in 2020 and ]]>
            </summary>
                                    <updated>2021-04-15T12:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A lightweight Laravel package to track changes over time]]></title>
            <link rel="alternate" href="https://freek.dev/1957-a-lightweight-laravel-package-to-track-changes-over-time" />
            <id>https://freek.dev/1957-a-lightweight-laravel-package-to-track-changes-over-time</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that our team has released a new package called spatie/laravel-stats.  This package is a lightweight solution for summarizing changes in your database over time. Tracking...]]>
            </summary>
                                    <updated>2021-04-14T17:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel resource links two years later]]></title>
            <link rel="alternate" href="http://rubenvanassche.com/laravel-resource-links-two-years-later/" />
            <id>http://rubenvanassche.com/laravel-resource-links-two-years-later/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[The package provided some helper functions you could use within your Laravel Resources to add urls to parts of your application. For example, let&apos;s say we have a UserController and...]]>
            </summary>
                                    <updated>2021-04-14T17:00:14+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel resource links two years later]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/laravel-resource-links-two-years-later/" />
            <id>https://rubenvanassche.com/laravel-resource-links-two-years-later/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[The package provided some helper functions you could use within your Laravel Resources to add urls to parts of your application. For example, let&apos;s say we have a UserController and...]]>
            </summary>
                                    <updated>2023-03-22T11:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now view spike protection periods]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/12-you-can-now-view-spike-protection-periods" />
            <id>https://flareapp.io/blog/12-you-can-now-view-spike-protection-periods</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[There are circumstances in which your application could send many errors to Flare in a short amount of time. Spike protection will prevent all events of your plan being...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Fibers with a grain of salt ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/fibers-with-a-grain-of-salt" />
            <id>https://stitcher.io/blog/fibers-with-a-grain-of-salt</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
Do you prefer to listen?
I've created an audio version of this post. You can listen on YouTube or by subscribing to my podcast feed on...]]>
            </summary>
                                    <updated>2021-04-12T11:00:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[You can now view spike protection periods]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/you-can-now-view-spike-protection-periods" />
            <id>https://flareapp.io/blog/you-can-now-view-spike-protection-periods</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[There are circumstances in which your application could send many errors to Flare in a short amount of time. Spike protection will prevent all events of your plan being...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Starting with event sourcing ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/what-event-sourcing-is-not-about" />
            <id>https://stitcher.io/blog/what-event-sourcing-is-not-about</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[For many developers, event sourcing is a magical beast that's used to build extremely complex, often distributed projects. And there's good reason for that: event sourcing is a pattern that...]]>
            </summary>
                                    <updated>2021-04-10T09:00:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Our docs are now searchable]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/19-our-docs-are-now-searchable" />
            <id>https://flareapp.io/blog/19-our-docs-are-now-searchable</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you head over to our documentation, then you'll notice that we have added a nice quality of life improvement. There's a new search field that allows you to...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Lessons from Atomic Habits]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/lessons-from-atomic-habits/" />
            <id>https://sebastiandedeyne.com/lessons-from-atomic-habits/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Last year, I read Atomic Habits by James Clear. I first heard of James Clear during Justin Jackson’s Laracon 2019 talk in New York, when he quoted:
...]]>
            </summary>
                                    <updated>2021-04-08T08:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Thoughts on Event Sourcing ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/thoughts-on-event-sourcing" />
            <id>https://stitcher.io/blog/thoughts-on-event-sourcing</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I was flattered being asked to write a guest post for Event Store — the company originally founded by Greg Young, who pioneered event sourcing more than ten years ago....]]>
            </summary>
                                    <updated>2021-04-08T09:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Our docs are now searchable]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/our-docs-are-now-searchable" />
            <id>https://flareapp.io/blog/our-docs-are-now-searchable</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you head over to our documentation, then you'll notice that we have added a nice quality of life improvement. There's a new search field that allows you to...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Data Transfer Object v3 has been released]]></title>
            <link rel="alternate" href="https://freek.dev/1944-data-transfer-object-v3-has-been-released" />
            <id>https://freek.dev/1944-data-transfer-object-v3-has-been-released</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've released a new major version of spatie/data-transfer-object. This package makes it easy to create objects that have a certain shape. Properties can even be validated.ð&#159;&#144;&#152;...]]>
            </summary>
                                    <updated>2021-07-10T22:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Handling console signals in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1942-handling-console-signals-in-laravel" />
            <id>https://freek.dev/1942-handling-console-signals-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[When you cancel a long-running artisan command with Ctrl+C, a SIGINT signal is sent by the operating system to the PHP process. You can use this signal to perform some...]]>
            </summary>
                                    <updated>2021-04-05T15:00:13+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating a Laravel package from scratch]]></title>
            <link rel="alternate" href="https://freek.dev/1943-creating-a-laravel-package-from-scratch" />
            <id>https://freek.dev/1943-creating-a-laravel-package-from-scratch</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this stream, you'll see me lay the foundations for the spatie/laravel-signal-aware-command package.]]>
            </summary>
                                    <updated>2021-04-05T13:00:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The window.matchMedia API]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/matchmedia/" />
            <id>https://sebastiandedeyne.com/matchmedia/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[To execute a piece of code when the viewport is a certain size, the first thing that comes to mind is adding a resize event listener to the window object....]]>
            </summary>
                                    <updated>2021-04-05T08:00:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Snooze notifications per application version]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/11-snooze-notifications-per-application-version" />
            <id>https://flareapp.io/blog/11-snooze-notifications-per-application-version</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In addition to snoozing notifications for a number of occurrences or a fixed period, we have introduced a new way of snoozing errors. You can now snooze errors per application...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Snooze notifications per application version]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/snooze-notifications-per-application-version" />
            <id>https://flareapp.io/blog/snooze-notifications-per-application-version</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In addition to snoozing notifications for a number of occurrences or a fixed period, we have introduced a new way of snoozing errors. You can now snooze errors per application...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Speeding up the Spatie package installation workflow 🐟]]></title>
            <link rel="alternate" href="http://rubenvanassche.com/speeding-up-the-spatie-package-installation-workflow/" />
            <id>http://rubenvanassche.com/speeding-up-the-spatie-package-installation-workflow/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today we&apos;re introducing a package that&apos;s a real gamechanger. This one will probably speed your current workflow by 200%. Let&apos;s take a look at it!spatie/one-package-to-rule-them-all is probably the biggest...]]>
            </summary>
                                    <updated>2021-04-01T14:00:13+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Speeding up the Spatie package installation workflow 🐟]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/speeding-up-the-spatie-package-installation-workflow/" />
            <id>https://rubenvanassche.com/speeding-up-the-spatie-package-installation-workflow/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today we&apos;re introducing a package that&apos;s a real gamechanger. This one will probably speed your current workflow by 200%. Let&apos;s take a look at it!spatie/one-package-to-rule-them-all is probably the biggest...]]>
            </summary>
                                    <updated>2023-03-22T11:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The Record type in TypeScript]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/typescript-record-type/" />
            <id>https://sebastiandedeyne.com/typescript-record-type/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I can’t count the amount of times I’ve defined an object type with unknown string keys and a specific value type.
type Scores ]]>
            </summary>
                                    <updated>2021-03-31T08:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Honesty ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/honesty" />
            <id>https://stitcher.io/blog/honesty</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
You can listen to this post
If you prefer listening over reading, you can listen to this post on YouTube or by subscribing to my podcast...]]>
            </summary>
                                    <updated>2021-03-31T11:00:13+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Improving Ignition's security]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/10-improving-ignitions-security" />
            <id>https://flareapp.io/blog/10-improving-ignitions-security</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[A few days ago, you might have received a Dependabot security warning on Ignition. This warning concerns CVE-2021-3129, which warns that Ignition, Laravel's default error page, allows unauthenticated,...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Improving Ignition's security]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/improving-ignitions-security" />
            <id>https://flareapp.io/blog/improving-ignitions-security</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[A few days ago, you might have received a Dependabot security warning on Ignition. This warning concerns CVE-2021-3129, which warns that Ignition, Laravel's default error page, allows unauthenticated,...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare can now notify you via Discord and Microsoft Teams]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/flare-can-now-notify-you-via-discord-and-microsoft-teams" />
            <id>https://flareapp.io/blog/flare-can-now-notify-you-via-discord-and-microsoft-teams</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When we launched Flare, we could notify you over errors occurring via Slack, Mail, SMS and Webhooks. When we take a look at our database, Slack seems to be the...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare can now notify you via Discord and Microsoft Teams]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/9-flare-can-now-notify-you-via-discord-and-microsoft-teams" />
            <id>https://flareapp.io/blog/9-flare-can-now-notify-you-via-discord-and-microsoft-teams</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When we launched Flare, we could notify you over errors occurring via Slack, Mail, SMS and Webhooks. When we take a look at our database, Slack seems to be the...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why and how you should remove inactive users and teams]]></title>
            <link rel="alternate" href="https://freek.dev/1940-why-and-how-you-should-remove-inactive-users-and-teams" />
            <id>https://freek.dev/1940-why-and-how-you-should-remove-inactive-users-and-teams</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[There are many SaaS applications that allow potential new customers to try out the service using a trial period. Of course, not everybody will convert. After the trial period is...]]>
            </summary>
                                    <updated>2021-03-29T14:00:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Vite with Laravel: Using Inertia.js]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/vite-with-laravel/inertia/" />
            <id>https://sebastiandedeyne.com/vite-with-laravel/inertia/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Time for the last—and my favorite—post in the Vite series: using Inertia. js.
Inertia suggests two ways to resolve views in the docs: with require or with import.

require...]]>
            </summary>
                                    <updated>2021-03-29T09:00:14+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mailcoach v4 has released: drip campaigns, automations, mail templates and much more]]></title>
            <link rel="alternate" href="https://freek.dev/1939-mailcoach-v4-has-released-drip-campaigns-automations-mail-templates-and-much-more" />
            <id>https://freek.dev/1939-mailcoach-v4-has-released-drip-campaigns-automations-mail-templates-and-much-more</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that Mailcoach v4 has been released.  Mailcoach already was a great solution to send out bulk emails affordably. With an entirely refreshed UI and new...]]>
            </summary>
                                    <updated>2021-03-25T14:00:13+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mailcoach v4 has been released: drip campaigns, automations, mail templates and much more]]></title>
            <link rel="alternate" href="https://freek.dev/1939-mailcoach-v4-has-been-released-drip-campaigns-automations-mail-templates-and-much-more" />
            <id>https://freek.dev/1939-mailcoach-v4-has-been-released-drip-campaigns-automations-mail-templates-and-much-more</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that Mailcoach v4 has been released.  Mailcoach already was a great solution to send out bulk emails affordably. With an entirely refreshed UI and new...]]>
            </summary>
                                    <updated>2021-03-25T16:00:12+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Vite with Laravel: Using TypeScript]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/vite-with-laravel/typescript/" />
            <id>https://sebastiandedeyne.com/vite-with-laravel/typescript/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Vite transpiles TypeScript out of the box.

Vite only performs transpilation on . ts files and does NOT perform type checking. It assumes type checking is taken care of by...]]>
            </summary>
                                    <updated>2021-03-25T12:00:12+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Vite with Laravel: Using React]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/vite-with-laravel/react/" />
            <id>https://sebastiandedeyne.com/vite-with-laravel/react/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Vite supports JSX out of the box (you might have to rename . js files to . jsx), so there are no additional steps to get started with React. However, you’ll probably...]]>
            </summary>
                                    <updated>2021-04-07T08:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Don't write your own framework ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/dont-write-your-own-framework" />
            <id>https://stitcher.io/blog/dont-write-your-own-framework</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
You can listen to this post
If you prefer listening over reading, you can listen to this post on YouTube or by subscribing to my podcast...]]>
            </summary>
                                    <updated>2021-03-25T11:00:15+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel WorldWide Meetup #7: signing in with Laravel and how the Laracon Online website was built]]></title>
            <link rel="alternate" href="https://freek.dev/1938-laravel-worldwide-meetup-7-signing-in-with-laravel-and-how-the-laracon-online-website-was-built" />
            <id>https://freek.dev/1938-laravel-worldwide-meetup-7-signing-in-with-laravel-and-how-the-laracon-online-website-was-built</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's a recording of the Laravel Worldwide Meetup #7. Miguel Piedrafita talked about the various options of signing in with Laravel. After that, Caneco shared some of the secrets behind...]]>
            </summary>
                                    <updated>2021-03-24T10:00:12+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Laravel's parallel testing inside your package tests]]></title>
            <link rel="alternate" href="https://www.rias.be/blog/using-laravel-parallel-testing-inside-your-package-tests" />
            <id>https://www.rias.be/blog/using-laravel-parallel-testing-inside-your-package-tests</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel recently added parallel testing to the framework using the Paratest package which runs PHPUnit in separate parallel processes. Adding support for this in your own...]]>
            </summary>
                                    <updated>2021-03-23T17:00:16+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Laravel's parallel testing inside your package tests]]></title>
            <link rel="alternate" href="https://rias.be/blog/using-laravel-parallel-testing-inside-your-package-tests" />
            <id>https://rias.be/blog/using-laravel-parallel-testing-inside-your-package-tests</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel recently added parallel testing to the framework using the Paratest package which runs PHPUnit in separate parallel processes. Adding support for this in your own...]]>
            </summary>
                                    <updated>2021-07-12T12:49:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Vite with Laravel: Using Vue.js]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/vite-with-laravel/vue/" />
            <id>https://sebastiandedeyne.com/vite-with-laravel/vue/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[To transpile Vue single-file components, install @vitejs/plugin-vue. If you are using Vue 2, install vite-plugin-vue2 instead.
 {
"private": true,
"scripts": {
"dev": "vite",...]]>
            </summary>
                                    <updated>2021-04-07T08:00:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Vite with Laravel: Using Tailwind CSS]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/vite-with-laravel/tailwind/" />
            <id>https://sebastiandedeyne.com/vite-with-laravel/tailwind/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Vite includes PostCSS support, so adding Tailwind doesn’t require too much configuration.
First, install Tailwind and its peer dependencies postcss and autoprefixer.
 {
"private": true,...]]>
            </summary>
                                    <updated>2021-03-29T19:00:15+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Vite with Laravel: Auto-refresh Blade views]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/vite-with-laravel/blade/" />
            <id>https://sebastiandedeyne.com/vite-with-laravel/blade/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[We’re up and running, but there’s another Laravel-specific quality of life improvement we can make: auto-refreshing when a Blade file changes.
To do this, we’ll write a simple Blade plugin...]]>
            </summary>
                                    <updated>2021-03-22T08:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Vite with Laravel]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/vite-with-laravel/" />
            <id>https://sebastiandedeyne.com/vite-with-laravel/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I’ve had an eye on Vite for a while. With a stable release out the door (2.0, as 1.0 never left the release candidate stage) it seemed like a good...]]>
            </summary>
                                    <updated>2021-03-22T08:00:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A better way to reference things in your application]]></title>
            <link rel="alternate" href="http://rubenvanassche.com/a-better-way-to-reference-things-in-your-application/" />
            <id>http://rubenvanassche.com/a-better-way-to-reference-things-in-your-application/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[We, as programmers, use id&apos;s continuously throughout our day and probably would be lost without them. An id can be a simple integer that increases when a new record is...]]>
            </summary>
                                    <updated>2021-03-16T17:00:15+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A better way to reference things in your application]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/a-better-way-to-reference-things-in-your-application/" />
            <id>https://rubenvanassche.com/a-better-way-to-reference-things-in-your-application/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[We, as programmers, use id&apos;s continuously throughout our day and probably would be lost without them. An id can be a simple integer that increases when a new record is...]]>
            </summary>
                                    <updated>2023-03-22T11:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to do a case sensitive file rename in git on macOS]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/how-to-do-a-case-sensitive-file-rename-in-git-on-macos/" />
            <id>https://sebastiandedeyne.com/how-to-do-a-case-sensitive-file-rename-in-git-on-macos/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Mac is case insensitive, Linux isn’t. This has caused me trouble in the past after deploying my code to an Ubuntu server.
If you rename a file on Mac, git...]]>
            </summary>
                                    <updated>2021-03-11T20:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to do a case sensitive file rename in git on macOS]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/how-to-do-a-case-sensitive-file-rename-in-git-on-macos/" />
            <id>https://sebastiandedeyne.com/how-to-do-a-case-sensitive-file-rename-in-git-on-macos/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Mac is case insensitive, Linux isn’t. This has caused me trouble in the past after deploying my code to an Ubuntu server.
If you rename a file on Mac, git...]]>
            </summary>
                                    <updated>2021-03-11T20:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Execute Artisan commands on remote servers]]></title>
            <link rel="alternate" href="https://freek.dev/1924-execute-artisan-commands-on-remote-servers" />
            <id>https://freek.dev/1924-execute-artisan-commands-on-remote-servers</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Using the newly released spatie/laravel-remote package, you can quickly execute Artisan commands on a remote server. Here's an example that will clear the cache on the remote server.]]>
            </summary>
                                    <updated>2021-03-10T16:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a Laravel package from scratch]]></title>
            <link rel="alternate" href="https://freek.dev/1923-building-a-laravel-package-from-scratch" />
            <id>https://freek.dev/1923-building-a-laravel-package-from-scratch</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this streaming session, you can see me build up the package from scratch. You can find the code seen...]]>
            </summary>
                                    <updated>2021-03-10T16:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing monthly playlists from team Spatie]]></title>
            <link rel="alternate" href="https://freek.dev/1925-introducing-monthly-playlists-from-team-spatie" />
            <id>https://freek.dev/1925-introducing-monthly-playlists-from-team-spatie</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[At Spatie, each one of our team members loves music. Scattered across our office are a couple of HomePods. Everyone in our team is free to stream his favourite...]]>
            </summary>
                                    <updated>2021-03-10T13:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A practical look at multi tenancy in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1922-a-practical-look-at-multi-tenancy-in-laravel" />
            <id>https://freek.dev/1922-a-practical-look-at-multi-tenancy-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this talk, given at Laracon Online 2020, I show a simple strategy to make any Laravel app tenant aware using our laravel-multitenancy package.]]>
            </summary>
                                    <updated>2021-03-09T16:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Debug apps running on remote servers using Ray]]></title>
            <link rel="alternate" href="https://freek.dev/1921-debug-apps-running-on-remote-servers-using-ray" />
            <id>https://freek.dev/1921-debug-apps-running-on-remote-servers-using-ray</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Earlier this year, we released Ray, a desktop app that allows you to debug faster. Instead of dumping values to the browser or console, Ray allows you to display...]]>
            </summary>
                                    <updated>2021-03-20T21:00:12+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[macOS settings I always customize]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/macos-settings-i-always-customize/" />
            <id>https://sebastiandedeyne.com/macos-settings-i-always-customize/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[When I set up a new Mac, there are a few things that make it immediately feel “off” to me. These are the small System Preferences tweaks I make that...]]>
            </summary>
                                    <updated>2021-03-03T10:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to customize Jetstream and Laravel Spark]]></title>
            <link rel="alternate" href="https://freek.dev/1912-how-to-customize-jetstream-and-laravel-spark" />
            <id>https://freek.dev/1912-how-to-customize-jetstream-and-laravel-spark</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this blog post, I'd like to share how we moved from classic to modern Spark for billing and Jetstream for team management. You'll also learn various ways how...]]>
            </summary>
                                    <updated>2021-03-02T19:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Twitter Break]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/twitter-break/" />
            <id>https://sebastiandedeyne.com/twitter-break/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Around the end of January, I decided to take a break from Twitter for an undetermined amount of time. Twitter was my main source of distraction, and I wanted to...]]>
            </summary>
                                    <updated>2021-03-02T11:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to prefix ids in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/1911-a-package-to-prefix-ids-in-a-laravel-app" />
            <id>https://freek.dev/1911-a-package-to-prefix-ids-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've released a new package called spatie/laravel-prefixed-ids. In this post, I'd like to tell you all about it. Why prefix ids #When thinking of companies with excellent...]]>
            </summary>
                                    <updated>2021-02-25T09:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8.1: Enums ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-enums" />
            <id>https://stitcher.io/blog/php-enums</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[They are finally coming — built-in support for enums will be added in PHP 8.1! Some might consider them long overdue, but you don't hear me complain; I'm glad...]]>
            </summary>
                                    <updated>2021-09-11T13:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP Enums before PHP 8.1 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-enums-before-php-81" />
            <id>https://stitcher.io/blog/php-enums-before-php-81</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
# Native support in PHP 8.1!
You can read all about built-in enums in PHP 8.1 in this post. If you're looking for more...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Determining the start of the next business day in Oh Dear]]></title>
            <link rel="alternate" href="https://freek.dev/1900-determining-the-start-of-the-next-business-day-in-oh-dear" />
            <id>https://freek.dev/1900-determining-the-start-of-the-next-business-day-in-oh-dear</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[When a site is down, Oh Dear sends a notification every hour. Since last year, our notifications can be snoozed for a fixed amount of time (5 minutes, 1...]]>
            </summary>
                                    <updated>2021-02-08T11:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Responsive Art direction in Statamic]]></title>
            <link rel="alternate" href="https://www.rias.be/blog/responsive-art-direction-in-statamic" />
            <id>https://www.rias.be/blog/responsive-art-direction-in-statamic</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Art direction is nothing new, though there hasn&#039;t been an easy way to do it with most CMSs yet. Statamic, with the help of the spatie/statamic-responsive-images...]]>
            </summary>
                                    <updated>2021-02-11T13:18:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Responsive Art direction in Statamic]]></title>
            <link rel="alternate" href="https://rias.be/blog/responsive-art-direction-in-statamic" />
            <id>https://rias.be/blog/responsive-art-direction-in-statamic</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Art direction is nothing new, though there hasn't been an easy way to do it with most CMSs yet. Statamic, with the help of the spatie/statamic-responsive-images...]]>
            </summary>
                                    <updated>2021-07-12T12:49:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using composer patches]]></title>
            <link rel="alternate" href="https://www.rias.be/blog/using-composer-patches" />
            <id>https://www.rias.be/blog/using-composer-patches</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[When you use software that is open source, you&#039;ll sometimes run into issues or small bugs that have already been fixed by the community in a PR or an issue,...]]>
            </summary>
                                    <updated>2021-02-11T13:18:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using composer patches]]></title>
            <link rel="alternate" href="https://rias.be/blog/using-composer-patches" />
            <id>https://rias.be/blog/using-composer-patches</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[When you use software that is open source, you'll sometimes run into issues or small bugs that have already been fixed by the community in a PR or an issue,...]]>
            </summary>
                                    <updated>2021-07-12T12:49:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A mail driver to quickly preview mail in Laravel apps]]></title>
            <link rel="alternate" href="https://freek.dev/1891-a-mail-driver-to-quickly-preview-mail-in-laravel-apps" />
            <id>https://freek.dev/1891-a-mail-driver-to-quickly-preview-mail-in-laravel-apps</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Using our laravel-mail-preview package, you can quickly display mails that are sent by your Laravel application in your browser. Today, we've released v5 of the package. In this blog post,...]]>
            </summary>
                                    <updated>2021-01-28T14:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Simplifying service providers in Laravel packages]]></title>
            <link rel="alternate" href="https://freek.dev/1886-simplifying-service-providers-in-laravel-packages" />
            <id>https://freek.dev/1886-simplifying-service-providers-in-laravel-packages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In almost every Laravel package, there is a ServiceProvider class responsible for registering bindings package resources such as config files, views, migrations, ... While preparing a workshop that I...]]>
            </summary>
                                    <updated>2021-01-25T18:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Comparing DNS records on two nameservers]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2021/comparing-dns-records-on-two-nameservers" />
            <id>https://alexvanderbist.com/2021/comparing-dns-records-on-two-nameservers</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've all been there: you've just manually copied 30+ DNS records from one server to another and you're about to press the metaphorical red button by updating the domain's nameservers....]]>
            </summary>
                                    <updated>2024-04-11T16:01:43+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A storm in a glass of water ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/a-storm-in-a-glass-of-water" />
            <id>https://stitcher.io/blog/a-storm-in-a-glass-of-water</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I just read a post about PHP 8 that I couldn't just silently ignore. If you want to read it first, go check it out.
With a fitting...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[If it were up to me ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-reimagined" />
            <id>https://stitcher.io/blog/php-reimagined</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[If it were up to me, I'd change a thing or two about PHP.
Of course, I don't have anything to say about PHP's development, and that's ok. I still...]]>
            </summary>
                                    <updated>2021-01-13T12:00:19+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Websites should be more like Star Wars ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/websites-like-star-wars" />
            <id>https://stitcher.io/blog/websites-like-star-wars</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I have to admit I'm not the biggest Star Wars fan, but I can enjoy one of the movies from time to time. Whenever I watch one there is one...]]>
            </summary>
                                    <updated>2021-01-12T07:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Switching between PHP versions with Laravel Valet]]></title>
            <link rel="alternate" href="http://rubenvanassche.com/switching-between-php-versions-with-laravel-valet/" />
            <id>http://rubenvanassche.com/switching-between-php-versions-with-laravel-valet/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Since PHP8 was released we&apos;ve started upgrading all our projects to PHP 8, the things we can do with attributes, union types and other new features made us desire to...]]>
            </summary>
                                    <updated>2021-03-16T17:00:15+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Switching between PHP versions with Laravel Valet]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/switching-between-php-versions-with-laravel-valet/" />
            <id>https://rubenvanassche.com/switching-between-php-versions-with-laravel-valet/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Since PHP8 was released we&apos;ve started upgrading all our projects to PHP 8, the things we can do with attributes, union types and other new features made us desire to...]]>
            </summary>
                                    <updated>2023-03-22T11:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Ray: a debugging tool for pragmatic developers]]></title>
            <link rel="alternate" href="https://freek.dev/1868-introducing-ray-a-debugging-tool-for-pragmatic-developers" />
            <id>https://freek.dev/1868-introducing-ray-a-debugging-tool-for-pragmatic-developers</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce the immediate release of Ray, a desktop app that vastly improves your debugging experience. Ray is a dedicated window to send dumped values to. It...]]>
            </summary>
                                    <updated>2021-01-08T10:58:55+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Announcing our secret project]]></title>
            <link rel="alternate" href="https://freek.dev/1869-announcing-our-secret-project" />
            <id>https://freek.dev/1869-announcing-our-secret-project</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[These past few months, my team and I have worked on something that we think will be very usefull for PHP and Laravel devs. At 14:30 CEST you can see me...]]>
            </summary>
                                    <updated>2021-01-08T10:58:55+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Some notes on slow queues and Redis over TLS]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2021/slow-queues-and-redis-over-tls" />
            <id>https://alexvanderbist.com/2021/slow-queues-and-redis-over-tls</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[When playing around with a load testing tool and Laravel queues I started noticing a weird pattern: every 22 dispatched jobs, there would be a 5 second delay on all...]]>
            </summary>
                                    <updated>2024-04-11T16:01:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[jq]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/jq/" />
            <id>https://sebastiandedeyne.com/jq/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I rediscovered jq the other day, a little command line tool to format, read, and transform JSON from the command line.
Jq falls into one of my favorite categories of...]]>
            </summary>
                                    <updated>2021-01-04T21:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to be right on the internet ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/how-to-be-right-on-the-internet" />
            <id>https://stitcher.io/blog/how-to-be-right-on-the-internet</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The internet is a wonderful place. It's full of knowledge, it enables us to stay close to family and friends, and sometimes there are people who get under your skin...]]>
            </summary>
                                    <updated>2020-12-31T09:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A recap of 2020]]></title>
            <link rel="alternate" href="https://freek.dev/1863-a-recap-of-2020" />
            <id>https://freek.dev/1863-a-recap-of-2020</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[What a year this has been. I guess that in January, nobody suspected that we'd got ourselves a worldwide pandemic on our hands. For many people, 2020 has been a pretty...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Laravel Blade with Statamic]]></title>
            <link rel="alternate" href="https://www.rias.be/blog/using-laravel-blade-with-statamic" />
            <id>https://www.rias.be/blog/using-laravel-blade-with-statamic</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Statamic v3 has added support for other template languages in addition to their own "Antlers" templating language. Recently when creating a new website for one of our clients,...]]>
            </summary>
                                    <updated>2021-02-11T13:18:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Laravel Blade with Statamic]]></title>
            <link rel="alternate" href="https://rias.be/blog/using-laravel-blade-with-statamic" />
            <id>https://rias.be/blog/using-laravel-blade-with-statamic</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Statamic v3 has added support for other template languages in addition to their own "Antlers" templating language. Recently when creating a new website for one of our clients,...]]>
            </summary>
                                    <updated>2021-07-12T12:49:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Consistency]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/consistency/" />
            <id>https://sebastiandedeyne.com/consistency/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[There are two bike stalls near my apartment. One is right in front of the door, the other around the corner. The one in front of the door is closest,...]]>
            </summary>
                                    <updated>2020-12-27T22:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Refactoring the mailcoach codebase to domains]]></title>
            <link rel="alternate" href="https://freek.dev/1861-refactoring-the-mailcoach-codebase-to-domains" />
            <id>https://freek.dev/1861-refactoring-the-mailcoach-codebase-to-domains</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm currently working on the next major version of Mailcoach, a package that allows you to send e-mail campaigns using your Laravel app. The package is already quite big, and...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Installing Blackfire on Laravel Vapor]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/8-installing-blackfire-on-laravel-vapor" />
            <id>https://flareapp.io/blog/8-installing-blackfire-on-laravel-vapor</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Over at Flare we're dealing with a lot of traffic on just one endpoint backed by AWS Lambda. Our base approach here is "store first, process later" (later meaning just...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Installing Blackfire on Laravel Vapor]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/installing-blackfire-on-laravel-vapor" />
            <id>https://flareapp.io/blog/installing-blackfire-on-laravel-vapor</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Over at Flare we're dealing with a lot of traffic on just one endpoint backed by AWS Lambda. Our base approach here is "store first, process later" (later meaning just...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[When to add types and when to infer in TypeScript]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/when-to-add-types-and-when-to-infer-in-typescript/" />
            <id>https://sebastiandedeyne.com/when-to-add-types-and-when-to-infer-in-typescript/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Type inference is the ability to derive types from other pieces of code. TypeScript’s type inference is very powerful, even a minimal amount of typing adds a lot of assertions....]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Local-first software]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/local-first-software/" />
            <id>https://sebastiandedeyne.com/local-first-software/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Google went down today. Downtime at this scale doesn’t happen often, but when it rains, it pours. Google going down doesn’t only affect Google products, it also affect products connected...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Triaging feedback on GitHub using issues and discussion]]></title>
            <link rel="alternate" href="https://freek.dev/1856-triaging-feedback-on-github-using-issues-and-discussion" />
            <id>https://freek.dev/1856-triaging-feedback-on-github-using-issues-and-discussion</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Yesterday, GitHub launched discussions as a public beta. We've been using the feature for a couple months. In this blogpost, I'd like to share how we will use...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Moving PHP and Laravel tests from Travis CI to GitHub Actions]]></title>
            <link rel="alternate" href="https://freek.dev/1853-moving-php-and-laravel-tests-from-travis-ci-to-github-actions" />
            <id>https://freek.dev/1853-moving-php-and-laravel-tests-from-travis-ci-to-github-actions</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Earlier this year, Travis CI announced a new pricing model that effectively ends the generous open-source offering they had for many years. It seems that, even though there were...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building the Imagick PHP extension from master]]></title>
            <link rel="alternate" href="https://freek.dev/1845-building-the-imagick-php-extension-from-master" />
            <id>https://freek.dev/1845-building-the-imagick-php-extension-from-master</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[At the time of writing there is no version of Imagick compatible with PHP 8. Fortuntely, the version on the master brach of the Imagick repo seems to work. Here's...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[When I lost a few hundred leads ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/when-i-lost-a-few-hundred-leads" />
            <id>https://stitcher.io/blog/when-i-lost-a-few-hundred-leads</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
Before you start…
Some readers have reached out to me and talked about solutions to the technical problems described in this post. I'd like to make clear that...]]>
            </summary>
                                    <updated>2020-12-31T12:16:33+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My current setup (end 2020 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/1844-my-current-setup-end-2020-edition" />
            <id>https://freek.dev/1844-my-current-setup-end-2020-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[After tweeting out a screenshot, it often get questions around which editor, font or color scheme I'm using. Instead of replying to those questions individually I've decided to...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Announcing Blogs for Devs ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/blogs-for-devs" />
            <id>https://stitcher.io/blog/blogs-for-devs</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
    Index

    
        01 – Intro
        02 – Content is King
        03 – The Stack
        04 – Your Audience
        05 – Interaction...]]>
            </summary>
                                    <updated>2020-12-31T12:16:33+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What's new in PHP 8 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/new-in-php-8" />
            <id>https://stitcher.io/blog/new-in-php-8</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP 8 was released on November 26, 2020. You can download it here. It's a new major version, which means that there are some breaking changes, as well...]]>
            </summary>
                                    <updated>2021-12-02T12:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Upgrade to PHP 8 with Homebrew on Mac ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-8-upgrade-mac" />
            <id>https://stitcher.io/blog/php-8-upgrade-mac</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
    
        I'm creating a four-part mini-series on YouTube about generics in PHP: what they are, how we can use them today, and what's possible in the future....]]>
            </summary>
                                    <updated>2022-03-16T13:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A better way to work with a backtrace in PHP]]></title>
            <link rel="alternate" href="https://freek.dev/1840-a-better-way-to-work-with-a-backtrace-in-php" />
            <id>https://freek.dev/1840-a-better-way-to-work-with-a-backtrace-in-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[To get the backtrace in PHP, you can use the debug_backtrace function. By default, it can be hard to work with. Using our newly released spatie/backtrace package, this becomes...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8: the null safe operator ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-8-nullsafe-operator" />
            <id>https://stitcher.io/blog/php-8-nullsafe-operator</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you've used the null coalescing operator in the past, you probably also noticed its shortcomings: null coalescing doesn't work on method calls. Instead you need intermediate checks, or...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automatically generating your Laravel morph map]]></title>
            <link rel="alternate" href="http://rubenvanassche.com/automatically-generating-your-laravel-morph-map/" />
            <id>http://rubenvanassche.com/automatically-generating-your-laravel-morph-map/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Polymorphic relations in Laravel are a very cool feature! You can create a model like Comment and link it to models like Post and Article. Such a link can...]]>
            </summary>
                                    <updated>2021-03-12T10:30:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automatically generating your Laravel morph map]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/automatically-generating-your-laravel-morph-map/" />
            <id>https://rubenvanassche.com/automatically-generating-your-laravel-morph-map/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Polymorphic relations in Laravel are a very cool feature! You can create a model like Comment and link it to models like Post and Article. Such a link can...]]>
            </summary>
                                    <updated>2023-03-22T11:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Media Library Pro makes uploading files to a Laravel app a breeze]]></title>
            <link rel="alternate" href="https://freek.dev/1822-media-library-pro-makes-uploading-files-to-a-laravel-app-a-breeze" />
            <id>https://freek.dev/1822-media-library-pro-makes-uploading-files-to-a-laravel-app-a-breeze</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce that Media Library Pro is now available. Media Library Pro is an add-on package for our free Media Library base package. It contains a...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Store strongly typed settings in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/1828-store-strongly-typed-settings-in-a-laravel-app" />
            <id>https://freek.dev/1828-store-strongly-typed-settings-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We have released a new package, called spatie/laravel-settings, that allows you to strongly type settings in a Laravel app. In this blog post, I'd like to introduce the package...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Encrypting and signing data using private/public keys in PHP]]></title>
            <link rel="alternate" href="https://freek.dev/1829-encrypting-and-signing-data-using-privatepublic-keys-in-php" />
            <id>https://freek.dev/1829-encrypting-and-signing-data-using-privatepublic-keys-in-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[For a project, I needed to make sure that a particular piece of data actually came from a specific source. There are already many packages that allow you to do...]]>
            </summary>
                                    <updated>2020-12-27T22:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Learn all new PHP 8 features by watching this free video course]]></title>
            <link rel="alternate" href="https://freek.dev/1826-learn-all-new-php-8-features-by-watching-this-free-video-course" />
            <id>https://freek.dev/1826-learn-all-new-php-8-features-by-watching-this-free-video-course</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Together with my colleague Brent, I've created Front Line PHP, a book and video course on building modern applications with PHP 8. You can purchase the book here. The...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[spatie/once v3 has been released, now uses a PHP 8 WeakMap]]></title>
            <link rel="alternate" href="https://freek.dev/1824-spatieonce-v3-has-been-released-now-uses-a-php-8-weakmap" />
            <id>https://freek.dev/1824-spatieonce-v3-has-been-released-now-uses-a-php-8-weakmap</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I've just released a new major version of the spatie/once package. This version uses the WeakMap class which is introduced in PHP 8. In this short post I'd like...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Casual Conversation Call #2 with Christoph Rumpel]]></title>
            <link rel="alternate" href="https://freek.dev/1823-casual-conversation-call-2-with-christoph-rumpel" />
            <id>https://freek.dev/1823-casual-conversation-call-2-with-christoph-rumpel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's the recording of a casual conversation between Christoph Rumpel and me we had last week. Here are links to...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The best PRs we got in October]]></title>
            <link rel="alternate" href="https://freek.dev/1821-the-best-prs-we-got-in-october" />
            <id>https://freek.dev/1821-the-best-prs-we-got-in-october</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[At Spatie, we want to stimulate contributing to our open source stuff. That's why we said that we'd give away some of our paid products for free to...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The problems with traditional form uploads]]></title>
            <link rel="alternate" href="https://freek.dev/1820-the-problems-with-traditional-form-uploads" />
            <id>https://freek.dev/1820-the-problems-with-traditional-form-uploads</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[When handling uploads, a traditional input type of file has some downsides. In this streaming session I did yesterday, I explain those problems and share how they can be fixed...]]>
            </summary>
                                    <updated>2020-12-27T22:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8: How to setup the JIT ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-8-jit-setup" />
            <id>https://stitcher.io/blog/php-8-jit-setup</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP 8 adds a JIT compiler to PHP's core which has the potential to speed up performance dramatically. There are some sidenotes to be made about the actual...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Worldwide Meetup #4: GitHub Actions & Unconventional Autoloaders]]></title>
            <link rel="alternate" href="https://freek.dev/1817-laravel-worldwide-meetup-4-github-actions-unconventional-autoloaders" />
            <id>https://freek.dev/1817-laravel-worldwide-meetup-4-github-actions-unconventional-autoloaders</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's the recording of Laravel Worldwide Meetup #4. Ryan Chandler showed a cool GitHub Action workflow to test a Laravel app. Next, Liam Hammet demonstrated some unconvential things you...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Exploring PHP 8 features]]></title>
            <link rel="alternate" href="https://freek.dev/1816-exploring-php-8-features" />
            <id>https://freek.dev/1816-exploring-php-8-features</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[In preparation for creating the Front Line PHP video course I needed to make myself familiar with the features that PHP 8 brings to the table. In this stream...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Adding a subscription form to the web views of Mailcoach]]></title>
            <link rel="alternate" href="https://freek.dev/1811-adding-a-subscription-form-to-the-web-views-of-mailcoach" />
            <id>https://freek.dev/1811-adding-a-subscription-form-to-the-web-views-of-mailcoach</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[After sending a new edition of my newsletter, I usually tweet out a webview URL together with a URL where people can subscribe to the newsletter. A webview is a...]]>
            </summary>
                                    <updated>2020-12-27T22:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Get started with Psalm on a long-living project]]></title>
            <link rel="alternate" href="https://vanpachtenbeke.com/posts/get-started-with-psalm-on-a-long-living-project" />
            <id>https://vanpachtenbeke.com/posts/get-started-with-psalm-on-a-long-living-project</id>
            <author>
                <name><![CDATA[vanpachtenbeke.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Static analysis like Psalm and Phpstan are increasing popularity in the PHP world. It gives us the ability to discover unknown potential bugs in our code without actually running it.]]>
            </summary>
                                    <updated>2023-09-22T17:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Laravel Backup Server]]></title>
            <link rel="alternate" href="https://freek.dev/1807-introducing-laravel-backup-server" />
            <id>https://freek.dev/1807-introducing-laravel-backup-server</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm proud to announce the release of our newest package Laravel Backup Server. This paid package can backup several servers at once. When a backup contains files also present in...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Embed a web page with a web component and the shadow DOM]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/embed-a-web-page-with-a-web-component-and-the-shadow-dom/" />
            <id>https://sebastiandedeyne.com/embed-a-web-page-with-a-web-component-and-the-shadow-dom/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today, my colleague Freek asked for help embedding the webview of an email campaign in an iframe. He needed it in an iframe because embedding the HTML directly caused...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Going deep]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/going-deep/" />
            <id>https://sebastiandedeyne.com/going-deep/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I recently stumbled across an over 5 year old comment on Hacker News about performance.

Lots of people make the mistake of thinking there’s only two vectors you...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Selling digital products using Laravel part 10: Miscellaneous interesting tidbits + outro]]></title>
            <link rel="alternate" href="https://freek.dev/1798-selling-digital-products-using-laravel-part-10-miscellaneous-interesting-tidbits-outro" />
            <id>https://freek.dev/1798-selling-digital-products-using-laravel-part-10-miscellaneous-interesting-tidbits-outro</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[We've already covered a lot of ground in this series. Let's finish by highlighting some miscellaneous interesting tidbits....]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Selling digital products using Laravel part 9: Serving ads on GitHub]]></title>
            <link rel="alternate" href="https://freek.dev/1797-selling-digital-products-using-laravel-part-9-serving-ads-on-github" />
            <id>https://freek.dev/1797-selling-digital-products-using-laravel-part-9-serving-ads-on-github</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-11-24T08:53:19+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Selling digital products using Laravel part 8: Mailing updates and news using Mailcoach]]></title>
            <link rel="alternate" href="https://freek.dev/1796-selling-digital-products-using-laravel-part-8-mailing-updates-and-news-using-mailcoach" />
            <id>https://freek.dev/1796-selling-digital-products-using-laravel-part-8-mailing-updates-and-news-using-mailcoach</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-11-24T08:53:19+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Selling digital products using Laravel part 7: Importing package documentation from GitHub]]></title>
            <link rel="alternate" href="https://freek.dev/1795-selling-digital-products-using-laravel-part-7-importing-package-documentation-from-github" />
            <id>https://freek.dev/1795-selling-digital-products-using-laravel-part-7-importing-package-documentation-from-github</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-11-24T08:53:19+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Selling digital products using Laravel part 6: Building a video section using Vimeo]]></title>
            <link rel="alternate" href="https://freek.dev/1794-selling-digital-products-using-laravel-part-6-building-a-video-section-using-vimeo" />
            <id>https://freek.dev/1794-selling-digital-products-using-laravel-part-6-building-a-video-section-using-vimeo</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-11-24T08:53:19+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Selling digital products using Laravel part 5: Using Satis to install private packages]]></title>
            <link rel="alternate" href="https://freek.dev/1793-selling-digital-products-using-laravel-part-5-using-satis-to-install-private-packages" />
            <id>https://freek.dev/1793-selling-digital-products-using-laravel-part-5-using-satis-to-install-private-packages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-11-24T08:53:19+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Selling digital products using Laravel part 4: Making a sale using Paddle]]></title>
            <link rel="alternate" href="https://freek.dev/1792-selling-digital-products-using-laravel-part-4-making-a-sale-using-paddle" />
            <id>https://freek.dev/1792-selling-digital-products-using-laravel-part-4-making-a-sale-using-paddle</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-11-24T08:53:19+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Selling digital products using Laravel part 3: Giving customers access to private repositories on Github]]></title>
            <link rel="alternate" href="https://freek.dev/1791-selling-digital-products-using-laravel-part-3-giving-customers-access-to-private-repositories-on-github" />
            <id>https://freek.dev/1791-selling-digital-products-using-laravel-part-3-giving-customers-access-to-private-repositories-on-github</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-11-24T08:53:19+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A conversation with Christoph Rumpel]]></title>
            <link rel="alternate" href="https://freek.dev/1782-a-conversation-with-christoph-rumpel" />
            <id>https://freek.dev/1782-a-conversation-with-christoph-rumpel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-10-09T10:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to schedule posts on a static Hugo site with Netlify and GitHub Actions]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/how-to-schedule-posts-with-hugo-netlify-and-github-actions/" />
            <id>https://sebastiandedeyne.com/how-to-schedule-posts-with-hugo-netlify-and-github-actions/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[If all went well, this post was published automatically. I added the ability to schedule posts on my static blog (built with Hugo). I wrote a short GitHub Action to...]]>
            </summary>
                                    <updated>2020-12-27T22:00:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sublime is still sublime]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/sublime-is-still-sublime/" />
            <id>https://sebastiandedeyne.com/sublime-is-still-sublime/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I’m trying something new (well, old): Sublime Text. Sublime was my favourite editor for years. It took me a while to not crave Sublime’s speed in VS Code, but Code’s...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building on the web isn't building for the web]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/building-on-the-web-isnt-building-for-the-web/" />
            <id>https://sebastiandedeyne.com/building-on-the-web-isnt-building-for-the-web/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today I read “Web Apps Are Not A Thing, Please Stop” by Robin Rendle, who makes a point that we should stop treating websites different from web apps.
...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating a "Marked as Completed" button using Livewire]]></title>
            <link rel="alternate" href="https://freek.dev/1775-creating-a-marked-as-completed-button-using-livewire" />
            <id>https://freek.dev/1775-creating-a-marked-as-completed-button-using-livewire</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-10-05T09:00:08+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Front Line PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/front-line-php" />
            <id>https://stitcher.io/blog/front-line-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I've been blogging for three years and a half: I've written about PHP, the web, programming in general, and here and there something completely off topic. When I started this...]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What a good PR looks like ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/what-a-good-pr-looks-like" />
            <id>https://stitcher.io/blog/what-a-good-pr-looks-like</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[It's Hacktoberfest, your chance to contribute to open source and win a t-shirt while at it! Being an open source maintainer myself, I find it a...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Worldwide Meetup #3: Yaz Jallad & Adel Fayzrakhmanov]]></title>
            <link rel="alternate" href="https://freek.dev/1772-laravel-worldwide-meetup-3-yaz-jallad-adel-fayzrakhmanov" />
            <id>https://freek.dev/1772-laravel-worldwide-meetup-3-yaz-jallad-adel-fayzrakhmanov</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-10-01T14:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Scopes in JetBrains IDEs ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/phpstorm-scopes" />
            <id>https://stitcher.io/blog/phpstorm-scopes</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Any JetBrains IDE has an amazing feature that can significantly improve your development experience; whether it's PhpStorm, WebStorm, IntelliJ IDEA, PyCharm, or any other project; this feature enables better search...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Which colour scheme is better? ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/why-light-themes-are-better-according-to-science" />
            <id>https://stitcher.io/blog/why-light-themes-are-better-according-to-science</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[As a programmer I think I should always critically look at my own toolset and try to optimise it, regardless of my own subjective preference. It's by doing so that...]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Typing your frontend from the backend]]></title>
            <link rel="alternate" href="http://rubenvanassche.com/typing-your-frontend-from-the-backend/" />
            <id>http://rubenvanassche.com/typing-your-frontend-from-the-backend/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[In the past few months, we&apos;ve been working on one of the biggest projects we&apos;ve ever done. However, we had some experience with projects of this size. We knew this...]]>
            </summary>
                                    <updated>2021-03-16T17:00:15+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Typing your frontend from the backend]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/typing-your-frontend-from-the-backend/" />
            <id>https://rubenvanassche.com/typing-your-frontend-from-the-backend/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[In the past few months, we&apos;ve been working on one of the biggest projects we&apos;ve ever done. However, we had some experience with projects of this size. We knew this...]]>
            </summary>
                                    <updated>2023-03-22T11:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why and how you should monitor scheduled tasks]]></title>
            <link rel="alternate" href="https://freek.dev/1767-why-and-how-you-should-monitor-scheduled-tasks" />
            <id>https://freek.dev/1767-why-and-how-you-should-monitor-scheduled-tasks</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-09-24T11:00:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to call an overridden trait function]]></title>
            <link rel="alternate" href="https://freek.dev/1764-how-to-call-an-overridden-trait-function" />
            <id>https://freek.dev/1764-how-to-call-an-overridden-trait-function</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-09-21T10:00:07+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to safely delete records in massive tables on AWS using Laravel]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/7-how-to-safely-delete-records-in-massive-tables-on-aws-using-laravel" />
            <id>https://flareapp.io/blog/7-how-to-safely-delete-records-in-massive-tables-on-aws-using-laravel</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When reviewing the contents of the database of Flare, we encountered a table with 1 billion records. Technically that isn't a problem. Flare runs on Vapor and uses an...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to safely delete records in massive tables on AWS using Laravel]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/how-to-safely-delete-records-in-massive-tables-on-aws-using-laravel" />
            <id>https://flareapp.io/blog/how-to-safely-delete-records-in-massive-tables-on-aws-using-laravel</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When reviewing the contents of the database of Flare, we encountered a table with 1 billion records. Technically that isn't a problem. Flare runs on Vapor and uses an...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The case for transpiled generics in PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/the-case-for-transpiled-generics" />
            <id>https://stitcher.io/blog/the-case-for-transpiled-generics</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
This is a mail I sent to PHP's internals, these are my thoughts, and you can follow the internals discussion here, or share your own thoughts ]]>
            </summary>
                                    <updated>2021-07-16T07:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Moment.js, thank you for your service]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/moment-js-thank-you-for-your-service/" />
            <id>https://sebastiandedeyne.com/moment-js-thank-you-for-your-service/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you’ve dealt with dates in the browser, chances are you’ve used Moment. js. Moment has been the date library for JavaScript in the past years. In a humble prelude...]]>
            </summary>
                                    <updated>2020-12-31T12:16:32+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to schedule commands to run every few seconds in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/1743-how-to-schedule-commands-to-run-every-few-seconds-in-a-laravel-app" />
            <id>https://freek.dev/1743-how-to-schedule-commands-to-run-every-few-seconds-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-09-03T12:00:41+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8: Attributes ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/attributes-in-php-8" />
            <id>https://stitcher.io/blog/attributes-in-php-8</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[As of PHP 8, we'll be able to use attributes. The goal of these attributes, also known as annotations in many other languages, is to add meta data to classes,...]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Don't get stuck ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/dont-get-stuck" />
            <id>https://stitcher.io/blog/dont-get-stuck</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Note: this post is about a previous job, not my current one.
Both managers were looking at me in disbelief, they seemed to be stunned for a few seconds. I...]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Annotations ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/annotations" />
            <id>https://stitcher.io/blog/annotations</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
Show large image]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Laravel Beyond CRUD: a way of building large Laravel applications]]></title>
            <link rel="alternate" href="https://freek.dev/1736-introducing-laravel-beyond-crud-a-way-of-building-large-laravel-applications" />
            <id>https://freek.dev/1736-introducing-laravel-beyond-crud-a-way-of-building-large-laravel-applications</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-08-31T19:00:40+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Beyond CRUD is here! ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-beyond-crud-is-here" />
            <id>https://stitcher.io/blog/laravel-beyond-crud-is-here</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[It's been over a year in the making and I happy to say it's here: the Laravel Beyond CRUD book and video course are now available. Regular followers...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to group queued jobs using Laravel 8's new Batch class]]></title>
            <link rel="alternate" href="https://freek.dev/1734-how-to-group-queued-jobs-using-laravel-8s-new-batch-class" />
            <id>https://freek.dev/1734-how-to-group-queued-jobs-using-laravel-8s-new-batch-class</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-08-31T19:00:40+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Differences ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/differences" />
            <id>https://stitcher.io/blog/differences</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
Show large image]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Things you didn't know you could diff in GitHub]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/things-you-didnt-know-you-could-diff-in-github/" />
            <id>https://sebastiandedeyne.com/things-you-didnt-know-you-could-diff-in-github/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[If GitHub is your daily driver or you’ve contributed to open source at some point, you’ve probably seen the comparison screen before.

]]>
            </summary>
                                    <updated>2020-12-31T12:16:33+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Video: building a realtime dashboard power by Laravel and Livewire]]></title>
            <link rel="alternate" href="https://freek.dev/1724-video-building-a-realtime-dashboard-power-by-laravel-and-livewire" />
            <id>https://freek.dev/1724-video-building-a-realtime-dashboard-power-by-laravel-and-livewire</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-08-09T12:00:42+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Blade components for handling layouts]]></title>
            <link rel="alternate" href="https://freek.dev/1723-using-blade-components-for-handling-layouts" />
            <id>https://freek.dev/1723-using-blade-components-for-handling-layouts</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-07-30T15:00:42+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Customising and extending Laravel Form Requests]]></title>
            <link rel="alternate" href="https://freek.dev/1721-customising-and-extending-laravel-form-requests" />
            <id>https://freek.dev/1721-customising-and-extending-laravel-form-requests</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-07-28T17:00:43+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to clean up huge tables in Laravel with ease]]></title>
            <link rel="alternate" href="https://freek.dev/1720-how-to-clean-up-huge-tables-in-laravel-with-ease" />
            <id>https://freek.dev/1720-how-to-clean-up-huge-tables-in-laravel-with-ease</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-07-27T14:00:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Open‑sourcing Tinker.app]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2020/tinker-app" />
            <id>https://alexvanderbist.com/2020/tinker-app</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Back in 2017 I started working on Tinker. app: a hosted, in-browser version of Laravel's Tinker tool. It allows you to run and debug PHP code straight from a browser window....]]>
            </summary>
                                    <updated>2024-04-11T16:01:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My journey into event sourcing ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/my-journey-into-event-sourcing" />
            <id>https://stitcher.io/blog/my-journey-into-event-sourcing</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this post I want to share four talks that have guided me into the world of event driven development, and by extent into event sourcing.
I wanted to share...]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8: named arguments ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-8-named-arguments" />
            <id>https://stitcher.io/blog/php-8-named-arguments</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[It was a close call, but named arguments — also called named parameters — are supported in PHP 8! In this post I'll discuss their ins and outs,...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8: before and after ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-8-before-and-after" />
            <id>https://stitcher.io/blog/php-8-before-and-after</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[It's only a few months before PHP 8 will be released, and honestly there are so many good features. In this post I want to share the real-life impact...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Watch the recording of Laravel Meetup #1]]></title>
            <link rel="alternate" href="https://freek.dev/1719-watch-the-recording-of-laravel-meetup-1" />
            <id>https://freek.dev/1719-watch-the-recording-of-laravel-meetup-1</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-07-15T10:00:39+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Rsync]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/unix-things/rsync/" />
            <id>https://sebastiandedeyne.com/unix-things/rsync/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-08-13T11:00:42+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Laravel Schedule Monitor]]></title>
            <link rel="alternate" href="https://freek.dev/1711-introducing-laravel-schedule-monitor" />
            <id>https://freek.dev/1711-introducing-laravel-schedule-monitor</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-07-14T14:00:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Shorthand comparisons in PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/shorthand-comparisons-in-php" />
            <id>https://stitcher.io/blog/shorthand-comparisons-in-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[You probably already know some comparison operators in PHP.
Things like the ternary ?:, the null coalescing ?? and the spaceship  operators.
But do you really know how they...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why we need named arguments in PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/why-we-need-named-params-in-php" />
            <id>https://stitcher.io/blog/why-we-need-named-params-in-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[There's a new RFC in town for PHP 8, and its name is the named arguments RFC.
If you're eligible to vote, or know someone who can:...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Announcing the Laravel Beyond CRUD video course and book]]></title>
            <link rel="alternate" href="https://freek.dev/1712-announcing-the-laravel-beyond-crud-video-course-and-book" />
            <id>https://freek.dev/1712-announcing-the-laravel-beyond-crud-video-course-and-book</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-07-09T17:00:42+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel beyond CRUD: the next chapter ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-beyond-crud" />
            <id>https://stitcher.io/blog/laravel-beyond-crud</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[It's been almost a year since I released the first post in a series called "Laravel beyond CRUD'. Its goal to teach about how we've been building large application with...]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8: match or switch? ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-8-match-or-switch" />
            <id>https://stitcher.io/blog/php-8-match-or-switch</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP 8 introduces the new match expression. A powerful feature that will often be the better choice to using switch. So what exactly are the differences?

    ]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8: JIT performance in real-life web applications ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/jit-in-real-life-web-applications" />
            <id>https://stitcher.io/blog/jit-in-real-life-web-applications</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[For those interested in the JIT in PHP 8, I did some benchmarks for you in real-world web application scenario. Be aware that these benchmarks don't say anything about...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Announcing the Laravel Worldwide Meetup]]></title>
            <link rel="alternate" href="https://freek.dev/1703-announcing-the-laravel-worldwide-meetup" />
            <id>https://freek.dev/1703-announcing-the-laravel-worldwide-meetup</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-06-30T16:00:45+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Braille, and the evolution of software development ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/braille-and-the-history-of-software" />
            <id>https://stitcher.io/blog/braille-and-the-history-of-software</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Back in 1785, a Frenchman named Valentin Haüy founded the Institute for Blind Youth in Paris. Several years before, he was touched seeing blind children on the streets,...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Meetup time: discovering Laravel Workbench and Exploring Pest 0.2]]></title>
            <link rel="alternate" href="https://freek.dev/1694-meetup-time-discovering-laravel-workbench-and-exploring-pest-02" />
            <id>https://freek.dev/1694-meetup-time-discovering-laravel-workbench-and-exploring-pest-02</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-06-23T12:00:43+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Abstract resources in Laravel Nova ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/abstract-resources-in-laravel-nova" />
            <id>https://stitcher.io/blog/abstract-resources-in-laravel-nova</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[One of the major coding architecture strategies I use when building a complex Laravel Nova project
is the ability to have an abstract resource class.
Before starting by the way,...]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Enable early access Metal support for JetBrains IDEs]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2020/enable-early-access-metal-support-for-jetbrains-ides" />
            <id>https://alexvanderbist.com/2020/enable-early-access-metal-support-for-jetbrains-ides</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[JetBrains probably has some of the best IDEs out there. However, if you've ever used one for more than two minutes, you'll know it's not their speed that puts them...]]>
            </summary>
                                    <updated>2024-04-11T16:01:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Effective task management with Things]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/effective-task-management-with-things/" />
            <id>https://sebastiandedeyne.com/effective-task-management-with-things/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-06-23T11:00:47+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Adding try/catch to Laravel collections]]></title>
            <link rel="alternate" href="https://freek.dev/1691-adding-trycatch-to-laravel-collections" />
            <id>https://freek.dev/1691-adding-trycatch-to-laravel-collections</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-06-15T19:00:42+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8: Constructor property promotion ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/constructor-promotion-in-php-8" />
            <id>https://stitcher.io/blog/constructor-promotion-in-php-8</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Personally, I use value objects and data transfer objects all the time in my projects. I even wrote a dedicated post on how to treat data in our code...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Survey results: type systems in PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/type-system-in-php-survey-results" />
            <id>https://stitcher.io/blog/type-system-in-php-survey-results</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I use PHP's type system as much as possible, though often found resistance with the people I interact with on Twitter and Reddit.
After having discussed the topic numerous times,...]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to schedule Artisan commands at sub-minute frequencies]]></title>
            <link rel="alternate" href="https://freek.dev/1683-a-package-to-schedule-artisan-commands-at-sub-minute-frequencies" />
            <id>https://freek.dev/1683-a-package-to-schedule-artisan-commands-at-sub-minute-frequencies</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-06-08T14:00:39+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Caption images with markdown render hooks in Hugo]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/captioned-images-with-markdown-render-hooks-in-hugo/" />
            <id>https://sebastiandedeyne.com/captioned-images-with-markdown-render-hooks-in-hugo/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-06-08T11:00:38+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to merge multidimensional arrays in PHP? ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/merging-multidimensional-arrays-in-php" />
            <id>https://stitcher.io/blog/merging-multidimensional-arrays-in-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you want to join two multidimensional arrays in PHP, you should still use array_merge, and not array_merge_recursive. Confused? So was I. Let's explain what's happening.

    ]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What does array + do in PHP? ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/what-is-array-plus-in-php" />
            <id>https://stitcher.io/blog/what-is-array-plus-in-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In PHP it's possible to do array + array. The "plus" sign is a shorthand way of merging arrays, but there's a difference in how they are merged compared to...]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Adding try/catch to Laravel collections]]></title>
            <link rel="alternate" href="https://freek.dev/1676-adding-trycatch-to-laravel-collections" />
            <id>https://freek.dev/1676-adding-trycatch-to-laravel-collections</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-06-03T19:00:43+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Improving readability by decreasing indentation]]></title>
            <link rel="alternate" href="https://freek.dev/1677-improving-readability-by-decreasing-indentation" />
            <id>https://freek.dev/1677-improving-readability-by-decreasing-indentation</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-06-03T19:00:43+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Middleware as a Laravel service provider]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/middleware-as-a-laravel-service-provider/" />
            <id>https://sebastiandedeyne.com/middleware-as-a-laravel-service-provider/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-06-03T10:00:40+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Survey: type systems in PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/type-system-in-php-survey" />
            <id>https://stitcher.io/blog/type-system-in-php-survey</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Hi there! Thanks for spending 5 minutes of your time on this quick survey. My goal with it is to investigate the correlation between type-systems and project size in the...]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Zipping]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/unix-things/zipping/" />
            <id>https://sebastiandedeyne.com/unix-things/zipping/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-06-02T12:00:41+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What's the latest PHP version? ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/the-latest-php-version" />
            <id>https://stitcher.io/blog/the-latest-php-version</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[It seems like a simple question with a simple answer: the latest PHP version currently is PHP 7.4. However! If you want to know more inside information about how...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Unlearning]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/unlearning/" />
            <id>https://sebastiandedeyne.com/unlearning/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-05-29T11:00:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Learn how to create PHP and Laravel packages using our new premium video course]]></title>
            <link rel="alternate" href="https://freek.dev/1672-learn-how-to-create-php-and-laravel-packages-using-our-new-premium-video-course" />
            <id>https://freek.dev/1672-learn-how-to-create-php-and-laravel-packages-using-our-new-premium-video-course</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-05-27T14:01:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How we created over 200 PHP and Laravel packages]]></title>
            <link rel="alternate" href="https://freek.dev/1671-how-we-created-over-200-php-and-laravel-packages" />
            <id>https://freek.dev/1671-how-we-created-over-200-php-and-laravel-packages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-05-27T14:01:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Improvements on Laravel Nova ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/improvements-on-laravel-nova" />
            <id>https://stitcher.io/blog/improvements-on-laravel-nova</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[# A long time ago in a galaxy far, far away…
Laravel Nova was launched on 22nd August 2018, as
the official administration panel for...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 7.4 in 7 code blocks ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-74-in-7-code-blocks" />
            <id>https://stitcher.io/blog/php-74-in-7-code-blocks</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP 7.4, the last edition in the 7.* series, brings lots of new and handy changes. This post lists the highlights, though there's much more to this release. You can...]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The IKEA effect ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/the-ikea-effect" />
            <id>https://stitcher.io/blog/the-ikea-effect</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[# The spark
A few days ago while I was browsing the forums, I stumbled across a discussion that was the spark for this article.
In short...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[An unopinionated package to make Laravel apps tenant aware]]></title>
            <link rel="alternate" href="https://freek.dev/1661-an-unopinionated-package-to-make-laravel-apps-tenant-aware" />
            <id>https://freek.dev/1661-an-unopinionated-package-to-make-laravel-apps-tenant-aware</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-05-20T19:01:10+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Builders and architects: two types of programmers ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/builders-and-architects-two-types-of-programmers" />
            <id>https://stitcher.io/blog/builders-and-architects-two-types-of-programmers</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[You're probably familiar with the feeling: a programmer in your vicinity or online just doesn't seem to get your point of view. Even though there's no doubt they are clearly...]]>
            </summary>
                                    <updated>2020-12-27T22:00:09+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Advanced Laravel migrations using temporary tables]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2020/advanced-laravel-migrations-using-temporary-tables" />
            <id>https://alexvanderbist.com/2020/advanced-laravel-migrations-using-temporary-tables</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you've ever ran a big migration in Laravel before you might know there are a lot of things that can go wrong. Processes go out of memory, migrations crashing...]]>
            </summary>
                                    <updated>2024-04-11T16:01:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8 in 8 code blocks ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-8-in-8-code-blocks" />
            <id>https://stitcher.io/blog/php-8-in-8-code-blocks</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP 8 brings lots of new features, in this list we'll look at the most outstanding ones. If you want a full list and background information, you can read about...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[array_chunk in PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/array-chunk-in-php" />
            <id>https://stitcher.io/blog/array-chunk-in-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP has a lot of undiscovered native functions for many devs. Usually, we don't discover these functions until there is a true need for them. array_chunk is certainly one of...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Refactoring callbacks to async/await]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/refactoring-callbacks-to-async-await/" />
            <id>https://sebastiandedeyne.com/refactoring-callbacks-to-async-await/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-05-08T12:01:29+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Enter & leave transitions]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/javascript-framework-diet/enter-leave-transitions/" />
            <id>https://sebastiandedeyne.com/javascript-framework-diet/enter-leave-transitions/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-05-07T10:01:30+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a realtime dashboard powered by Laravel, Livewire and Tailwind (2020 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/1645-building-a-realtime-dashboard-powered-by-laravel-livewire-and-tailwind-2020-edition" />
            <id>https://freek.dev/1645-building-a-realtime-dashboard-powered-by-laravel-livewire-and-tailwind-2020-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-04-29T17:01:50+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating a Tweet wall in 3 minutes using Laravel Dashboard]]></title>
            <link rel="alternate" href="https://freek.dev/1644-creating-a-tweet-wall-in-3-minutes-using-laravel-dashboard" />
            <id>https://freek.dev/1644-creating-a-tweet-wall-in-3-minutes-using-laravel-dashboard</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-04-28T08:01:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Shotgun upgrade your npm dependencies with yarn upgrade --latest]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/shotgun-upgrade-your-npm-dependencies-with-yarn-upgrade-latest/" />
            <id>https://sebastiandedeyne.com/shotgun-upgrade-your-npm-dependencies-with-yarn-upgrade-latest/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-04-27T18:01:25+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[📺 A walkthrough of Laravel Backup Server]]></title>
            <link rel="alternate" href="https://freek.dev/1636-a-walkthrough-of-laravel-backup-server" />
            <id>https://freek.dev/1636-a-walkthrough-of-laravel-backup-server</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-04-21T15:01:59+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mixing event sourcing in a traditional Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/1634-mixing-event-sourcing-in-a-traditional-laravel-app" />
            <id>https://freek.dev/1634-mixing-event-sourcing-in-a-traditional-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-04-20T15:01:49+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Enabling basic HTTP authentication with nginx on a Laravel Forge provisioned server]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/enabling-basic-http-authentication-with-nginx-on-a-laravel-forge-provisioned-server/" />
            <id>https://sebastiandedeyne.com/enabling-basic-http-authentication-with-nginx-on-a-laravel-forge-provisioned-server/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-04-20T21:01:17+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Combining event sourcing and stateful systems ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/combining-event-sourcing-and-stateful-systems" />
            <id>https://stitcher.io/blog/combining-event-sourcing-and-stateful-systems</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this two-part series, my colleague Freek and I will discuss the architecture of a project we're working on. We will share our insights and answers to problems...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to dump anything to the log]]></title>
            <link rel="alternate" href="https://freek.dev/1630-a-package-to-dump-anything-to-the-log" />
            <id>https://freek.dev/1630-a-package-to-dump-anything-to-the-log</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-04-13T14:01:15+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Replacing web sockets with Livewire]]></title>
            <link rel="alternate" href="https://freek.dev/1622-replacing-web-sockets-with-livewire" />
            <id>https://freek.dev/1622-replacing-web-sockets-with-livewire</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-04-10T15:01:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Deploying a Statamic site to Netlify]]></title>
            <link rel="alternate" href="https://www.rias.be/blog/deploying-a-statamic-3-site-to-netlify" />
            <id>https://www.rias.be/blog/deploying-a-statamic-3-site-to-netlify</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Deploying a Statamic v3 site to Netlify using Statamic&#039;s SSG addon.]]>
            </summary>
                                    <updated>2021-02-11T13:18:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Deploying a Statamic site to Netlify]]></title>
            <link rel="alternate" href="https://rias.be/blog/deploying-a-statamic-3-site-to-netlify" />
            <id>https://rias.be/blog/deploying-a-statamic-3-site-to-netlify</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Deploying a Statamic v3 site to Netlify using Statamic's SSG addon.]]>
            </summary>
                                    <updated>2021-07-12T12:49:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using the 1-click-installer to set up Mailcoach in no time]]></title>
            <link rel="alternate" href="https://freek.dev/1617-using-the-1-click-installer-to-set-up-mailcoach-in-no-time" />
            <id>https://freek.dev/1617-using-the-1-click-installer-to-set-up-mailcoach-in-no-time</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-04-06T14:01:23+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Bringing TeamSpeak voice notifications to Discord]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2020/teamspeak-voice-notifications-for-discord" />
            <id>https://alexvanderbist.com/2020/teamspeak-voice-notifications-for-discord</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[In the past few weeks my friends and I spent quite literally day and night on Discord's voice chat. This inevitably brought back some good memories from the Summer nights...]]>
            </summary>
                                    <updated>2024-04-11T16:01:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Some cool Laravel 7 Blade components]]></title>
            <link rel="alternate" href="https://freek.dev/1612-some-cool-laravel-7-blade-components" />
            <id>https://freek.dev/1612-some-cool-laravel-7-blade-components</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-04-02T13:01:40+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[🐟 A package to execute a random artisan command]]></title>
            <link rel="alternate" href="https://freek.dev/1613-a-package-to-execute-a-random-artisan-command" />
            <id>https://freek.dev/1613-a-package-to-execute-a-random-artisan-command</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-04-01T12:01:51+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Webmentions on a static site with GitHub Actions]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/webmentions-on-a-static-site-with-github-actions/" />
            <id>https://sebastiandedeyne.com/webmentions-on-a-static-site-with-github-actions/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-27T11:01:25+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Minor versions, breaking changes ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/minor-versions-breaking-changes" />
            <id>https://stitcher.io/blog/minor-versions-breaking-changes</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When my colleague Sebastian wrote about how bumping major versions isn't a breaking change, I would wholeheartedly agree.
I can't anymore. At least, not with how composer works...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building complex forms with Laravel Livewire in Oh Dear]]></title>
            <link rel="alternate" href="https://freek.dev/1609-building-complex-forms-with-laravel-livewire-in-oh-dear" />
            <id>https://freek.dev/1609-building-complex-forms-with-laravel-livewire-in-oh-dear</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-23T19:01:14+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Listing directories]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/unix-things/listing-directories/" />
            <id>https://sebastiandedeyne.com/unix-things/listing-directories/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-18T19:01:25+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Unix things I always forget]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/unix-things/" />
            <id>https://sebastiandedeyne.com/unix-things/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-18T19:01:25+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Composer, semver, and underlying dependency changes]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/composer-semver-and-underlying-dependency-changes/" />
            <id>https://sebastiandedeyne.com/composer-semver-and-underlying-dependency-changes/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-17T15:01:36+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[📺 The Full Stack Europe 2019 keynote: Building by Jeremy Keith]]></title>
            <link rel="alternate" href="https://freek.dev/1604-the-full-stack-europe-2019-keynote-building-by-jeremy-keith" />
            <id>https://freek.dev/1604-the-full-stack-europe-2019-keynote-building-by-jeremy-keith</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-16T19:01:24+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to configure and use multiple SES accounts in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/1597-how-to-configure-and-use-multiple-ses-accounts-in-a-laravel-app" />
            <id>https://freek.dev/1597-how-to-configure-and-use-multiple-ses-accounts-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-16T10:01:24+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to check which version of PHP you are running]]></title>
            <link rel="alternate" href="https://freek.dev/1598-how-to-check-which-version-of-php-you-are-running" />
            <id>https://freek.dev/1598-how-to-check-which-version-of-php-you-are-running</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-14T21:01:16+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Event driven server in PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/event-driven-php" />
            <id>https://stitcher.io/blog/event-driven-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Lately I've been tinkering with a unique kind of architecture for PHP applications. I want to tell you up front that I don't think it will solve any real-life problems...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mailcoach v2 has been released with support for custom HTML editors and multiple mailers]]></title>
            <link rel="alternate" href="https://freek.dev/1596-mailcoach-v2-has-been-released-with-support-for-custom-html-editors-and-multiple-mailers" />
            <id>https://freek.dev/1596-mailcoach-v2-has-been-released-with-support-for-custom-html-editors-and-multiple-mailers</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-12T16:01:38+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Setting up a global .gitignore file]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/setting-up-a-global-gitignore-file/" />
            <id>https://sebastiandedeyne.com/setting-up-a-global-gitignore-file/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-12T14:01:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[On using arrow functions in PHP 7.4]]></title>
            <link rel="alternate" href="https://freek.dev/1592-on-using-arrow-functions-in-php-74" />
            <id>https://freek.dev/1592-on-using-arrow-functions-in-php-74</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-10T16:01:42+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Upgrading Node.js on a Laravel Forge Provisioned Server]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/upgrading-node-js-on-a-laravel-forge-provisioned-server/" />
            <id>https://sebastiandedeyne.com/upgrading-node-js-on-a-laravel-forge-provisioned-server/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-10T20:01:20+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Writing readable PHP: decrease indentation by returning early]]></title>
            <link rel="alternate" href="https://freek.dev/1593-writing-readable-php-decrease-indentation-by-returning-early" />
            <id>https://freek.dev/1593-writing-readable-php-decrease-indentation-by-returning-early</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-09T15:01:40+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Dropdowns]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/javascript-framework-diet/dropdowns/" />
            <id>https://sebastiandedeyne.com/javascript-framework-diet/dropdowns/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-05T10:01:33+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to use a MySQL database on GitHub Actions]]></title>
            <link rel="alternate" href="https://freek.dev/1590-how-to-use-a-mysql-database-on-github-actions" />
            <id>https://freek.dev/1590-how-to-use-a-mysql-database-on-github-actions</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-04T21:01:29+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Behind the scenes of Flare (or How to structure big Laravel applications)]]></title>
            <link rel="alternate" href="https://freek.dev/1585-behind-the-scenes-of-flare-or-how-to-structure-big-laravel-applications" />
            <id>https://freek.dev/1585-behind-the-scenes-of-flare-or-how-to-structure-big-laravel-applications</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-03-02T15:01:49+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to write exceptionally good exceptions in PHP]]></title>
            <link rel="alternate" href="https://freek.dev/1582-how-to-write-exceptionally-good-exceptions-in-php" />
            <id>https://freek.dev/1582-how-to-write-exceptionally-good-exceptions-in-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-24T15:01:37+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Give it five minutes]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/give-it-five-minutes/" />
            <id>https://sebastiandedeyne.com/give-it-five-minutes/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-21T09:01:20+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[File structure]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/javascript-framework-diet/file-structure/" />
            <id>https://sebastiandedeyne.com/javascript-framework-diet/file-structure/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-19T22:01:25+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to refactor complex if statements]]></title>
            <link rel="alternate" href="https://freek.dev/1578-how-to-refactor-complex-if-statements" />
            <id>https://freek.dev/1578-how-to-refactor-complex-if-statements</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-18T16:01:57+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Tail can now tail remote logs]]></title>
            <link rel="alternate" href="https://freek.dev/1577-laravel-tail-can-now-tail-remote-logs" />
            <id>https://freek.dev/1577-laravel-tail-can-now-tail-remote-logs</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-18T16:01:57+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using BetterTouchTool as a window manager]]></title>
            <link rel="alternate" href="https://freek.dev/1576-using-bettertouchtool-as-a-window-manager" />
            <id>https://freek.dev/1576-using-bettertouchtool-as-a-window-manager</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-17T16:01:39+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Bitwise booleans in PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/bitwise-booleans-in-php" />
            <id>https://stitcher.io/blog/bitwise-booleans-in-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In my previous post I wrote about applying enum patterns in PHP, without native enum support.
In that post, I gave the example of a "date range boundaries" enum,...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[laravel-event-sourcing v3 has been released]]></title>
            <link rel="alternate" href="https://freek.dev/1573-laravel-event-sourcing-v3-has-been-released" />
            <id>https://freek.dev/1573-laravel-event-sourcing-v3-has-been-released</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-14T00:01:18+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Event delegation]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/javascript-framework-diet/event-delegation/" />
            <id>https://sebastiandedeyne.com/javascript-framework-diet/event-delegation/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-14T00:01:19+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A PHP package to execute commands via SSH]]></title>
            <link rel="alternate" href="https://freek.dev/1572-a-php-package-to-execute-commands-via-ssh" />
            <id>https://freek.dev/1572-a-php-package-to-execute-commands-via-ssh</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-12T16:01:37+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Manage Docker containers using PHP]]></title>
            <link rel="alternate" href="https://freek.dev/1571-manage-docker-containers-using-php" />
            <id>https://freek.dev/1571-manage-docker-containers-using-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-10T17:01:31+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Selecting elements (part 2)]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/javascript-framework-diet/selecting-elements-part-2/" />
            <id>https://sebastiandedeyne.com/javascript-framework-diet/selecting-elements-part-2/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-06T11:01:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Selecting elements (part 1)]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/javascript-framework-diet/selecting-elements-part-1/" />
            <id>https://sebastiandedeyne.com/javascript-framework-diet/selecting-elements-part-1/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-06T11:01:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[JavaScript Framework Diet]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/javascript-framework-diet/" />
            <id>https://sebastiandedeyne.com/javascript-framework-diet/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-06T11:01:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Pragmatically testing multi-guard authentication in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1567-pragmatically-testing-multi-guard-authentication-in-laravel" />
            <id>https://freek.dev/1567-pragmatically-testing-multi-guard-authentication-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-02-03T15:01:40+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Enums without enums in PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/enums-without-enums" />
            <id>https://stitcher.io/blog/enums-without-enums</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Enums are still lacking in PHP, yet there is a clean way to have enum-like behaviour in your code bases, without using  external dependencies. Take the example of date...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building Mailcoach]]></title>
            <link rel="alternate" href="https://freek.dev/1558-building-mailcoach" />
            <id>https://freek.dev/1558-building-mailcoach</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-01-30T15:01:36+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mailcoach's (lack of) JavaScript stack]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/mailcoachs-lack-of-javascript-stack/" />
            <id>https://sebastiandedeyne.com/mailcoachs-lack-of-javascript-stack/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-01-31T00:01:15+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[09. Test factories ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-beyond-crud-09-test-factories" />
            <id>https://stitcher.io/blog/laravel-beyond-crud-09-test-factories</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Note: this chapter mostly addresses domain-related code. We'll come back to the application layer in future chapters.
In this chapter of Laravel beyond CRUD, we're going to look at...]]>
            </summary>
                                    <updated>2022-02-24T11:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing JavaScript error tracking]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/6-introducing-javascript-error-tracking" />
            <id>https://flareapp.io/blog/6-introducing-javascript-error-tracking</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[This week, we are bringing delightful JavaScript error tracking to Flare.
The integration comes with libraries for vanilla JavaScript, Vue, and React. You can upload your JavaScript source maps so...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing JavaScript error tracking]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/introducing-javascript-error-tracking" />
            <id>https://flareapp.io/blog/introducing-javascript-error-tracking</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[This week, we are bringing delightful JavaScript error tracking to Flare.
The integration comes with libraries for vanilla JavaScript, Vue, and React. You can upload your JavaScript source maps so...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP in 2020 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-in-2020" />
            <id>https://stitcher.io/blog/php-in-2020</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[It's no secret among web developers and programmers in general: PHP doesn't have the best reputation. Despite still being one of the most used languages to build web applications; over...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Remove all history from a GitHub repository]]></title>
            <link rel="alternate" href="https://freek.dev/1547-remove-all-history-from-a-github-repository" />
            <id>https://freek.dev/1547-remove-all-history-from-a-github-repository</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-01-16T12:02:13+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Testing Laravel packages with GitHub Actions]]></title>
            <link rel="alternate" href="http://rubenvanassche.com/testing-php-packages-with-github-actions/" />
            <id>http://rubenvanassche.com/testing-php-packages-with-github-actions/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[GitHub Actions are hot! Since my last post, we started using it everywhere we can! Today we&apos;re going to look at how you can use...]]>
            </summary>
                                    <updated>2021-03-16T17:00:15+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Testing Laravel packages with GitHub Actions]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/testing-php-packages-with-github-actions/" />
            <id>https://rubenvanassche.com/testing-php-packages-with-github-actions/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[GitHub Actions are hot! Since my last post, we started using it everywhere we can! Today we&apos;re going to look at how you can use...]]>
            </summary>
                                    <updated>2023-03-22T11:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Preloading benchmarks in PHP 7.4 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-preload-benchmarks" />
            <id>https://stitcher.io/blog/php-preload-benchmarks</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[After writing about how preloading works, it's time to measure its impact in practice.
Before diving into results, we need to make sure we're all on the same page:...]]>
            </summary>
                                    <updated>2021-03-09T07:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What are the React team principles?]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/what-are-the-react-team-principles/" />
            <id>https://sebastiandedeyne.com/what-are-the-react-team-principles/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-01-08T20:01:30+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using GitHub actions to run the tests of Laravel projects and packages]]></title>
            <link rel="alternate" href="https://freek.dev/1546-using-github-actions-to-run-the-tests-of-laravel-projects-and-packages" />
            <id>https://freek.dev/1546-using-github-actions-to-run-the-tests-of-laravel-projects-and-packages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-01-06T15:01:46+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[📺 How to avoid large function signatures by using pending objects]]></title>
            <link rel="alternate" href="https://freek.dev/1545-how-to-avoid-large-function-signatures-by-using-pending-objects" />
            <id>https://freek.dev/1545-how-to-avoid-large-function-signatures-by-using-pending-objects</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-12-30T17:01:28+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My favourite albums released in 2019]]></title>
            <link rel="alternate" href="https://freek.dev/1544-my-favourite-albums-released-in-2019" />
            <id>https://freek.dev/1544-my-favourite-albums-released-in-2019</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-12-28T14:01:23+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[📺 Building filters using laravel-query-builder]]></title>
            <link rel="alternate" href="https://freek.dev/1534-building-filters-using-laravel-query-builder" />
            <id>https://freek.dev/1534-building-filters-using-laravel-query-builder</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-12-20T00:01:29+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The rising complexity of JAMstack sites]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/the-rising-complexity-of-jamstack-sites/" />
            <id>https://sebastiandedeyne.com/the-rising-complexity-of-jamstack-sites/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-12-16T17:01:56+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[📺 Video: Using tags and segments in Mailcoach]]></title>
            <link rel="alternate" href="https://freek.dev/1526-video-using-tags-and-segments-in-mailcoach" />
            <id>https://freek.dev/1526-video-using-tags-and-segments-in-mailcoach</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-12-11T11:01:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building Mailcoach: deleting unconfirmed users automatically]]></title>
            <link rel="alternate" href="https://freek.dev/1523-building-mailcoach-deleting-unconfirmed-users-automatically" />
            <id>https://freek.dev/1523-building-mailcoach-deleting-unconfirmed-users-automatically</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-12-09T15:01:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Getting started with GitHub Actions and Laravel]]></title>
            <link rel="alternate" href="http://rubenvanassche.com/getting-started-with-github-actions/" />
            <id>http://rubenvanassche.com/getting-started-with-github-actions/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[At Spatie, we have been using Circle CI, Travis CI, Chipper CI, and other services for quite a while, but we couldn&apos;t find an exact fit for our cases....]]>
            </summary>
                                    <updated>2021-03-16T17:00:15+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Getting started with GitHub Actions and Laravel]]></title>
            <link rel="alternate" href="https://rubenvanassche.com/getting-started-with-github-actions/" />
            <id>https://rubenvanassche.com/getting-started-with-github-actions/</id>
            <author>
                <name><![CDATA[rubenvanassche.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[At Spatie, we have been using Circle CI, Travis CI, Chipper CI, and other services for quite a while, but we couldn&apos;t find an exact fit for our cases....]]>
            </summary>
                                    <updated>2023-03-22T11:00:03+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Strawberry jelly]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/strawberry-jelly/" />
            <id>https://sebastiandedeyne.com/strawberry-jelly/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-12-09T16:02:07+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A recap of 2019]]></title>
            <link rel="alternate" href="https://freek.dev/1522-a-recap-of-2019" />
            <id>https://freek.dev/1522-a-recap-of-2019</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-12-08T10:01:17+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[08. View models ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-beyond-crud-08-view-models" />
            <id>https://stitcher.io/blog/laravel-beyond-crud-08-view-models</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this chapter of my Laravel beyond CRUD series, we take a deep dive in the application layer. A major trend throughout the series is to keep code clean,...]]>
            </summary>
                                    <updated>2022-02-24T11:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automatically convert your code to PHP 7.4 syntax using Rector]]></title>
            <link rel="alternate" href="https://freek.dev/1518-automatically-convert-your-code-to-php-74-syntax-using-rector" />
            <id>https://freek.dev/1518-automatically-convert-your-code-to-php-74-syntax-using-rector</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-12-03T10:01:37+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Advent of Code 2019]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/advent-of-code-2019/" />
            <id>https://sebastiandedeyne.com/advent-of-code-2019/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-12-02T23:01:20+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Streaming a large export as a CSV file to the browser]]></title>
            <link rel="alternate" href="https://freek.dev/1515-streaming-a-large-export-as-a-csv-file-to-the-browser" />
            <id>https://freek.dev/1515-streaming-a-large-export-as-a-csv-file-to-the-browser</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-11-29T14:01:33+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Video: a first look at the alpha version of Mailcoach]]></title>
            <link rel="alternate" href="https://freek.dev/1511-video-a-first-look-at-the-alpha-version-of-mailcoach" />
            <id>https://freek.dev/1511-video-a-first-look-at-the-alpha-version-of-mailcoach</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-11-28T15:01:50+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Upgrade to PHP 7.4 with Homebrew on Mac ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-74-upgrade-mac" />
            <id>https://stitcher.io/blog/php-74-upgrade-mac</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
    
        I'm creating a four-part mini-series on YouTube about generics in PHP: what they are, how we can use them today, and what's possible in the future....]]>
            </summary>
                                    <updated>2022-03-16T13:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Thoughts (and doubts) after messing around with the JAMstack]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/thoughts-after-messing-around-with-the-jamstack/" />
            <id>https://sebastiandedeyne.com/thoughts-after-messing-around-with-the-jamstack/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-11-28T12:01:52+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Thoughts (and doubts) after messing around with the JAMstack]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/thoughts-and-doubts-after-messing-around-with-the-jamstack/" />
            <id>https://sebastiandedeyne.com/thoughts-and-doubts-after-messing-around-with-the-jamstack/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2020-01-07T20:01:24+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[freek.dev turns five!]]></title>
            <link rel="alternate" href="https://freek.dev/1510-freekdev-turns-five" />
            <id>https://freek.dev/1510-freekdev-turns-five</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-12-08T00:01:24+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What's new in PHP 7.4 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/new-in-php-74" />
            <id>https://stitcher.io/blog/new-in-php-74</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[# What's new in PHP 7.4
PHP 7.4 is the latest stable version of PHP. It was released on November 28, 2019 and it's the last version...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My Alfred workflows]]></title>
            <link rel="alternate" href="https://freek.dev/1506-my-alfred-workflows" />
            <id>https://freek.dev/1506-my-alfred-workflows</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-11-22T01:01:15+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[07. Entering the application layer ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-beyond-crud-07-entering-the-application-layer" />
            <id>https://stitcher.io/blog/laravel-beyond-crud-07-entering-the-application-layer</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Back in chapter 1, I stated that one of the characteristics of domain oriented Laravel projects is the following:

[…] most important is that you start thinking in groups...]]>
            </summary>
                                    <updated>2022-02-24T11:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Track Wordpress errors with Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/4-track-wordpress-errors-with-flare" />
            <id>https://flareapp.io/blog/4-track-wordpress-errors-with-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Sometimes, you don't have Laravel projects only but also run a classic Wordpress blog. Do you want to monitor this blog with Flare, too? We got you covered!
Wordpress doesn't...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Flare with Lumen]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/3-using-flare-with-lumen" />
            <id>https://flareapp.io/blog/3-using-flare-with-lumen</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The main goal of Flare is to be the best error tracker for Laravel applications. Since we started, many people are asking how they can use Flare with other PHP...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Track Wordpress errors with Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/track-wordpress-errors-with-flare" />
            <id>https://flareapp.io/blog/track-wordpress-errors-with-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Sometimes, you don't have Laravel projects only but also run a classic Wordpress blog. Do you want to monitor this blog with Flare, too? We got you covered!
Wordpress doesn't...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Flare with Lumen]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/using-flare-with-lumen" />
            <id>https://flareapp.io/blog/using-flare-with-lumen</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The main goal of Flare is to be the best error tracker for Laravel applications. Since we started, many people are asking how they can use Flare with other PHP...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Shop-built jigs]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/shop-built-jigs/" />
            <id>https://sebastiandedeyne.com/shop-built-jigs/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-11-21T19:01:19+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Important ideas come back]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/important-ideas-come-back/" />
            <id>https://sebastiandedeyne.com/important-ideas-come-back/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-11-27T23:01:25+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating business opportunities with error tracking]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/2-creating-business-opportunities-with-error-tracking" />
            <id>https://flareapp.io/blog/2-creating-business-opportunities-with-error-tracking</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When running production applications for your clients, it can take days until a bug is reported to your team. This reporting-delay might not be critical to the business of your...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating business opportunities with error tracking]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/creating-business-opportunities-with-error-tracking" />
            <id>https://flareapp.io/blog/creating-business-opportunities-with-error-tracking</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When running production applications for your clients, it can take days until a bug is reported to your team. This reporting-delay might not be critical to the business of your...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[06. Managing domains ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-beyond-crud-06-managing-domains" />
            <id>https://stitcher.io/blog/laravel-beyond-crud-06-managing-domains</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In the previous chapters we looked at the three core building blocks of our domains: DTOs, actions and models. Today we take a breather from the low level technical stuff,...]]>
            </summary>
                                    <updated>2022-02-24T11:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[05. States ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-beyond-crud-05-states" />
            <id>https://stitcher.io/blog/laravel-beyond-crud-05-states</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[

The state pattern is one of the best ways to add state-specific behaviour to models, while still keeping them clean.


This chapter will talk about the...]]>
            </summary>
                                    <updated>2022-02-24T11:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sending a welcome notification to new users of a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/1500-sending-a-welcome-notification-to-new-users-of-a-laravel-app" />
            <id>https://freek.dev/1500-sending-a-welcome-notification-to-new-users-of-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-11-15T11:01:43+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Relationship issues ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-custom-relation-classes" />
            <id>https://stitcher.io/blog/laravel-custom-relation-classes</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
Or in other words, dealing with complex database relations and Laravel models.

Recently I had to deal with a complex performance issue in one of our larger Laravel...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel's HasManyThrough cheatsheet ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-has-many-through" />
            <id>https://stitcher.io/blog/laravel-has-many-through</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[- The current model Country has a relation to Post via User
- The intermediate model is linked to the ]]>
            </summary>
                                    <updated>2021-04-19T09:00:14+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Improving Artisan commands]]></title>
            <link rel="alternate" href="https://freek.dev/1492-improving-artisan-commands" />
            <id>https://freek.dev/1492-improving-artisan-commands</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-11-07T14:01:39+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Can I translate your blog? ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/can-i-translate-your-blog" />
            <id>https://stitcher.io/blog/can-i-translate-your-blog</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Yes. Yes you can. I do ask you to keep a few rules in mind.
# Host on your own
Your translations should be hosted on your...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Full Stack Europe 2019 recap]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/full-stack-europe-2019-recap/" />
            <id>https://sebastiandedeyne.com/full-stack-europe-2019-recap/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-11-06T15:01:49+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The rule of least power]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/the-rule-of-least-power/" />
            <id>https://sebastiandedeyne.com/the-rule-of-least-power/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-11-27T23:01:25+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sending logs to Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/5-sending-logs-to-flare" />
            <id>https://flareapp.io/blog/5-sending-logs-to-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare is an error tracker for Laravel, but what do you do if you want notifications for other events which do not throw exceptions? You might wish to receive notifications...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sending logs to Flare]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/sending-logs-to-flare" />
            <id>https://flareapp.io/blog/sending-logs-to-flare</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Flare is an error tracker for Laravel, but what do you do if you want notifications for other events which do not throw exceptions? You might wish to receive notifications...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Handling authorization in a Laravel and Inertia application]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application/" />
            <id>https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-11-05T11:01:56+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Akin's laws of spacecraft design]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/akins-laws-of-spacecraft-design/" />
            <id>https://sebastiandedeyne.com/akins-laws-of-spacecraft-design/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-11-27T23:01:25+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[04. Models ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-beyond-crud-04-models" />
            <id>https://stitcher.io/blog/laravel-beyond-crud-04-models</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In the previous chapters, I've talked about two of the three core building blocks of every application: DTOs and actions — data and functionality. In this chapter we will look...]]>
            </summary>
                                    <updated>2022-02-24T11:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Prioritization systems]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/prioritization-systems/" />
            <id>https://sebastiandedeyne.com/prioritization-systems/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-10-30T11:01:57+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Writing open source software, and staying sane while at it]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/writing-open-source-software-and-staying-sane-while-at-it/" />
            <id>https://sebastiandedeyne.com/writing-open-source-software-and-staying-sane-while-at-it/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-10-29T10:01:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Materials and tools]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/materials-and-tools/" />
            <id>https://sebastiandedeyne.com/materials-and-tools/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-11-27T23:01:25+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A PHP package to read and write simple Excel or CSV files]]></title>
            <link rel="alternate" href="https://freek.dev/1488-a-php-package-to-read-and-write-simple-excel-or-csv-files" />
            <id>https://freek.dev/1488-a-php-package-to-read-and-write-simple-excel-or-csv-files</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-10-28T15:01:51+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[03. Actions ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-beyond-crud-03-actions" />
            <id>https://stitcher.io/blog/laravel-beyond-crud-03-actions</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[

Now that we can work with data in a type-safe and transparent way, we need to start doing something with it.


Just like we don't want...]]>
            </summary>
                                    <updated>2022-02-24T11:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Getting started with Domain Oriented Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1486-getting-started-with-domain-oriented-laravel" />
            <id>https://freek.dev/1486-getting-started-with-domain-oriented-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-10-22T16:02:13+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Disappointed]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/disappointed/" />
            <id>https://sebastiandedeyne.com/disappointed/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-10-21T21:01:27+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel Mix Preload v1]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/laravel-mix-preload-v1/" />
            <id>https://sebastiandedeyne.com/laravel-mix-preload-v1/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-10-21T20:01:27+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My current setup (2019 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/1485-my-current-setup-2019-edition" />
            <id>https://freek.dev/1485-my-current-setup-2019-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-10-20T00:01:08+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[02. Working with data ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-beyond-crud-02-working-with-data" />
            <id>https://stitcher.io/blog/laravel-beyond-crud-02-working-with-data</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[At the core of every project, you find data. Almost every application's task can be summarized like so:  provide, interpret and manipulate data in whatever way the business wants.
You...]]>
            </summary>
                                    <updated>2022-02-24T11:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[01. Domain oriented Laravel ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-beyond-crud-01-domain-oriented-laravel" />
            <id>https://stitcher.io/blog/laravel-beyond-crud-01-domain-oriented-laravel</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
Humans think in categories, our code should be a reflection of that.

First things first, I didn't come up with the term "domain" — I got it from...]]>
            </summary>
                                    <updated>2022-02-24T11:00:05+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The mixin PHP DocBlock]]></title>
            <link rel="alternate" href="https://freek.dev/1482-the-mixin-php-docblock" />
            <id>https://freek.dev/1482-the-mixin-php-docblock</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-10-14T14:01:33+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The value of the void typehint in PHP]]></title>
            <link rel="alternate" href="https://freek.dev/1481-the-value-of-the-void-typehint-in-php" />
            <id>https://freek.dev/1481-the-value-of-the-void-typehint-in-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-10-11T11:01:54+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Writing a custom React hook: Google Places autocomplete]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/writing-a-custom-react-hook-google-places-autocomplete/" />
            <id>https://sebastiandedeyne.com/writing-a-custom-react-hook-google-places-autocomplete/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-10-11T14:01:28+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[This site now supports dark mode]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/this-site-now-supports-dark-mode/" />
            <id>https://sebastiandedeyne.com/this-site-now-supports-dark-mode/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-10-09T22:01:19+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A job middleware to rate limit jobs]]></title>
            <link rel="alternate" href="https://freek.dev/1475-a-job-middleware-to-rate-limit-jobs" />
            <id>https://freek.dev/1475-a-job-middleware-to-rate-limit-jobs</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-10-08T21:01:23+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Storing and retrieving webmentions with Firebase]]></title>
            <link rel="alternate" href="https://www.rias.be/blog/storing-and-retrieving-webmentions-with-firebase" />
            <id>https://www.rias.be/blog/storing-and-retrieving-webmentions-with-firebase</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[I&#039;ve recently transformed my Statamic powered site into a statically hosted version, mostly because services like Netlify and Firebase offer free hosting for static files, which means I don&#039;t need...]]>
            </summary>
                                    <updated>2021-02-11T13:18:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Storing and retrieving webmentions with Firebase]]></title>
            <link rel="alternate" href="https://rias.be/blog/storing-and-retrieving-webmentions-with-firebase" />
            <id>https://rias.be/blog/storing-and-retrieving-webmentions-with-firebase</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[I've recently transformed my Statamic powered site into a statically hosted version, mostly because services like Netlify and Firebase offer free hosting for static files, which means I don't need...]]>
            </summary>
                                    <updated>2021-07-12T12:49:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package that adds resource links to your Laravel API resources]]></title>
            <link rel="alternate" href="https://freek.dev/1470-a-package-that-adds-resource-links-to-your-laravel-api-resources" />
            <id>https://freek.dev/1470-a-package-that-adds-resource-links-to-your-laravel-api-resources</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-10-01T22:01:13+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing "ddd" - a new global helper for Laravel]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/1-introducing-ddd-a-new-global-helper-for-laravel" />
            <id>https://flareapp.io/blog/1-introducing-ddd-a-new-global-helper-for-laravel</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today we are very excited to announce a new global helper function that is available for all Laravel 6 installations, as well as for all applications that have Ignition...]]>
            </summary>
                                    <updated>2023-06-28T10:00:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing "ddd" - a new global helper for Laravel]]></title>
            <link rel="alternate" href="https://flareapp.io/blog/introducing-ddd-a-new-global-helper-for-laravel" />
            <id>https://flareapp.io/blog/introducing-ddd-a-new-global-helper-for-laravel</id>
            <author>
                <name><![CDATA[flareapp.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today we are very excited to announce a new global helper function that is available for all Laravel 6 installations, as well as for all applications that have Ignition...]]>
            </summary>
                                    <updated>2025-02-03T14:00:08+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Inertia.js and Livewire: a high level comparison]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/inertia-js-and-livewire-a-high-level-comparison/" />
            <id>https://sebastiandedeyne.com/inertia-js-and-livewire-a-high-level-comparison/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-09-26T13:01:21+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Handling routes in a Laravel and Inertia app]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/handling-routes-in-a-laravel-inertia-application/" />
            <id>https://sebastiandedeyne.com/handling-routes-in-a-laravel-inertia-application/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-09-25T22:01:23+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Event store optimizations in laravel-event-sourcing]]></title>
            <link rel="alternate" href="https://freek.dev/1457-event-store-optimizations-in-laravel-event-sourcing" />
            <id>https://freek.dev/1457-event-store-optimizations-in-laravel-event-sourcing</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-09-23T14:01:24+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Live updating Oh Dear! status pages]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/live-updating-oh-dear-status-pages/" />
            <id>https://sebastiandedeyne.com/live-updating-oh-dear-status-pages/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-09-23T11:01:28+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How much JavaScript do we really need?]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/how-much-javascript-do-we-really-need/" />
            <id>https://sebastiandedeyne.com/how-much-javascript-do-we-really-need/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-09-22T19:01:01+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating beautiful status pages using Oh Dear!]]></title>
            <link rel="alternate" href="https://freek.dev/1450-creating-beautiful-status-pages-using-oh-dear" />
            <id>https://freek.dev/1450-creating-beautiful-status-pages-using-oh-dear</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-09-18T00:01:14+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Deploying a Statamic v2 site to Netlify]]></title>
            <link rel="alternate" href="https://rias.be/blog/deploying-a-statamic-site-to-netlify" />
            <id>https://rias.be/blog/deploying-a-statamic-site-to-netlify</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[My personal website & blog has been hosted on a DigitalOcean droplet for years, but recently I've been trying to move away from hosting and managing my own server.]]>
            </summary>
                                    <updated>2021-07-12T12:49:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Guest posts ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/guest-posts" />
            <id>https://stitcher.io/blog/guest-posts</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I've been thinking about the idea of allowing other people to write on my blog for a while now. Guest posting is popular in the broader blogging community, and I...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Deploying a Statamic v2 site to Netlify]]></title>
            <link rel="alternate" href="https://www.rias.be/blog/deploying-a-statamic-site-to-netlify" />
            <id>https://www.rias.be/blog/deploying-a-statamic-site-to-netlify</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[My personal website & blog has been hosted on a DigitalOcean droplet for years, but recently I&#039;ve been trying to move away from hosting and managing my own server.]]>
            </summary>
                                    <updated>2021-02-11T13:18:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Generating speaker cards using Tailwind and Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1448-generating-speaker-cards-using-tailwind-and-laravel" />
            <id>https://freek.dev/1448-generating-speaker-cards-using-tailwind-and-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-09-09T12:01:25+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Ignition: a new error page for Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1441-ignition-a-new-error-page-for-laravel" />
            <id>https://freek.dev/1441-ignition-a-new-error-page-for-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-09-01T01:00:58+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Flare: an error tracker built for Laravel apps]]></title>
            <link rel="alternate" href="https://freek.dev/1442-flare-an-error-tracker-built-for-laravel-apps" />
            <id>https://freek.dev/1442-flare-an-error-tracker-built-for-laravel-apps</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-09-01T01:00:58+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[re: re: A letter to the PHP team ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/a-letter-to-the-php-team-reply-to-joe" />
            <id>https://stitcher.io/blog/a-letter-to-the-php-team-reply-to-joe</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Thanks you Joe for taking the time to reply to my letter, I really appreciate it! I'll be happy to reply here.
Your reply started by addressing...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A letter to the PHP team ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/a-letter-to-the-php-team" />
            <id>https://stitcher.io/blog/a-letter-to-the-php-team</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[To whomever contributes to PHP, from a userland developer.
Let me start by thanking those who actively work on the PHP project. Those who contribute to the core, extensions, maintain...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Watch the Flare reveal live]]></title>
            <link rel="alternate" href="https://freek.dev/1443-watch-the-flare-reveal-live" />
            <id>https://freek.dev/1443-watch-the-flare-reveal-live</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-09-01T01:00:58+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Supercharging common controllers]]></title>
            <link rel="alternate" href="https://freek.dev/1433-supercharging-common-controllers" />
            <id>https://freek.dev/1433-supercharging-common-controllers</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-08-21T14:01:31+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating a Statamic site helper for Laravel Mix]]></title>
            <link rel="alternate" href="https://rias.be/blog/creating-a-statamic-site-helper-for-laravel-mix" />
            <id>https://rias.be/blog/creating-a-statamic-site-helper-for-laravel-mix</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel Mix isnât provided by default in Statamic v2, in this short post Iâll show you how to create a quick site helper to read the mix-manifest. json and output versioned...]]>
            </summary>
                                    <updated>2021-07-12T12:49:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating a Statamic site helper for Laravel Mix]]></title>
            <link rel="alternate" href="https://www.rias.be/blog/creating-a-statamic-site-helper-for-laravel-mix" />
            <id>https://www.rias.be/blog/creating-a-statamic-site-helper-for-laravel-mix</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Laravel Mix isn’t provided by default in Statamic v2, in this short post I’ll show you how to create a quick site helper to read the mix-manifest. json and output versioned...]]>
            </summary>
                                    <updated>2021-02-11T13:18:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Things dependency injection is not about ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/things-dependency-injection-is-not-about" />
            <id>https://stitcher.io/blog/things-dependency-injection-is-not-about</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you're using any modern framework, chances are you're heavily relying on dependency injection. But do you know what dependency injection actually is about — or better: what it's not?...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Implementing event sourcing: testing aggregates]]></title>
            <link rel="alternate" href="https://freek.dev/1409-implementing-event-sourcing-testing-aggregates" />
            <id>https://freek.dev/1409-implementing-event-sourcing-testing-aggregates</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-07-19T16:01:50+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A colorful Statamic Addon]]></title>
            <link rel="alternate" href="https://rias.be/blog/a-colorful-statamic-addon" />
            <id>https://rias.be/blog/a-colorful-statamic-addon</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Clients and content editors often want a lot of choices and make everything customizable to fit their style or the content.]]>
            </summary>
                                    <updated>2021-07-12T12:49:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A colorful Statamic Addon]]></title>
            <link rel="alternate" href="https://www.rias.be/blog/a-colorful-statamic-addon" />
            <id>https://www.rias.be/blog/a-colorful-statamic-addon</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[Clients and content editors often want a lot of choices and make everything customizable to fit their style or the content.]]>
            </summary>
                                    <updated>2021-02-11T13:18:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to add webmentions to a Laravel powered blog]]></title>
            <link rel="alternate" href="https://freek.dev/1406-how-to-add-webmentions-to-a-laravel-powered-blog" />
            <id>https://freek.dev/1406-how-to-add-webmentions-to-a-laravel-powered-blog</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-07-15T10:01:12+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Testpost]]></title>
            <link rel="alternate" href="https://freek.dev/1404-testpost" />
            <id>https://freek.dev/1404-testpost</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-07-13T23:01:02+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Going serverless with Hugo and Netlify]]></title>
            <link rel="alternate" href="https://freek.dev/1396-going-serverless-with-hugo-and-netlify" />
            <id>https://freek.dev/1396-going-serverless-with-hugo-and-netlify</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-07-09T12:01:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Going serverless with Hugo and Netlify]]></title>
            <link rel="alternate" href="https://rias.be/blog/going-serverless-with-hugo-and-netlify" />
            <id>https://rias.be/blog/going-serverless-with-hugo-and-netlify</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[I recently worked on the new Spatie docs website. We moved our site from a Digital Ocean server to Netlify, a serverless platform.]]>
            </summary>
                                    <updated>2021-07-12T12:49:06+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Going serverless with Hugo and Netlify]]></title>
            <link rel="alternate" href="https://www.rias.be/blog/going-serverless-with-hugo-and-netlify" />
            <id>https://www.rias.be/blog/going-serverless-with-hugo-and-netlify</id>
            <author>
                <name><![CDATA[rias.be]]></name>
            </author>
            <summary type="html">
                <![CDATA[I recently worked on the new Spatie docs website. We moved our site from a Digital Ocean server to Netlify, a serverless platform.]]>
            </summary>
                                    <updated>2021-02-11T13:18:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Preloading in PHP 7.4 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/preloading-in-php-74" />
            <id>https://stitcher.io/blog/preloading-in-php-74</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[With PHP 7.4, support for preloading was added, a feature that could improve the performance of your code significantly.
In a nutshell, this is how it works:

In order...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to handle front-end authorization using Laravel, Inertia and TypeScript]]></title>
            <link rel="alternate" href="https://freek.dev/1391-how-to-handle-front-end-authorization-using-laravel-inertia-and-typescript" />
            <id>https://freek.dev/1391-how-to-handle-front-end-authorization-using-laravel-inertia-and-typescript</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-07-01T12:00:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Typed properties in PHP 7.4 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/typed-properties-in-php-74" />
            <id>https://stitcher.io/blog/typed-properties-in-php-74</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Typed class properties have been added in PHP 7.4 and provide a major improvement to PHP's type system.
These changes are fully opt-in and non breaking to previous versions.
In...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Adding webmentions to my blog]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/adding-webmentions-to-my-blog/" />
            <id>https://sebastiandedeyne.com/adding-webmentions-to-my-blog/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-28T00:00:45+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Improving assertions on Laravel fakes]]></title>
            <link rel="alternate" href="https://freek.dev/1390-improving-assertions-on-laravel-fakes" />
            <id>https://freek.dev/1390-improving-assertions-on-laravel-fakes</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-24T11:00:57+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Forget about component lifecycles and start thinking in effects]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/forget-about-component-lifecycles-and-start-thinking-in-effects/" />
            <id>https://sebastiandedeyne.com/forget-about-component-lifecycles-and-start-thinking-in-effects/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-20T20:00:51+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Migrating my site to Hugo]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/migrating-my-site-to-hugo/" />
            <id>https://sebastiandedeyne.com/migrating-my-site-to-hugo/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-20T20:00:51+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Sending and receiving webhooks in Laravel apps]]></title>
            <link rel="alternate" href="https://freek.dev/1383-sending-and-receiving-webhooks-in-laravel-apps" />
            <id>https://freek.dev/1383-sending-and-receiving-webhooks-in-laravel-apps</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-17T15:01:05+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My favorite part of our company website]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/my-favorite-part-of-our-company-website/" />
            <id>https://sebastiandedeyne.com/my-favorite-part-of-our-company-website/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-20T20:00:51+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to control the flow of time]]></title>
            <link rel="alternate" href="https://freek.dev/1378-a-package-to-control-the-flow-of-time" />
            <id>https://freek.dev/1378-a-package-to-control-the-flow-of-time</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-12T18:01:22+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Running Laravel's scheduler without setting up CRON jobs]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/posts/2019/running-laravel-scheduler-without-setting-up-cron" />
            <id>https://alexvanderbist.com/posts/2019/running-laravel-scheduler-without-setting-up-cron</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-27T18:00:48+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Refactoring to actions]]></title>
            <link rel="alternate" href="https://freek.dev/1371-refactoring-to-actions" />
            <id>https://freek.dev/1371-refactoring-to-actions</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-10T12:00:54+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Running Laravel's scheduler without setting up CRON jobs]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2019/running-laravel-scheduler-without-setting-up-cron" />
            <id>https://alexvanderbist.com/2019/running-laravel-scheduler-without-setting-up-cron</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Scheduler is a tiny shell script to run Laravel's scheduler every 60 seconds, without having to configure any CRON jobs.]]>
            </summary>
                                    <updated>2024-04-11T16:01:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Tests and types ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/tests-and-types" />
            <id>https://stitcher.io/blog/tests-and-types</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Imagine a simple function: rgbToHex.
It takes three arguments, integers between 0 and 255; and converts it to a hexadecimal string.
Here's what this function's definition might look...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A new coat of paint for freek.dev]]></title>
            <link rel="alternate" href="https://freek.dev/1367-a-new-coat-of-paint-for-freekdev" />
            <id>https://freek.dev/1367-a-new-coat-of-paint-for-freekdev</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T20:01:11+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What are objects anyway? - Rant With Brent 02 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/what-are-objects-anyway-rant-with-brent" />
            <id>https://stitcher.io/blog/what-are-objects-anyway-rant-with-brent</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this second episode, I take a look at the original definition of "Object Oriented Programming",
and compare it to what we call OOP today.


You...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A project at Spatie ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/a-project-at-spatie" />
            <id>https://stitcher.io/blog/a-project-at-spatie</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The month of May marks the first year anniversary of a client project I've been working on at Spatie.
I thought it useful to share some statistics with the community,...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A programmer's cognitive load ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/a-programmers-cognitive-load" />
            <id>https://stitcher.io/blog/a-programmers-cognitive-load</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[As a professional programmer, I'm reading and writing code on a daily basis.
I'm working on new projects, doing code reviews, working with legacy code, reading through documentation etc.
Based...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Caching the entire response of a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/caching-the-entire-response-of-a-laravel-app" />
            <id>https://freek.dev/caching-the-entire-response-of-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Caching the entire response of a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/1351-caching-the-entire-response-of-a-laravel-app" />
            <id>https://freek.dev/1351-caching-the-entire-response-of-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A rule to validate delimited data]]></title>
            <link rel="alternate" href="https://freek.dev/a-rule-to-validate-delimited-data" />
            <id>https://freek.dev/a-rule-to-validate-delimited-data</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A rule to validate delimited data]]></title>
            <link rel="alternate" href="https://freek.dev/1352-a-rule-to-validate-delimited-data" />
            <id>https://freek.dev/1352-a-rule-to-validate-delimited-data</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[React for Vue developers]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/react-for-vue-developers/" />
            <id>https://sebastiandedeyne.com/react-for-vue-developers/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-20T15:01:03+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[I'm starting a podcast ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/starting-a-podcast" />
            <id>https://stitcher.io/blog/starting-a-podcast</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[It's only been two weeks since I announced I'm starting a newsletter,
and here I am again with something new: a podcast.
People who know me IRL know I...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP in 2019 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-in-2019" />
            <id>https://stitcher.io/blog/php-in-2019</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Do you remember the popular "PHP: a fractal of bad design" blog post?
The first time I read it, I was working in a crappy place with lots...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[SOLID, interfaces and final - Rant With Brent 01 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/solid-interfaces-and-final-rant-with-brent" />
            <id>https://stitcher.io/blog/solid-interfaces-and-final-rant-with-brent</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm giving podcasting a try. Let me know what you think of it via Twitter or e-mail.
In this episode I talk about why I think final...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[14 KB]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/14-kb" />
            <id>https://sebastiandedeyne.com/14-kb</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-06T11:01:01+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[14 KB]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/14-kb/" />
            <id>https://sebastiandedeyne.com/14-kb/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Arrow functions in PHP 7.4 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/short-closures-in-php" />
            <id>https://stitcher.io/blog/short-closures-in-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Short closures, also called arrow functions, are a way of writing shorter functions in PHP.
This notation is useful when passing closures to functions like array_map or array_filter.
...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Running PHP CS Fixer on every commit with husky and lint-staged]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/running-php-cs-fixer-on-every-commit-with-husky-and-lint-staged" />
            <id>https://sebastiandedeyne.com/running-php-cs-fixer-on-every-commit-with-husky-and-lint-staged</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-02T11:00:58+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Running PHP CS Fixer on every commit with husky and lint-staged]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/running-php-cs-fixer-on-every-commit-with-husky-and-lint-staged/" />
            <id>https://sebastiandedeyne.com/running-php-cs-fixer-on-every-commit-with-husky-and-lint-staged/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Web components]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/web-components" />
            <id>https://sebastiandedeyne.com/web-components</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-04-29T10:00:43+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Web components]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/web-components/" />
            <id>https://sebastiandedeyne.com/web-components/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Video: getting started with event sourcing in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/video-getting-started-with-event-sourcing-in-laravel" />
            <id>https://freek.dev/video-getting-started-with-event-sourcing-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Video: getting started with event sourcing in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1330-video-getting-started-with-event-sourcing-in-laravel" />
            <id>https://freek.dev/1330-video-getting-started-with-event-sourcing-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Implementing event sourcing: improving the developer experience]]></title>
            <link rel="alternate" href="https://freek.dev/implementing-event-sourcing-improving-the-developer-experience" />
            <id>https://freek.dev/implementing-event-sourcing-improving-the-developer-experience</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Implementing event sourcing: improving the developer experience]]></title>
            <link rel="alternate" href="https://freek.dev/1329-implementing-event-sourcing-improving-the-developer-experience" />
            <id>https://freek.dev/1329-implementing-event-sourcing-improving-the-developer-experience</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[I'm starting a newsletter ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/starting-a-newsletter" />
            <id>https://stitcher.io/blog/starting-a-newsletter</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I'm going to give it a try: newsletters.
I'm always on the lookout for connecting more with my audience,
and feel like newsletters are a more personalised way of communication:...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why I prefer React over Vue]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/why-i-prefer-react-over-vue" />
            <id>https://sebastiandedeyne.com/why-i-prefer-react-over-vue</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-04-26T11:00:47+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Why I prefer React over Vue]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/why-i-prefer-react-over-vue/" />
            <id>https://sebastiandedeyne.com/why-i-prefer-react-over-vue/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Implementing event sourcing: aggregates]]></title>
            <link rel="alternate" href="https://freek.dev/implementing-event-sourcing-aggregates" />
            <id>https://freek.dev/implementing-event-sourcing-aggregates</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Implementing event sourcing: aggregates]]></title>
            <link rel="alternate" href="https://freek.dev/1326-implementing-event-sourcing-aggregates" />
            <id>https://freek.dev/1326-implementing-event-sourcing-aggregates</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[When to use Gate::after in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/when-to-use-gateafter-in-laravel" />
            <id>https://freek.dev/when-to-use-gateafter-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[When to use Gate::after in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1325-when-to-use-gateafter-in-laravel" />
            <id>https://freek.dev/1325-when-to-use-gateafter-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Simplifying controllers]]></title>
            <link rel="alternate" href="https://freek.dev/simplifying-controllers" />
            <id>https://freek.dev/simplifying-controllers</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Simplifying controllers]]></title>
            <link rel="alternate" href="https://freek.dev/1324-simplifying-controllers" />
            <id>https://freek.dev/1324-simplifying-controllers</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Unsafe SQL functions in Laravel ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/unsafe-sql-functions-in-laravel" />
            <id>https://stitcher.io/blog/unsafe-sql-functions-in-laravel</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I recently learned that not all query builder functionality in Laravel is "safe".
This means that user input shouldn't be passed directly to it,
as it might expose your application...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[An important security release for laravel-query-builder]]></title>
            <link rel="alternate" href="https://freek.dev/an-important-security-release-for-laravel-query-builder" />
            <id>https://freek.dev/an-important-security-release-for-laravel-query-builder</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[An important security release for laravel-query-builder]]></title>
            <link rel="alternate" href="https://freek.dev/1317-an-important-security-release-for-laravel-query-builder" />
            <id>https://freek.dev/1317-an-important-security-release-for-laravel-query-builder</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel event projector v2 has been released]]></title>
            <link rel="alternate" href="https://freek.dev/laravel-event-projector-v2-has-been-released" />
            <id>https://freek.dev/laravel-event-projector-v2-has-been-released</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel event projector v2 has been released]]></title>
            <link rel="alternate" href="https://freek.dev/1313-laravel-event-projector-v2-has-been-released" />
            <id>https://freek.dev/1313-laravel-event-projector-v2-has-been-released</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Don’t forget to be selfish every now and then]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/dont-forget-to-be-selfish-every-now-and-then" />
            <id>https://sebastiandedeyne.com/dont-forget-to-be-selfish-every-now-and-then</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-04-09T10:00:55+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Don’t forget to be selfish every now and then]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/dont-forget-to-be-selfish-every-now-and-then/" />
            <id>https://sebastiandedeyne.com/dont-forget-to-be-selfish-every-now-and-then/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Keep your assets Prettier on every commit]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/keeping-your-assets-prettier-on-every-commit" />
            <id>https://sebastiandedeyne.com/keeping-your-assets-prettier-on-every-commit</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-04-04T12:01:31+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Keep your assets Prettier on every commit]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/keep-your-assets-prettier-on-every-commit/" />
            <id>https://sebastiandedeyne.com/keep-your-assets-prettier-on-every-commit/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Keep your assets Prettier on every commit]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/keeping-your-assets-prettier-on-every-commit/" />
            <id>https://sebastiandedeyne.com/keeping-your-assets-prettier-on-every-commit/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-17T11:00:53+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Array destructuring in PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/array-destructuring-with-list-in-php" />
            <id>https://stitcher.io/blog/array-destructuring-with-list-in-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[# List or []
In PHP, list or [] is a so called "language construct", just like array().
This language construct is used to "pull" variables out...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Upgrade to PHP 7.3 with Homebrew on Mac ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-73-upgrade-mac" />
            <id>https://stitcher.io/blog/php-73-upgrade-mac</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
    
        I'm creating a four-part mini-series on YouTube about generics in PHP: what they are, how we can use them today, and what's possible in the future....]]>
            </summary>
                                    <updated>2022-03-16T13:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to flash messages]]></title>
            <link rel="alternate" href="https://freek.dev/a-laravel-package-to-flash-messages" />
            <id>https://freek.dev/a-laravel-package-to-flash-messages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to flash messages]]></title>
            <link rel="alternate" href="https://freek.dev/1291-a-laravel-package-to-flash-messages" />
            <id>https://freek.dev/1291-a-laravel-package-to-flash-messages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to create personal data exports]]></title>
            <link rel="alternate" href="https://freek.dev/a-package-to-create-personal-data-exports" />
            <id>https://freek.dev/a-package-to-create-personal-data-exports</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to create personal data exports]]></title>
            <link rel="alternate" href="https://freek.dev/1290-a-package-to-create-personal-data-exports" />
            <id>https://freek.dev/1290-a-package-to-create-personal-data-exports</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Queueable actions in Laravel ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-queueable-actions" />
            <id>https://stitcher.io/blog/laravel-queueable-actions</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[People who follow my work or Spatie's, might have come across a pattern we use in some of our projects.
We call them "actions", and simply put they are classes...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Craftsmen know their tools ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/craftsmen-know-their-tools" />
            <id>https://stitcher.io/blog/craftsmen-know-their-tools</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When programmers call themselves craftsmen or artisans,
I can agree that we are.
At the same time though, some of these programmers underestimate what craftsmanship actually means.

    ]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to use Artisan Tinker in your browser]]></title>
            <link rel="alternate" href="https://freek.dev/a-package-to-use-artisan-tinker-in-your-browser" />
            <id>https://freek.dev/a-package-to-use-artisan-tinker-in-your-browser</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to use Artisan Tinker in your browser]]></title>
            <link rel="alternate" href="https://freek.dev/1268-a-package-to-use-artisan-tinker-in-your-browser" />
            <id>https://freek.dev/1268-a-package-to-use-artisan-tinker-in-your-browser</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP 8: The JIT ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-jit" />
            <id>https://stitcher.io/blog/php-jit</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
    Heads up! I've done some benchmarks on the JIT in real-life web applications. Be sure to check them out.

Dmitry Stogov recently opened an ]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[I'm building something ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/announcing-aggregate" />
            <id>https://stitcher.io/blog/announcing-aggregate</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Being a blogger myself, I realise how much
quality content is written on the internet every day;
content that gets lost in an endless stream of online information.
I know...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Analytics for developers ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/analytics-for-developers" />
            <id>https://stitcher.io/blog/analytics-for-developers</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I've been running this blog for almost three years now.
I've used Google Analytics, not only to track the amount of users,
but also to actively improve my blog.
I'm...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Tools to automatically format PHP, JavaScript and CSS files]]></title>
            <link rel="alternate" href="https://freek.dev/tools-to-automatically-format-php-javascript-and-css-files" />
            <id>https://freek.dev/tools-to-automatically-format-php-javascript-and-css-files</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Tools to automatically format PHP, JavaScript and CSS files]]></title>
            <link rel="alternate" href="https://freek.dev/1252-tools-to-automatically-format-php-javascript-and-css-files" />
            <id>https://freek.dev/1252-tools-to-automatically-format-php-javascript-and-css-files</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Share a blog: sebastiandedeyne ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/share-a-blog-sebastiandedeyne-com" />
            <id>https://stitcher.io/blog/share-a-blog-sebastiandedeyne-com</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Sebastian's blog has seen many forms the past few years.
From his own personal blog to an aggregator newsletter;
he now settled on a combination of both.
He writes and...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[An introduction to Phoenix LiveView]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/an-introduction-to-phoenix-liveview" />
            <id>https://sebastiandedeyne.com/an-introduction-to-phoenix-liveview</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-01-11T14:00:53+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[laravel-backup v6 has been released]]></title>
            <link rel="alternate" href="https://freek.dev/laravel-backup-v6-has-been-released" />
            <id>https://freek.dev/laravel-backup-v6-has-been-released</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[laravel-backup v6 has been released]]></title>
            <link rel="alternate" href="https://freek.dev/1241-laravel-backup-v6-has-been-released" />
            <id>https://freek.dev/1241-laravel-backup-v6-has-been-released</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Preventing spam submitted through forms]]></title>
            <link rel="alternate" href="https://freek.dev/preventing-spam-submitted-through-forms" />
            <id>https://freek.dev/preventing-spam-submitted-through-forms</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Preventing spam submitted through forms]]></title>
            <link rel="alternate" href="https://freek.dev/1240-preventing-spam-submitted-through-forms" />
            <id>https://freek.dev/1240-preventing-spam-submitted-through-forms</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How migrations might be slowing down your Laravel tests]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/posts/2019/how-migrations-might-be-slowing-down-your-laravel-tests" />
            <id>https://alexvanderbist.com/posts/2019/how-migrations-might-be-slowing-down-your-laravel-tests</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-27T18:00:48+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How migrations might be slowing down your Laravel tests]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2019/how-migrations-might-be-slowing-down-your-laravel-tests" />
            <id>https://alexvanderbist.com/2019/how-migrations-might-be-slowing-down-your-laravel-tests</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Over the years I've read a lot of interesting posts about speeding up PHPUnit. The last one being a pretty good summary by Laravel News (link in article). Remarkably, there's...]]>
            </summary>
                                    <updated>2024-04-11T16:01:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A recap of 2018]]></title>
            <link rel="alternate" href="https://freek.dev/a-recap-of-2018" />
            <id>https://freek.dev/a-recap-of-2018</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A recap of 2018]]></title>
            <link rel="alternate" href="https://freek.dev/1234-a-recap-of-2018" />
            <id>https://freek.dev/1234-a-recap-of-2018</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Everyone has JavaScript, right?]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/everyone-has-javascript-right" />
            <id>https://sebastiandedeyne.com/everyone-has-javascript-right</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-28T10:00:49+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Not all code is the same]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/not-all-code-is-the-same" />
            <id>https://sebastiandedeyne.com/not-all-code-is-the-same</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-28T11:00:48+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Hindsight 2018 edition]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/hindsight-2018-edition" />
            <id>https://sebastiandedeyne.com/hindsight-2018-edition</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-29T00:00:48+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Hindsight 2018 edition]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/hindsight-2018-edition/" />
            <id>https://sebastiandedeyne.com/hindsight-2018-edition/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Comparing dates ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/comparing-dates" />
            <id>https://stitcher.io/blog/comparing-dates</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Here's a simple question:
Does the date range "2019-01-01 – 2019-01-31" contain the date "2019-01-31"?
The answer is yes, right?
… Right?
What if the range ends at...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Have you thought about casing? ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/have-you-thought-about-casing" />
            <id>https://stitcher.io/blog/have-you-thought-about-casing</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
I've made the argument many times before:
programmers shouldn't underestimate the value of code readability.
Today I'll argue once more against a common practice we...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Share a blog: betterwebtype ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/share-a-blog-betterwebtype-com" />
            <id>https://stitcher.io/blog/share-a-blog-betterwebtype-com</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[My colleague Willem always amazes me: the backend developer;
with his insights into design.
It's he who recommended following a blog — it's more like a newsletter —...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Handcrafting mocks]]></title>
            <link rel="alternate" href="https://freek.dev/handcrafting-mocks" />
            <id>https://freek.dev/handcrafting-mocks</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Handcrafting mocks]]></title>
            <link rel="alternate" href="https://freek.dev/1232-handcrafting-mocks" />
            <id>https://freek.dev/1232-handcrafting-mocks</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[New in PHP 7.3 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/new-in-php-73" />
            <id>https://stitcher.io/blog/new-in-php-73</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[# New in PHP 7.3

Released on December 6, 2018

Trailing commas are now allowed in function calls
The is_countable function
Improvements to...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Readability is relative]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/readability-is-relative" />
            <id>https://sebastiandedeyne.com/readability-is-relative</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:57+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Readability is relative]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/readability-is-relative/" />
            <id>https://sebastiandedeyne.com/readability-is-relative/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing laravel-websockets, an easy to use WebSocket server implemented in PHP]]></title>
            <link rel="alternate" href="https://freek.dev/introducing-laravel-websockets-an-easy-to-use-websocket-server-implemented-in-php" />
            <id>https://freek.dev/introducing-laravel-websockets-an-easy-to-use-websocket-server-implemented-in-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing laravel-websockets, an easy to use WebSocket server implemented in PHP]]></title>
            <link rel="alternate" href="https://freek.dev/1228-introducing-laravel-websockets-an-easy-to-use-websocket-server-implemented-in-php" />
            <id>https://freek.dev/1228-introducing-laravel-websockets-an-easy-to-use-websocket-server-implemented-in-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Highlighting code blocks with league/commonmark]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/highlighting-code-blocks-with-leaguecommonmark" />
            <id>https://sebastiandedeyne.com/highlighting-code-blocks-with-leaguecommonmark</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:57+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Highlighting code blocks with league/commonmark]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/highlighting-code-blocks-with-league/commonmark/" />
            <id>https://sebastiandedeyne.com/highlighting-code-blocks-with-league/commonmark/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Highlighting code blocks with league/commonmark]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/highlighting-code-blocks-with-leaguecommonmark/" />
            <id>https://sebastiandedeyne.com/highlighting-code-blocks-with-leaguecommonmark/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-17T11:00:53+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Configuring PhpStorms code generation]]></title>
            <link rel="alternate" href="https://freek.dev/configuring-phpstorms-code-generation" />
            <id>https://freek.dev/configuring-phpstorms-code-generation</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Configuring PhpStorms code generation]]></title>
            <link rel="alternate" href="https://freek.dev/1219-configuring-phpstorms-code-generation" />
            <id>https://freek.dev/1219-configuring-phpstorms-code-generation</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Failing gracefully on stage]]></title>
            <link rel="alternate" href="https://freek.dev/failing-gracefully-on-stage" />
            <id>https://freek.dev/failing-gracefully-on-stage</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Failing gracefully on stage]]></title>
            <link rel="alternate" href="https://freek.dev/1215-failing-gracefully-on-stage" />
            <id>https://freek.dev/1215-failing-gracefully-on-stage</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a realtime dashboard powered by Laravel, Vue, Pusher and Tailwind (2018 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/building-a-realtime-dashboard-powered-by-laravel-vue-pusher-and-tailwind-2018-edition" />
            <id>https://freek.dev/building-a-realtime-dashboard-powered-by-laravel-vue-pusher-and-tailwind-2018-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a realtime dashboard powered by Laravel, Vue, Pusher and Tailwind (2018 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/1212-building-a-realtime-dashboard-powered-by-laravel-vue-pusher-and-tailwind-2018-edition" />
            <id>https://freek.dev/1212-building-a-realtime-dashboard-powered-by-laravel-vue-pusher-and-tailwind-2018-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A better way to register routes in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/a-better-way-to-register-routes-in-laravel" />
            <id>https://freek.dev/a-better-way-to-register-routes-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A better way to register routes in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1210-a-better-way-to-register-routes-in-laravel" />
            <id>https://freek.dev/1210-a-better-way-to-register-routes-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Share a blog: codingwriter.com ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/share-a-blog-codingwriter-com" />
            <id>https://stitcher.io/blog/share-a-blog-codingwriter-com</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[When asking on Twitter for writing advice, I was suggested to check out Sarah Mischinger's blog:
codingwriter. com.
This is a great blog to follow for the...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How PHP conferences can be improved]]></title>
            <link rel="alternate" href="https://freek.dev/how-php-conferences-can-be-improved" />
            <id>https://freek.dev/how-php-conferences-can-be-improved</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How PHP conferences can be improved]]></title>
            <link rel="alternate" href="https://freek.dev/1209-how-php-conferences-can-be-improved" />
            <id>https://freek.dev/1209-how-php-conferences-can-be-improved</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Calling an invokable in an instance variable]]></title>
            <link rel="alternate" href="https://freek.dev/calling-an-invokable-in-an-instance-variable" />
            <id>https://freek.dev/calling-an-invokable-in-an-instance-variable</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Calling an invokable in an instance variable]]></title>
            <link rel="alternate" href="https://freek.dev/1208-calling-an-invokable-in-an-instance-variable" />
            <id>https://freek.dev/1208-calling-an-invokable-in-an-instance-variable</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Structuring unstructured data ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/structuring-unstructured-data" />
            <id>https://stitcher.io/blog/structuring-unstructured-data</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[# Have you ever…
…worked with an array in PHP that was actually more than just an array?
Did you use the array keys as fields?
And...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Making Nova fields translatable]]></title>
            <link rel="alternate" href="https://freek.dev/making-nova-fields-translatable" />
            <id>https://freek.dev/making-nova-fields-translatable</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Making Nova fields translatable]]></title>
            <link rel="alternate" href="https://freek.dev/1200-making-nova-fields-translatable" />
            <id>https://freek.dev/1200-making-nova-fields-translatable</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Fixing Imagick's ​“not authorized” exception]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/posts/2018/fixing-imagick-error-unauthorized" />
            <id>https://alexvanderbist.com/posts/2018/fixing-imagick-error-unauthorized</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-27T18:00:48+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Our packages have been downloaded 20 million times]]></title>
            <link rel="alternate" href="https://freek.dev/our-packages-have-been-downloaded-20-million-times" />
            <id>https://freek.dev/our-packages-have-been-downloaded-20-million-times</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Our packages have been downloaded 20 million times]]></title>
            <link rel="alternate" href="https://freek.dev/1192-our-packages-have-been-downloaded-20-million-times" />
            <id>https://freek.dev/1192-our-packages-have-been-downloaded-20-million-times</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PhpStorm OSX performance: October 2018 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/phpstorm-performance-october-2018" />
            <id>https://stitcher.io/blog/phpstorm-performance-october-2018</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[PhpStorm has had performance issues on OSX for a very long time now,
sometimes to the point of being unusable.
I've written about these issues before, but it's good to...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Fixing Imagick's “not authorized” exception]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2018/fixing-imagick-error-unauthorized" />
            <id>https://alexvanderbist.com/2018/fixing-imagick-error-unauthorized</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Over the last few days we've had a couple of issues with Imagick and processing PDFs on our servers. As it turns out, these issues are caused by automatic security...]]>
            </summary>
                                    <updated>2024-04-11T16:01:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Share a blog: assertchris.io ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/share-a-blog-assertchris-io" />
            <id>https://stitcher.io/blog/share-a-blog-assertchris-io</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Christopher Pitt is one of the inspirations why I got into blogging and conference talks.
Being an excellent writer — he used to blog on Sitepoint and Medium ...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Avoid nesting using the crossJoin and eachSpread collection functions]]></title>
            <link rel="alternate" href="https://freek.dev/avoid-nesting-using-the-crossjoin-and-eachspread-collection-functions" />
            <id>https://freek.dev/avoid-nesting-using-the-crossjoin-and-eachspread-collection-functions</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Avoid nesting using the crossJoin and eachSpread collection functions]]></title>
            <link rel="alternate" href="https://freek.dev/1187-avoid-nesting-using-the-crossjoin-and-eachspread-collection-functions" />
            <id>https://freek.dev/1187-avoid-nesting-using-the-crossjoin-and-eachspread-collection-functions</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[array_merge or + in PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/array-merge-vs+" />
            <id>https://stitcher.io/blog/array-merge-vs+</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[PHP has several ways of combining two arrays into one. You can use array_merge or the + operator.
There's a subtle difference between these two methods though, a difference worth...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Easily switch PHP versions in Laravel Valet]]></title>
            <link rel="alternate" href="https://freek.dev/easily-switch-php-versions-in-laravel-valet" />
            <id>https://freek.dev/easily-switch-php-versions-in-laravel-valet</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Easily switch PHP versions in Laravel Valet]]></title>
            <link rel="alternate" href="https://freek.dev/1185-easily-switch-php-versions-in-laravel-valet" />
            <id>https://freek.dev/1185-easily-switch-php-versions-in-laravel-valet</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Searching models using a where like query in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/searching-models-using-a-where-like-query-in-laravel" />
            <id>https://freek.dev/searching-models-using-a-where-like-query-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Searching models using a where like query in Laravel]]></title>
            <link rel="alternate" href="https://freek.dev/1182-searching-models-using-a-where-like-query-in-laravel" />
            <id>https://freek.dev/1182-searching-models-using-a-where-like-query-in-laravel</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My current setup (2018 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/my-current-setup-2018-edition" />
            <id>https://freek.dev/my-current-setup-2018-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[My current setup (2018 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/1181-my-current-setup-2018-edition" />
            <id>https://freek.dev/1181-my-current-setup-2018-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel domains ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-domains" />
            <id>https://stitcher.io/blog/laravel-domains</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-10-15T10:00:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Organise by domain ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/organise-by-domain" />
            <id>https://stitcher.io/blog/organise-by-domain</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In this post we'll look at a different approach of structuring large code bases into separate domains.
The name "domain" is derived from the popular DDD paradigm, or also: domain...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel view models vs. view composers ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-view-models-vs-view-composers" />
            <id>https://stitcher.io/blog/laravel-view-models-vs-view-composers</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
    Update: I've written a new version of this post, as part of my Laravel beyond CRUD series. You can read it here. 

Last month I...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Use custom html components in your Blade views]]></title>
            <link rel="alternate" href="https://freek.dev/use-custom-html-components-in-your-blade-views" />
            <id>https://freek.dev/use-custom-html-components-in-your-blade-views</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Use custom html components in your Blade views]]></title>
            <link rel="alternate" href="https://freek.dev/1169-use-custom-html-components-in-your-blade-views" />
            <id>https://freek.dev/1169-use-custom-html-components-in-your-blade-views</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing BladeX View Models]]></title>
            <link rel="alternate" href="https://freek.dev/introducing-bladex-view-models" />
            <id>https://freek.dev/introducing-bladex-view-models</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing BladeX View Models]]></title>
            <link rel="alternate" href="https://freek.dev/1170-introducing-bladex-view-models" />
            <id>https://freek.dev/1170-introducing-bladex-view-models</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A tags field for Nova apps]]></title>
            <link rel="alternate" href="https://freek.dev/a-tags-field-for-nova-apps" />
            <id>https://freek.dev/a-tags-field-for-nova-apps</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A tags field for Nova apps]]></title>
            <link rel="alternate" href="https://freek.dev/1154-a-tags-field-for-nova-apps" />
            <id>https://freek.dev/1154-a-tags-field-for-nova-apps</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel view models ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/laravel-view-models" />
            <id>https://stitcher.io/blog/laravel-view-models</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[
    Update: I've written a new version of this post, as part of my Laravel beyond CRUD series. You can read it here. 

View models are...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Eloquent MySQL views ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/eloquent-mysql-views" />
            <id>https://stitcher.io/blog/eloquent-mysql-views</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[MySQL views are a way of storing queries on the database level, and producing virtual tables with them.
In this post we'll look at why you want to use them...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Quickly set up existing Laravel projects]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/posts/2018/quickly-set-up-exisiting-laravel-projects-using-linstall" />
            <id>https://alexvanderbist.com/posts/2018/quickly-set-up-exisiting-laravel-projects-using-linstall</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-27T18:00:48+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Quickly set up existing Laravel projects]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2018/quickly-set-up-exisiting-laravel-projects-using-linstall" />
            <id>https://alexvanderbist.com/2018/quickly-set-up-exisiting-laravel-projects-using-linstall</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[Lately, a lot of cool shell aliases and functions have been posted on Twitter. I've decided to join in on the fun and create a shell function for something I...]]>
            </summary>
                                    <updated>2024-04-11T16:01:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The Laracon US videos have been released]]></title>
            <link rel="alternate" href="https://freek.dev/the-laracon-us-videos-have-been-released" />
            <id>https://freek.dev/the-laracon-us-videos-have-been-released</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The Laracon US videos have been released]]></title>
            <link rel="alternate" href="https://freek.dev/1124-the-laracon-us-videos-have-been-released" />
            <id>https://freek.dev/1124-the-laracon-us-videos-have-been-released</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing our Laravel Nova packages]]></title>
            <link rel="alternate" href="https://freek.dev/introducing-our-laravel-nova-packages" />
            <id>https://freek.dev/introducing-our-laravel-nova-packages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing our Laravel Nova packages]]></title>
            <link rel="alternate" href="https://freek.dev/1125-introducing-our-laravel-nova-packages" />
            <id>https://freek.dev/1125-introducing-our-laravel-nova-packages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The web in 2045 ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/the-web-in-2045" />
            <id>https://www.stitcher.io/blog/the-web-in-2045</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:45+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The web in 2045 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/the-web-in-2045" />
            <id>https://stitcher.io/blog/the-web-in-2045</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[On August 6 1991, Sir Tim Berners-Lee put the world's first website online.
It's been 27 years since that first website has been reachable via the world wide web.
With...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mo' models mo' problems]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/mo-models-mo-problems" />
            <id>https://sebastiandedeyne.com/mo-models-mo-problems</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:57+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mo' models mo' problems]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/mo-models-mo-problems/" />
            <id>https://sebastiandedeyne.com/mo-models-mo-problems/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Service locator: an anti-pattern ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/service-locator-anti-pattern" />
            <id>https://www.stitcher.io/blog/service-locator-anti-pattern</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:45+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Service locator: an anti-pattern ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/service-locator-anti-pattern" />
            <id>https://stitcher.io/blog/service-locator-anti-pattern</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[As a Laravel developer, I'm confronted daily with the service locator pattern.
Every facade call and several helper functions are built upon it.
Let's take a look at a common...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Announcing the Full Stack Europe conference]]></title>
            <link rel="alternate" href="https://freek.dev/announcing-the-full-stack-europe-conference" />
            <id>https://freek.dev/announcing-the-full-stack-europe-conference</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Announcing the Full Stack Europe conference]]></title>
            <link rel="alternate" href="https://freek.dev/1123-announcing-the-full-stack-europe-conference" />
            <id>https://freek.dev/1123-announcing-the-full-stack-europe-conference</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Distraction-less user interfaces: Delayed transient states]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/distraction-less-user-interfaces-delayed-transient-states" />
            <id>https://sebastiandedeyne.com/distraction-less-user-interfaces-delayed-transient-states</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:57+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Distraction-less user interfaces: Delayed transient states]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/distraction-less-user-interfaces-delayed-transient-states/" />
            <id>https://sebastiandedeyne.com/distraction-less-user-interfaces-delayed-transient-states/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A few notes about the frontend of the renewed spatie.be]]></title>
            <link rel="alternate" href="https://freek.dev/a-few-notes-about-the-frontend-of-the-renewed-spatiebe" />
            <id>https://freek.dev/a-few-notes-about-the-frontend-of-the-renewed-spatiebe</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A few notes about the frontend of the renewed spatie.be]]></title>
            <link rel="alternate" href="https://freek.dev/1115-a-few-notes-about-the-frontend-of-the-renewed-spatiebe" />
            <id>https://freek.dev/1115-a-few-notes-about-the-frontend-of-the-renewed-spatiebe</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A new website for Spatie: backend highlights]]></title>
            <link rel="alternate" href="https://freek.dev/a-new-website-for-spatie-backend-highlights" />
            <id>https://freek.dev/a-new-website-for-spatie-backend-highlights</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A new website for Spatie: backend highlights]]></title>
            <link rel="alternate" href="https://freek.dev/1114-a-new-website-for-spatie-backend-highlights" />
            <id>https://freek.dev/1114-a-new-website-for-spatie-backend-highlights</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing laravel-event-projector: the easiest way to get started with event sourcing in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/introducing-laravel-event-projector-the-easiest-way-to-get-started-with-event-sourcing-in-a-laravel-app" />
            <id>https://freek.dev/introducing-laravel-event-projector-the-easiest-way-to-get-started-with-event-sourcing-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing laravel-event-projector: the easiest way to get started with event sourcing in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/1101-introducing-laravel-event-projector-the-easiest-way-to-get-started-with-event-sourcing-in-a-laravel-app" />
            <id>https://freek.dev/1101-introducing-laravel-event-projector-the-easiest-way-to-get-started-with-event-sourcing-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A short introduction to laravel-event-projector]]></title>
            <link rel="alternate" href="https://freek.dev/a-short-introduction-to-laravel-event-projector" />
            <id>https://freek.dev/a-short-introduction-to-laravel-event-projector</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A short introduction to laravel-event-projector]]></title>
            <link rel="alternate" href="https://freek.dev/1100-a-short-introduction-to-laravel-event-projector" />
            <id>https://freek.dev/1100-a-short-introduction-to-laravel-event-projector</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Breaking Laravel's firstOrCreate using race conditions]]></title>
            <link rel="alternate" href="https://freek.dev/breaking-laravels-firstorcreate-using-race-conditions" />
            <id>https://freek.dev/breaking-laravels-firstorcreate-using-race-conditions</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Breaking Laravel's firstOrCreate using race conditions]]></title>
            <link rel="alternate" href="https://freek.dev/1087-breaking-laravels-firstorcreate-using-race-conditions" />
            <id>https://freek.dev/1087-breaking-laravels-firstorcreate-using-race-conditions</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The Visual Perception of Code ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/visual-perception-of-code" />
            <id>https://www.stitcher.io/blog/visual-perception-of-code</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:45+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The Visual Perception of Code ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/visual-perception-of-code" />
            <id>https://stitcher.io/blog/visual-perception-of-code</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[How do we read code? Are there things we can do to make that reading more easy?
I recently gave a talk about this exact topic.
In this talk, I...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Scopes in PHPStorm ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/phpstorm-scopes" />
            <id>https://www.stitcher.io/blog/phpstorm-scopes</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:45+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Acquisition by giants ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/acquisition-by-giants" />
            <id>https://www.stitcher.io/blog/acquisition-by-giants</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Acquisition by giants ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/acquisition-by-giants" />
            <id>https://stitcher.io/blog/acquisition-by-giants</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Yesterday, Microsoft acquired GitHub.
I don't think GitHub is in any immediate danger of becoming obsolete or feature bloated.
But we should think about what this acquisition, one of many;...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The open source department at Spatie is doing overtime]]></title>
            <link rel="alternate" href="https://freek.dev/the-open-source-department-at-spatie-is-doing-overtime" />
            <id>https://freek.dev/the-open-source-department-at-spatie-is-doing-overtime</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The open source department at Spatie is doing overtime]]></title>
            <link rel="alternate" href="https://freek.dev/1070-the-open-source-department-at-spatie-is-doing-overtime" />
            <id>https://freek.dev/1070-the-open-source-department-at-spatie-is-doing-overtime</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to ‘hack’ and win the May Mayhem blog contest]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/posts/2018/how-to-hack-and-win-the-may-mayhem-blog-contest" />
            <id>https://alexvanderbist.com/posts/2018/how-to-hack-and-win-the-may-mayhem-blog-contest</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-27T18:00:48+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to ‘hack’ and win the May Mayhem blog contest]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2018/how-to-hack-and-win-the-may-mayhem-blog-contest" />
            <id>https://alexvanderbist.com/2018/how-to-hack-and-win-the-may-mayhem-blog-contest</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[I feel like programmers are often as good at breaking things as they are at fixing things. Part of the thought process of programming anything new is figuring out its...]]>
            </summary>
                                    <updated>2024-04-11T16:01:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Vue templates in JSX]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/vue-templates-in-jsx" />
            <id>https://sebastiandedeyne.com/vue-templates-in-jsx</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:57+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Vue templates in JSX]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/vue-templates-in-jsx/" />
            <id>https://sebastiandedeyne.com/vue-templates-in-jsx/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package that makes event sourcing in Laravel a breeze ?]]></title>
            <link rel="alternate" href="https://freek.dev/a-package-that-makes-event-sourcing-in-laravel-a-breeze" />
            <id>https://freek.dev/a-package-that-makes-event-sourcing-in-laravel-a-breeze</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T11:01:21+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package that makes event sourcing in Laravel a breeze ?]]></title>
            <link rel="alternate" href="https://freek.dev/1059-a-package-that-makes-event-sourcing-in-laravel-a-breeze" />
            <id>https://freek.dev/1059-a-package-that-makes-event-sourcing-in-laravel-a-breeze</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[When empty is not empty]]></title>
            <link rel="alternate" href="https://freek.dev/when-empty-is-not-empty" />
            <id>https://freek.dev/when-empty-is-not-empty</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[When empty is not empty]]></title>
            <link rel="alternate" href="https://freek.dev/1057-when-empty-is-not-empty" />
            <id>https://freek.dev/1057-when-empty-is-not-empty</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Liskov and type safety ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/liskov-and-type-safety" />
            <id>https://www.stitcher.io/blog/liskov-and-type-safety</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Liskov and type safety ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/liskov-and-type-safety" />
            <id>https://stitcher.io/blog/liskov-and-type-safety</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I've been fascinated by type systems in programming languages for a while now.
Recently, something clicked for me about inheritance and types.
Not only did it clarify type variance,
I...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automatically close stale issues and pull requests]]></title>
            <link rel="alternate" href="https://freek.dev/automatically-close-stale-issues-and-pull-requests" />
            <id>https://freek.dev/automatically-close-stale-issues-and-pull-requests</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automatically close stale issues and pull requests]]></title>
            <link rel="alternate" href="https://freek.dev/1044-automatically-close-stale-issues-and-pull-requests" />
            <id>https://freek.dev/1044-automatically-close-stale-issues-and-pull-requests</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Dependency injection for beginners ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/dependency-injection-for-beginners" />
            <id>https://www.stitcher.io/blog/dependency-injection-for-beginners</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Dependency injection for beginners ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/dependency-injection-for-beginners" />
            <id>https://stitcher.io/blog/dependency-injection-for-beginners</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[You're in the car business,
your job is to make cars on-demand.
The object-oriented programmer in you says:
"no problem, I'll make a blueprint that I can use to make...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHPStorm performance issues on OSX ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/phpstorm-performance-issues-on-osx" />
            <id>https://www.stitcher.io/blog/phpstorm-performance-issues-on-osx</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHPStorm performance issues on OSX ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/phpstorm-performance-issues-on-osx" />
            <id>https://stitcher.io/blog/phpstorm-performance-issues-on-osx</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Are you using a fancy Mac with the latest and greatest hardware,
yet still having performance issues with PHPStorm?
I've been struggling with this the past few months.
It turns...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A good issue]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/a-good-issue" />
            <id>https://sebastiandedeyne.com/a-good-issue</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:57+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A good issue]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/a-good-issue/" />
            <id>https://sebastiandedeyne.com/a-good-issue/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Code splitting with Laravel Mix]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/code-splitting-with-laravel-mix" />
            <id>https://sebastiandedeyne.com/code-splitting-with-laravel-mix</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:57+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Code splitting with Laravel Mix]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/code-splitting-with-laravel-mix/" />
            <id>https://sebastiandedeyne.com/code-splitting-with-laravel-mix/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What PHP can be ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/what-php-can-be" />
            <id>https://www.stitcher.io/blog/what-php-can-be</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What PHP can be ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/what-php-can-be" />
            <id>https://stitcher.io/blog/what-php-can-be</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Have you ever wondered how your life as a PHP developer would be different
if that one feature you want was added?
I've made the thought experiment quite a few...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Doing less]]></title>
            <link rel="alternate" href="https://freek.dev/doing-less" />
            <id>https://freek.dev/doing-less</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Doing less]]></title>
            <link rel="alternate" href="https://freek.dev/1016-doing-less" />
            <id>https://freek.dev/1016-doing-less</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[laravel-medialibrary v7 has been released ?]]></title>
            <link rel="alternate" href="https://freek.dev/laravel-medialibrary-v7-has-been-released" />
            <id>https://freek.dev/laravel-medialibrary-v7-has-been-released</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T11:01:21+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[laravel-medialibrary v7 has been released ?]]></title>
            <link rel="alternate" href="https://freek.dev/1008-laravel-medialibrary-v7-has-been-released" />
            <id>https://freek.dev/1008-laravel-medialibrary-v7-has-been-released</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHPStorm tips for power users ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/phpstorm-tips-for-power-users" />
            <id>https://www.stitcher.io/blog/phpstorm-tips-for-power-users</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHPStorm tips for power users ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/phpstorm-tips-for-power-users" />
            <id>https://stitcher.io/blog/phpstorm-tips-for-power-users</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[A selection of less-known-yet-powerful features of PHPStorm.

    


# Pane modes
Every pane in PHPStorm has several modes and...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Server side rendering JavaScript from PHP]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/server-side-rendering-javascript-from-php" />
            <id>https://sebastiandedeyne.com/server-side-rendering-javascript-from-php</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Server side rendering JavaScript from PHP]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/server-side-rendering-javascript-from-php/" />
            <id>https://sebastiandedeyne.com/server-side-rendering-javascript-from-php/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Today we hit 10 million PHP package downloads]]></title>
            <link rel="alternate" href="https://freek.dev/today-we-hit-10-million-php-package-downloads" />
            <id>https://freek.dev/today-we-hit-10-million-php-package-downloads</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Today we hit 10 million PHP package downloads]]></title>
            <link rel="alternate" href="https://freek.dev/1001-today-we-hit-10-million-php-package-downloads" />
            <id>https://freek.dev/1001-today-we-hit-10-million-php-package-downloads</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Responsive images done right ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/responsive-images-done-right" />
            <id>https://www.stitcher.io/blog/responsive-images-done-right</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Responsive images done right ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/responsive-images-done-right" />
            <id>https://stitcher.io/blog/responsive-images-done-right</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I want to share some thoughts on responsive images.
I'll write about a certain mindset which many projects could benefit from:
small- and mid-sized web projects that don't need a...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Content Security Policy headers in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/using-content-security-policy-headers-in-a-laravel-app" />
            <id>https://freek.dev/using-content-security-policy-headers-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using Content Security Policy headers in a Laravel app]]></title>
            <link rel="alternate" href="https://freek.dev/982-using-content-security-policy-headers-in-a-laravel-app" />
            <id>https://freek.dev/982-using-content-security-policy-headers-in-a-laravel-app</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A pair of helping hands when naming things]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/a-pair-of-helping-hands-when-naming-things" />
            <id>https://sebastiandedeyne.com/a-pair-of-helping-hands-when-naming-things</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A pair of helping hands when naming things]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/a-pair-of-helping-hands-when-naming-things/" />
            <id>https://sebastiandedeyne.com/a-pair-of-helping-hands-when-naming-things/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Showing full MySQL foreign key errors ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/mysql-show-foreign-key-errors" />
            <id>https://www.stitcher.io/blog/mysql-show-foreign-key-errors</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Showing full MySQL foreign key errors ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/mysql-show-foreign-key-errors" />
            <id>https://stitcher.io/blog/mysql-show-foreign-key-errors</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In case of a foreign key error when creating or altering a table, MySQL doesn't show the full message.
You can read the full message by executing the following query...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to assign statuses to Eloquent models]]></title>
            <link rel="alternate" href="https://freek.dev/a-package-to-assign-statuses-to-eloquent-models" />
            <id>https://freek.dev/a-package-to-assign-statuses-to-eloquent-models</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package to assign statuses to Eloquent models]]></title>
            <link rel="alternate" href="https://freek.dev/973-a-package-to-assign-statuses-to-eloquent-models" />
            <id>https://freek.dev/973-a-package-to-assign-statuses-to-eloquent-models</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building APIs with ​Laravel Query Builder]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/posts/2018/builder-apis-with-laravel-query-builder" />
            <id>https://alexvanderbist.com/posts/2018/builder-apis-with-laravel-query-builder</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-27T18:00:48+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building APIs with Laravel Query Builder]]></title>
            <link rel="alternate" href="https://alexvanderbist.com/2018/builder-apis-with-laravel-query-builder" />
            <id>https://alexvanderbist.com/2018/builder-apis-with-laravel-query-builder</id>
            <author>
                <name><![CDATA[alexvanderbist.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you've ever worked on any medium sized API I'm sure you quickly discovered a lot of frequently occurring patterns. Parsing the query string, retrieving necessary models, filtering, sorting, adding...]]>
            </summary>
                                    <updated>2024-04-11T16:01:44+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Notification specific routing in Laravel 5.6]]></title>
            <link rel="alternate" href="https://freek.dev/notification-specific-routing-in-laravel-56" />
            <id>https://freek.dev/notification-specific-routing-in-laravel-56</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Notification specific routing in Laravel 5.6]]></title>
            <link rel="alternate" href="https://freek.dev/971-notification-specific-routing-in-laravel-56" />
            <id>https://freek.dev/971-notification-specific-routing-in-laravel-56</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Blade component aliases in Laravel 5.6]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/blade-component-aliases-in-laravel-56" />
            <id>https://sebastiandedeyne.com/blade-component-aliases-in-laravel-56</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Blade component aliases in Laravel 5.6]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/blade-component-aliases-in-laravel-5.6/" />
            <id>https://sebastiandedeyne.com/blade-component-aliases-in-laravel-5.6/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Blade component aliases in Laravel 5.6]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/blade-component-aliases-in-laravel-56/" />
            <id>https://sebastiandedeyne.com/blade-component-aliases-in-laravel-56/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-17T11:00:53+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to upgrade from PHP 7.1 to 7.2 on MacOS using Homebrew]]></title>
            <link rel="alternate" href="https://freek.dev/how-to-upgrade-from-php-71-to-72-on-macos-using-homebrew" />
            <id>https://freek.dev/how-to-upgrade-from-php-71-to-72-on-macos-using-homebrew</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to upgrade from PHP 7.1 to 7.2 on MacOS using Homebrew]]></title>
            <link rel="alternate" href="https://freek.dev/966-how-to-upgrade-from-php-71-to-72-on-macos-using-homebrew" />
            <id>https://freek.dev/966-how-to-upgrade-from-php-71-to-72-on-macos-using-homebrew</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Displaying sites that are down on a dashboard using Oh Dear! webhooks]]></title>
            <link rel="alternate" href="https://freek.dev/displaying-sites-that-are-down-on-a-dashboard-using-oh-dear-webhooks" />
            <id>https://freek.dev/displaying-sites-that-are-down-on-a-dashboard-using-oh-dear-webhooks</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Displaying sites that are down on a dashboard using Oh Dear! webhooks]]></title>
            <link rel="alternate" href="https://freek.dev/960-displaying-sites-that-are-down-on-a-dashboard-using-oh-dear-webhooks" />
            <id>https://freek.dev/960-displaying-sites-that-are-down-on-a-dashboard-using-oh-dear-webhooks</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[MySQL query logging ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/mysql-query-logging" />
            <id>https://www.stitcher.io/blog/mysql-query-logging</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[MySQL query logging ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/mysql-query-logging" />
            <id>https://stitcher.io/blog/mysql-query-logging</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[# Enable query logging
mysql -p -u root

> SET GLOBAL general_log = 'ON';

# Turning it off again...]]>
            </summary>
                                    <updated>2022-03-17T06:00:06+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Where a curly bracket belongs ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/where-a-curly-bracket-belongs" />
            <id>https://www.stitcher.io/blog/where-a-curly-bracket-belongs</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Where a curly bracket belongs ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/where-a-curly-bracket-belongs" />
            <id>https://stitcher.io/blog/where-a-curly-bracket-belongs</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[This blogpost is based on this amazing talk by Kevlin Henney.
Dedicating a whole blogpost to curly brackets might seem like overkill
but I believe it's worth thinking...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Passing data to layouts in Blade through extends]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/passing-data-to-layouts-in-blade-through-extends" />
            <id>https://sebastiandedeyne.com/passing-data-to-layouts-in-blade-through-extends</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Passing data to layouts in Blade through extends]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/passing-data-to-layouts-in-blade-through-extends/" />
            <id>https://sebastiandedeyne.com/passing-data-to-layouts-in-blade-through-extends/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to send a "trial expiring soon" mail in Laravel Spark]]></title>
            <link rel="alternate" href="https://freek.dev/how-to-send-a-trial-expiring-soon-mail-in-laravel-spark" />
            <id>https://freek.dev/how-to-send-a-trial-expiring-soon-mail-in-laravel-spark</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[How to send a "trial expiring soon" mail in Laravel Spark]]></title>
            <link rel="alternate" href="https://freek.dev/952-how-to-send-a-trial-expiring-soon-mail-in-laravel-spark" />
            <id>https://freek.dev/952-how-to-send-a-trial-expiring-soon-mail-in-laravel-spark</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[MySQL import: JSON with binary character set ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/mysql-import-json-binary-character-set" />
            <id>https://www.stitcher.io/blog/mysql-import-json-binary-character-set</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[MySQL import: JSON with binary character set ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/mysql-import-json-binary-character-set" />
            <id>https://stitcher.io/blog/mysql-import-json-binary-character-set</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[If you see this error when importing MySQL files:
cannot create a JSON value from a string with CHARACTER...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Handling CORS in a Laravel application]]></title>
            <link rel="alternate" href="https://freek.dev/handling-cors-in-a-laravel-application" />
            <id>https://freek.dev/handling-cors-in-a-laravel-application</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Handling CORS in a Laravel application]]></title>
            <link rel="alternate" href="https://freek.dev/948-handling-cors-in-a-laravel-application" />
            <id>https://freek.dev/948-handling-cors-in-a-laravel-application</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The story behind our open source efforts]]></title>
            <link rel="alternate" href="https://freek.dev/the-story-behind-our-open-source-efforts" />
            <id>https://freek.dev/the-story-behind-our-open-source-efforts</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The story behind our open source efforts]]></title>
            <link rel="alternate" href="https://freek.dev/947-the-story-behind-our-open-source-efforts" />
            <id>https://freek.dev/947-the-story-behind-our-open-source-efforts</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Asynchronous PHP ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/asynchronous-php" />
            <id>https://www.stitcher.io/blog/asynchronous-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Asynchronous PHP ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/asynchronous-php" />
            <id>https://stitcher.io/blog/asynchronous-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[We're working on a new package at Spatie.
It's called spatie/async and meant to do asynchronous parallel processing in PHP.
Parallel processing in PHP might seem like an...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[An async map function]]></title>
            <link rel="alternate" href="https://freek.dev/an-async-map-function" />
            <id>https://freek.dev/an-async-map-function</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[An async map function]]></title>
            <link rel="alternate" href="https://freek.dev/935-an-async-map-function" />
            <id>https://freek.dev/935-an-async-map-function</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel-medialibrary v7 preview: media collections]]></title>
            <link rel="alternate" href="https://freek.dev/laravel-medialibrary-v7-preview-media-collections" />
            <id>https://freek.dev/laravel-medialibrary-v7-preview-media-collections</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel-medialibrary v7 preview: media collections]]></title>
            <link rel="alternate" href="https://freek.dev/934-laravel-medialibrary-v7-preview-media-collections" />
            <id>https://freek.dev/934-laravel-medialibrary-v7-preview-media-collections</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel-medialibrary v7 preview: multi file downloads]]></title>
            <link rel="alternate" href="https://freek.dev/laravel-medialibrary-v7-preview-multi-file-downloads" />
            <id>https://freek.dev/laravel-medialibrary-v7-preview-multi-file-downloads</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel-medialibrary v7 preview: multi file downloads]]></title>
            <link rel="alternate" href="https://freek.dev/930-laravel-medialibrary-v7-preview-multi-file-downloads" />
            <id>https://freek.dev/930-laravel-medialibrary-v7-preview-multi-file-downloads</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Symfony now has an improved dump function]]></title>
            <link rel="alternate" href="https://freek.dev/symfony-now-has-an-improved-dump-function" />
            <id>https://freek.dev/symfony-now-has-an-improved-dump-function</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Symfony now has an improved dump function]]></title>
            <link rel="alternate" href="https://freek.dev/920-symfony-now-has-an-improved-dump-function" />
            <id>https://freek.dev/920-symfony-now-has-an-improved-dump-function</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[murze.be turns three]]></title>
            <link rel="alternate" href="https://freek.dev/murzebe-turns-three" />
            <id>https://freek.dev/murzebe-turns-three</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[murze.be turns three]]></title>
            <link rel="alternate" href="https://freek.dev/917-murzebe-turns-three" />
            <id>https://freek.dev/917-murzebe-turns-three</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Optimised UUIDs in mysql ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/optimised-uuids-in-mysql" />
            <id>https://www.stitcher.io/blog/optimised-uuids-in-mysql</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Optimised UUIDs in mysql ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/optimised-uuids-in-mysql" />
            <id>https://stitcher.io/blog/optimised-uuids-in-mysql</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[At Spatie, we're working on a large project which uses UUIDs in many database tables.
These tables vary in size from a few thousand records to half a...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Reducing the size of a css file]]></title>
            <link rel="alternate" href="https://freek.dev/reducing-the-size-of-a-css-file" />
            <id>https://freek.dev/reducing-the-size-of-a-css-file</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Reducing the size of a css file]]></title>
            <link rel="alternate" href="https://freek.dev/909-reducing-the-size-of-a-css-file" />
            <id>https://freek.dev/909-reducing-the-size-of-a-css-file</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[On migrating my blog from WordPress to a Laravel application]]></title>
            <link rel="alternate" href="https://freek.dev/on-migrating-my-blog-from-wordpress-to-a-laravel-application" />
            <id>https://freek.dev/on-migrating-my-blog-from-wordpress-to-a-laravel-application</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[On migrating my blog from WordPress to a Laravel application]]></title>
            <link rel="alternate" href="https://freek.dev/906-on-migrating-my-blog-from-wordpress-to-a-laravel-application" />
            <id>https://freek.dev/906-on-migrating-my-blog-from-wordpress-to-a-laravel-application</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Shorthand comparisons in PHP ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/shorthand-comparisons-in-php" />
            <id>https://www.stitcher.io/blog/shorthand-comparisons-in-php</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A beautiful webapp to fetch dns records]]></title>
            <link rel="alternate" href="https://freek.dev/a-beautiful-webapp-to-fetch-dns-records" />
            <id>https://freek.dev/a-beautiful-webapp-to-fetch-dns-records</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A beautiful webapp to fetch dns records]]></title>
            <link rel="alternate" href="https://freek.dev/893-a-beautiful-webapp-to-fetch-dns-records" />
            <id>https://freek.dev/893-a-beautiful-webapp-to-fetch-dns-records</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Debugging the dreaded "Class log does not exist" error in Laravel]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/debugging-the-dreaded-class-log-does-not-exist-error-in-laravel" />
            <id>https://sebastiandedeyne.com/debugging-the-dreaded-class-log-does-not-exist-error-in-laravel</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Debugging the dreaded "Class log does not exist" error in Laravel]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/debugging-the-dreaded-class-log-does-not-exist-error-in-laravel/" />
            <id>https://sebastiandedeyne.com/debugging-the-dreaded-class-log-does-not-exist-error-in-laravel/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to log HTTP requests]]></title>
            <link rel="alternate" href="https://freek.dev/a-laravel-package-to-log-http-requests" />
            <id>https://freek.dev/a-laravel-package-to-log-http-requests</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to log HTTP requests]]></title>
            <link rel="alternate" href="https://freek.dev/882-a-laravel-package-to-log-http-requests" />
            <id>https://freek.dev/882-a-laravel-package-to-log-http-requests</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Browsershot v3: the best way to convert html to PDFs and images]]></title>
            <link rel="alternate" href="https://freek.dev/introducing-browsershot-v3-the-best-way-to-convert-html-to-pdfs-and-images" />
            <id>https://freek.dev/introducing-browsershot-v3-the-best-way-to-convert-html-to-pdfs-and-images</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Introducing Browsershot v3: the best way to convert html to PDFs and images]]></title>
            <link rel="alternate" href="https://freek.dev/881-introducing-browsershot-v3-the-best-way-to-convert-html-to-pdfs-and-images" />
            <id>https://freek.dev/881-introducing-browsershot-v3-the-best-way-to-convert-html-to-pdfs-and-images</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Improving PHPStorm's performance ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/phpstorm-performance" />
            <id>https://www.stitcher.io/blog/phpstorm-performance</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Improving PHPStorm's performance ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/phpstorm-performance" />
            <id>https://stitcher.io/blog/phpstorm-performance</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Let's just dive right in.
# Java VM options
PHPStorm is made in Java. If you ever played Minecraft, you know you could allocate extra RAM by...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Handling Stripe webhooks in a Laravel application]]></title>
            <link rel="alternate" href="https://freek.dev/handling-stripe-webhooks-in-a-laravel-application" />
            <id>https://freek.dev/handling-stripe-webhooks-in-a-laravel-application</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Handling Stripe webhooks in a Laravel application]]></title>
            <link rel="alternate" href="https://freek.dev/870-handling-stripe-webhooks-in-a-laravel-application" />
            <id>https://freek.dev/870-handling-stripe-webhooks-in-a-laravel-application</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Nordic.js 2017 recap]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/nordicjs-2017-recap" />
            <id>https://sebastiandedeyne.com/nordicjs-2017-recap</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Nordic.js 2017 recap]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/nordic.js-2017-recap/" />
            <id>https://sebastiandedeyne.com/nordic.js-2017-recap/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Nordic.js 2017 recap]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/nordicjs-2017-recap/" />
            <id>https://sebastiandedeyne.com/nordicjs-2017-recap/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-17T11:00:53+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[New features in our packages]]></title>
            <link rel="alternate" href="https://freek.dev/new-features-in-our-packages" />
            <id>https://freek.dev/new-features-in-our-packages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[New features in our packages]]></title>
            <link rel="alternate" href="https://freek.dev/861-new-features-in-our-packages" />
            <id>https://freek.dev/861-new-features-in-our-packages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A trait to dynamically add methods to a class]]></title>
            <link rel="alternate" href="https://freek.dev/a-trait-to-dynamically-add-methods-to-a-class" />
            <id>https://freek.dev/a-trait-to-dynamically-add-methods-to-a-class</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A trait to dynamically add methods to a class]]></title>
            <link rel="alternate" href="https://freek.dev/857-a-trait-to-dynamically-add-methods-to-a-class" />
            <id>https://freek.dev/857-a-trait-to-dynamically-add-methods-to-a-class</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Our vue-table-component got some nice improvements]]></title>
            <link rel="alternate" href="https://freek.dev/our-vue-table-component-got-some-nice-improvements" />
            <id>https://freek.dev/our-vue-table-component-got-some-nice-improvements</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Our vue-table-component got some nice improvements]]></title>
            <link rel="alternate" href="https://freek.dev/842-our-vue-table-component-got-some-nice-improvements" />
            <id>https://freek.dev/842-our-vue-table-component-got-some-nice-improvements</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Getting started with laravel-medialibrary: a video tutorial]]></title>
            <link rel="alternate" href="https://freek.dev/getting-started-with-laravel-medialibrary-a-video-tutorial" />
            <id>https://freek.dev/getting-started-with-laravel-medialibrary-a-video-tutorial</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Getting started with laravel-medialibrary: a video tutorial]]></title>
            <link rel="alternate" href="https://freek.dev/835-getting-started-with-laravel-medialibrary-a-video-tutorial" />
            <id>https://freek.dev/835-getting-started-with-laravel-medialibrary-a-video-tutorial</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What Laravel 5.5 means for our packages]]></title>
            <link rel="alternate" href="https://freek.dev/what-laravel-55-means-for-our-packages" />
            <id>https://freek.dev/what-laravel-55-means-for-our-packages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What Laravel 5.5 means for our packages]]></title>
            <link rel="alternate" href="https://freek.dev/834-what-laravel-55-means-for-our-packages" />
            <id>https://freek.dev/834-what-laravel-55-means-for-our-packages</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Stitcher beta 2 ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/stitcher-beta-2" />
            <id>https://www.stitcher.io/blog/stitcher-beta-2</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Stitcher beta 2 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/stitcher-beta-2" />
            <id>https://stitcher.io/blog/stitcher-beta-2</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The second beta release of Stitcher ties a lot of loose ends together, getting ready for real production sites.
# Installation
composer ]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mastering key bindings ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/mastering-key-bindings" />
            <id>https://www.stitcher.io/blog/mastering-key-bindings</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Mastering key bindings ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/mastering-key-bindings" />
            <id>https://stitcher.io/blog/mastering-key-bindings</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[This blog post aims to make you think about the way you use key bindings whilst programming.
You'll read about some techniques I use to assign key bindings, how to...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Theme-based views in Laravel using vendor namespaces]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/theme-based-views-in-laravel-using-vendor-namespaces" />
            <id>https://sebastiandedeyne.com/theme-based-views-in-laravel-using-vendor-namespaces</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Theme-based views in Laravel using vendor namespaces]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/theme-based-views-in-laravel-using-vendor-namespaces/" />
            <id>https://sebastiandedeyne.com/theme-based-views-in-laravel-using-vendor-namespaces/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[An interview with Jef, Spatie's account manager]]></title>
            <link rel="alternate" href="https://freek.dev/an-interview-with-jef-spaties-account-manager" />
            <id>https://freek.dev/an-interview-with-jef-spaties-account-manager</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[An interview with Jef, Spatie's account manager]]></title>
            <link rel="alternate" href="https://freek.dev/827-an-interview-with-jef-spaties-account-manager" />
            <id>https://freek.dev/827-an-interview-with-jef-spaties-account-manager</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Open-sourcing our guidelines]]></title>
            <link rel="alternate" href="https://freek.dev/open-sourcing-our-guidelines" />
            <id>https://freek.dev/open-sourcing-our-guidelines</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Open-sourcing our guidelines]]></title>
            <link rel="alternate" href="https://freek.dev/826-open-sourcing-our-guidelines" />
            <id>https://freek.dev/826-open-sourcing-our-guidelines</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using global mixins in Vue.js]]></title>
            <link rel="alternate" href="https://freek.dev/using-global-mixins-in-vuejs" />
            <id>https://freek.dev/using-global-mixins-in-vuejs</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using global mixins in Vue.js]]></title>
            <link rel="alternate" href="https://freek.dev/823-using-global-mixins-in-vuejs" />
            <id>https://freek.dev/823-using-global-mixins-in-vuejs</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What's in our .babelrc?]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/whats-in-our-babelrc" />
            <id>https://sebastiandedeyne.com/whats-in-our-babelrc</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What's in our .babelrc?]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/whats-in-our-.babelrc/" />
            <id>https://sebastiandedeyne.com/whats-in-our-.babelrc/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[What's in our .babelrc?]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/whats-in-our-babelrc/" />
            <id>https://sebastiandedeyne.com/whats-in-our-babelrc/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-17T11:00:53+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Generate pdfs with Google Chrome on a Forge provisioned server]]></title>
            <link rel="alternate" href="https://freek.dev/generate-pdfs-with-google-chrome-on-a-forge-provisioned-server" />
            <id>https://freek.dev/generate-pdfs-with-google-chrome-on-a-forge-provisioned-server</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Generate pdfs with Google Chrome on a Forge provisioned server]]></title>
            <link rel="alternate" href="https://freek.dev/813-generate-pdfs-with-google-chrome-on-a-forge-provisioned-server" />
            <id>https://freek.dev/813-generate-pdfs-with-google-chrome-on-a-forge-provisioned-server</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Generate pdfs with Google Chrome on a Forge provisioned server]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/generate-pdfs-with-google-chrome-on-a-forge-provisioned-server" />
            <id>https://sebastiandedeyne.com/generate-pdfs-with-google-chrome-on-a-forge-provisioned-server</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Generate pdfs with Google Chrome on a Forge provisioned server]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/generate-pdfs-with-google-chrome-on-a-forge-provisioned-server/" />
            <id>https://sebastiandedeyne.com/generate-pdfs-with-google-chrome-on-a-forge-provisioned-server/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A tool to automatically rerun PHPUnit tests when source code changes]]></title>
            <link rel="alternate" href="https://freek.dev/a-tool-to-automatically-rerun-phpunit-tests-when-source-code-changes" />
            <id>https://freek.dev/a-tool-to-automatically-rerun-phpunit-tests-when-source-code-changes</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A tool to automatically rerun PHPUnit tests when source code changes]]></title>
            <link rel="alternate" href="https://freek.dev/812-a-tool-to-automatically-rerun-phpunit-tests-when-source-code-changes" />
            <id>https://freek.dev/812-a-tool-to-automatically-rerun-phpunit-tests-when-source-code-changes</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using registered event listeners as conditionals in Vue]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/using-registered-event-listeners-as-conditionals-in-vue" />
            <id>https://sebastiandedeyne.com/using-registered-event-listeners-as-conditionals-in-vue</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using registered event listeners as conditionals in Vue]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/using-registered-event-listeners-as-conditionals-in-vue/" />
            <id>https://sebastiandedeyne.com/using-registered-event-listeners-as-conditionals-in-vue/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Optimize images in Laravel apps]]></title>
            <link rel="alternate" href="https://freek.dev/optimize-images-in-laravel-apps" />
            <id>https://freek.dev/optimize-images-in-laravel-apps</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Optimize images in Laravel apps]]></title>
            <link rel="alternate" href="https://freek.dev/804-optimize-images-in-laravel-apps" />
            <id>https://freek.dev/804-optimize-images-in-laravel-apps</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Easily optimize images using PHP (and some binaries)]]></title>
            <link rel="alternate" href="https://freek.dev/easily-optimize-images-using-php-and-some-binaries" />
            <id>https://freek.dev/easily-optimize-images-using-php-and-some-binaries</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Easily optimize images using PHP (and some binaries)]]></title>
            <link rel="alternate" href="https://freek.dev/797-easily-optimize-images-using-php-and-some-binaries" />
            <id>https://freek.dev/797-easily-optimize-images-using-php-and-some-binaries</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A list of podcasts]]></title>
            <link rel="alternate" href="https://freek.dev/a-list-of-podcasts" />
            <id>https://freek.dev/a-list-of-podcasts</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A list of podcasts]]></title>
            <link rel="alternate" href="https://freek.dev/795-a-list-of-podcasts" />
            <id>https://freek.dev/795-a-list-of-podcasts</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Easily convert webpages to images using PHP]]></title>
            <link rel="alternate" href="https://freek.dev/easily-convert-webpages-to-images-using-php" />
            <id>https://freek.dev/easily-convert-webpages-to-images-using-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Easily convert webpages to images using PHP]]></title>
            <link rel="alternate" href="https://freek.dev/793-easily-convert-webpages-to-images-using-php" />
            <id>https://freek.dev/793-easily-convert-webpages-to-images-using-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Exposing multiple Vue components as a plugin]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/exposing-multiple-vue-components-as-a-plugin" />
            <id>https://sebastiandedeyne.com/exposing-multiple-vue-components-as-a-plugin</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Exposing multiple Vue components as a plugin]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/exposing-multiple-vue-components-as-a-plugin/" />
            <id>https://sebastiandedeyne.com/exposing-multiple-vue-components-as-a-plugin/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A programmer's cognitive load ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/a-programmers-cognitive-load" />
            <id>https://www.stitcher.io/blog/a-programmers-cognitive-load</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Responsive images as CSS background ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/responsive-images-as-css-background" />
            <id>https://www.stitcher.io/blog/responsive-images-as-css-background</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Responsive images as CSS background ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/responsive-images-as-css-background" />
            <id>https://stitcher.io/blog/responsive-images-as-css-background</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Integrating the Responsive Images spec together with CSS backgrounds, allowing for more flexibility for eg. hero images because you can use background-size: cover; etc., and still have the...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a realtime dashboard powered by Laravel and Vue (2017 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/building-a-realtime-dashboard-powered-by-laravel-and-vue-2017-edition" />
            <id>https://freek.dev/building-a-realtime-dashboard-powered-by-laravel-and-vue-2017-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Building a realtime dashboard powered by Laravel and Vue (2017 edition)]]></title>
            <link rel="alternate" href="https://freek.dev/783-building-a-realtime-dashboard-powered-by-laravel-and-vue-2017-edition" />
            <id>https://freek.dev/783-building-a-realtime-dashboard-powered-by-laravel-and-vue-2017-edition</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Object oriented generators ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/object-oriented-generators" />
            <id>https://www.stitcher.io/blog/object-oriented-generators</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Object oriented generators ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/object-oriented-generators" />
            <id>https://stitcher.io/blog/object-oriented-generators</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The following code shows an object oriented way of implementing a well known generator function: to read lines from a large file.
class ]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A straightforward Vue component to filter and sort tables]]></title>
            <link rel="alternate" href="https://freek.dev/a-straightforward-vue-component-to-filter-and-sort-tables" />
            <id>https://freek.dev/a-straightforward-vue-component-to-filter-and-sort-tables</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A straightforward Vue component to filter and sort tables]]></title>
            <link rel="alternate" href="https://freek.dev/776-a-straightforward-vue-component-to-filter-and-sort-tables" />
            <id>https://freek.dev/776-a-straightforward-vue-component-to-filter-and-sort-tables</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Process forks ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/process-forks" />
            <id>https://www.stitcher.io/blog/process-forks</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Process forks ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/process-forks" />
            <id>https://stitcher.io/blog/process-forks</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[function async(Process $process) : Process {
    socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $sockets);
    [$parentSocket, $childSocket] = $sockets;

    if (($pid = pcntl_fork()) ==...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Performance 101: building the better web ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/performance-101-building-the-better-web" />
            <id>https://www.stitcher.io/blog/performance-101-building-the-better-web</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Performance 101: building the better web ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/performance-101-building-the-better-web" />
            <id>https://stitcher.io/blog/performance-101-building-the-better-web</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Today we're looking into web performance. I'll share some useful links to articles and tutorials written by people with a lot of professional experience on the topic. I am writing...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Array objects ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/aray-objects-with-fixed-types" />
            <id>https://www.stitcher.io/blog/aray-objects-with-fixed-types</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Array objects ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/aray-objects-with-fixed-types" />
            <id>https://stitcher.io/blog/aray-objects-with-fixed-types</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[abstract class Collection implements \ArrayAccess, \Iterator
{
    private $position;

    private $array = [];

    public ]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Stitcher beta 1 ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/stitcher-beta-1" />
            <id>https://www.stitcher.io/blog/stitcher-beta-1</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Stitcher beta 1 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/stitcher-beta-1" />
            <id>https://stitcher.io/blog/stitcher-beta-1</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[The first beta release of Stitcher has arrived. Together with a lot of bugfixes, the website has been given some more love.
# Installation
The installation package,...]]>
            </summary>
                                    <updated>2020-12-31T12:16:34+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Testing a Vue component part 5: Jest awesomeness and a skeleton to get started]]></title>
            <link rel="alternate" href="https://freek.dev/testing-a-vue-component-part-5-jest-awesomeness-and-a-skeleton-to-get-started" />
            <id>https://freek.dev/testing-a-vue-component-part-5-jest-awesomeness-and-a-skeleton-to-get-started</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Testing a Vue component part 5: Jest awesomeness and a skeleton to get started]]></title>
            <link rel="alternate" href="https://freek.dev/757-testing-a-vue-component-part-5-jest-awesomeness-and-a-skeleton-to-get-started" />
            <id>https://freek.dev/757-testing-a-vue-component-part-5-jest-awesomeness-and-a-skeleton-to-get-started</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Testing a Vue component part 4: more testing and faking time]]></title>
            <link rel="alternate" href="https://freek.dev/testing-a-vue-component-part-4-more-testing-and-faking-time" />
            <id>https://freek.dev/testing-a-vue-component-part-4-more-testing-and-faking-time</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Testing a Vue component part 4: more testing and faking time]]></title>
            <link rel="alternate" href="https://freek.dev/756-testing-a-vue-component-part-4-more-testing-and-faking-time" />
            <id>https://freek.dev/756-testing-a-vue-component-part-4-more-testing-and-faking-time</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Testing a Vue component part 3: Creating an instance]]></title>
            <link rel="alternate" href="https://freek.dev/testing-a-vue-component-part-3-creating-an-instance" />
            <id>https://freek.dev/testing-a-vue-component-part-3-creating-an-instance</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Testing a Vue component part 3: Creating an instance]]></title>
            <link rel="alternate" href="https://freek.dev/755-testing-a-vue-component-part-3-creating-an-instance" />
            <id>https://freek.dev/755-testing-a-vue-component-part-3-creating-an-instance</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Testing a Vue component part 2: the first test and snapshots]]></title>
            <link rel="alternate" href="https://freek.dev/testing-a-vue-component-part-2-the-first-test-and-snapshots" />
            <id>https://freek.dev/testing-a-vue-component-part-2-the-first-test-and-snapshots</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Testing a Vue component part 2: the first test and snapshots]]></title>
            <link rel="alternate" href="https://freek.dev/754-testing-a-vue-component-part-2-the-first-test-and-snapshots" />
            <id>https://freek.dev/754-testing-a-vue-component-part-2-the-first-test-and-snapshots</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Testing a Vue component part 1: getting started]]></title>
            <link rel="alternate" href="https://freek.dev/testing-a-vue-component-part-1-getting-started" />
            <id>https://freek.dev/testing-a-vue-component-part-1-getting-started</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Testing a Vue component part 1: getting started]]></title>
            <link rel="alternate" href="https://freek.dev/753-testing-a-vue-component-part-1-getting-started" />
            <id>https://freek.dev/753-testing-a-vue-component-part-1-getting-started</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Vue component to display tabs]]></title>
            <link rel="alternate" href="https://freek.dev/a-vue-component-to-display-tabs" />
            <id>https://freek.dev/a-vue-component-to-display-tabs</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Vue component to display tabs]]></title>
            <link rel="alternate" href="https://freek.dev/752-a-vue-component-to-display-tabs" />
            <id>https://freek.dev/752-a-vue-component-to-display-tabs</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP Generics and why we need them ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/php-generics-and-why-we-need-them" />
            <id>https://www.stitcher.io/blog/php-generics-and-why-we-need-them</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[PHP Generics and why we need them ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/php-generics-and-why-we-need-them" />
            <id>https://stitcher.io/blog/php-generics-and-why-we-need-them</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In today's blog post we'll explore some common problems with arrays in PHP. All the problems and issues listed could be solved with a pending RFC which adds generics to...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[TypeScript with Laravel Mix]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/typescript-with-laravel-mix" />
            <id>https://sebastiandedeyne.com/typescript-with-laravel-mix</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[TypeScript with Laravel Mix]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/typescript-with-laravel-mix/" />
            <id>https://sebastiandedeyne.com/typescript-with-laravel-mix/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Quickly dd anything from the commandline]]></title>
            <link rel="alternate" href="https://freek.dev/quickly-dd-anything-from-the-commandline" />
            <id>https://freek.dev/quickly-dd-anything-from-the-commandline</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Quickly dd anything from the commandline]]></title>
            <link rel="alternate" href="https://freek.dev/748-quickly-dd-anything-from-the-commandline" />
            <id>https://freek.dev/748-quickly-dd-anything-from-the-commandline</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The list function & practical uses of array destructuring in PHP]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/the-list-function-and-practical-uses-of-array-destructuring-in-php" />
            <id>https://sebastiandedeyne.com/the-list-function-and-practical-uses-of-array-destructuring-in-php</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-12-11T10:24:58+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The list function & practical uses of array destructuring in PHP]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/the-list-function-practical-uses-of-array-destructuring-in-php/" />
            <id>https://sebastiandedeyne.com/the-list-function-practical-uses-of-array-destructuring-in-php/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The list function & practical uses of array destructuring in PHP]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/the-list-function-and-practical-uses-of-array-destructuring-in-php/" />
            <id>https://sebastiandedeyne.com/the-list-function-and-practical-uses-of-array-destructuring-in-php/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-17T11:00:53+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Stitcher alpha 5 ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/stitcher-alpha-5" />
            <id>https://www.stitcher.io/blog/stitcher-alpha-5</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Stitcher alpha 5 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/stitcher-alpha-5" />
            <id>https://stitcher.io/blog/stitcher-alpha-5</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[This is the last alpha version of Stitcher. The next release will be beta for the first time, and only bugfixes and improvements will be added from now on. Alpha...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The simplest plugin support ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/simplest-plugin-support" />
            <id>https://www.stitcher.io/blog/simplest-plugin-support</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[The simplest plugin support ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/simplest-plugin-support" />
            <id>https://stitcher.io/blog/simplest-plugin-support</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[Stitcher's plugin support is available as of stitcher 1.0.0-alpha5.
In this post, you'll read about Stitcher's plugin system. It might get a bit technical, but is definitely worth the...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Dropbox will turn off v1 of their API soon. It's time to update your PHP application.]]></title>
            <link rel="alternate" href="https://freek.dev/dropbox-will-turn-off-v1-of-their-api-soon-its-time-to-update-your-php-application" />
            <id>https://freek.dev/dropbox-will-turn-off-v1-of-their-api-soon-its-time-to-update-your-php-application</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Dropbox will turn off v1 of their API soon. It's time to update your PHP application.]]></title>
            <link rel="alternate" href="https://freek.dev/734-dropbox-will-turn-off-v1-of-their-api-soon-its-time-to-update-your-php-application" />
            <id>https://freek.dev/734-dropbox-will-turn-off-v1-of-their-api-soon-its-time-to-update-your-php-application</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Stitcher alpha 4 ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/stitcher-alpha-4" />
            <id>https://www.stitcher.io/blog/stitcher-alpha-4</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Stitcher alpha 4 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/stitcher-alpha-4" />
            <id>https://stitcher.io/blog/stitcher-alpha-4</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[A new alpha release has arrived for Stitcher!
This release brings a lot of optimizations and bugfixes to many parts of Stitcher. The biggest changes are found in brendt/responsive-images, in...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A conversation on laravel-html]]></title>
            <link rel="alternate" href="https://freek.dev/a-conversation-on-laravel-html" />
            <id>https://freek.dev/a-conversation-on-laravel-html</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A conversation on laravel-html]]></title>
            <link rel="alternate" href="https://freek.dev/729-a-conversation-on-laravel-html" />
            <id>https://freek.dev/729-a-conversation-on-laravel-html</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Stay up to speed with PHP by reading these feeds]]></title>
            <link rel="alternate" href="https://freek.dev/stay-up-to-speed-with-php-by-reading-these-feeds" />
            <id>https://freek.dev/stay-up-to-speed-with-php-by-reading-these-feeds</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Stay up to speed with PHP by reading these feeds]]></title>
            <link rel="alternate" href="https://freek.dev/728-stay-up-to-speed-with-php-by-reading-these-feeds" />
            <id>https://freek.dev/728-stay-up-to-speed-with-php-by-reading-these-feeds</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Automatically running PHPUnit with Watchman]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/automatically-running-phpunit-with-watchman/" />
            <id>https://sebastiandedeyne.com/automatically-running-phpunit-with-watchman/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Make git work better with GitHub]]></title>
            <link rel="alternate" href="https://freek.dev/make-git-work-better-with-github" />
            <id>https://freek.dev/make-git-work-better-with-github</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Make git work better with GitHub]]></title>
            <link rel="alternate" href="https://freek.dev/720-make-git-work-better-with-github" />
            <id>https://freek.dev/720-make-git-work-better-with-github</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to quickly dump and load the database]]></title>
            <link rel="alternate" href="https://freek.dev/a-laravel-package-to-quickly-dump-and-load-the-database" />
            <id>https://freek.dev/a-laravel-package-to-quickly-dump-and-load-the-database</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A Laravel package to quickly dump and load the database]]></title>
            <link rel="alternate" href="https://freek.dev/716-a-laravel-package-to-quickly-dump-and-load-the-database" />
            <id>https://freek.dev/716-a-laravel-package-to-quickly-dump-and-load-the-database</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[A package for snapshot testing in PHPUnit]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/a-package-for-snapshot-testing-in-phpunit/" />
            <id>https://sebastiandedeyne.com/a-package-for-snapshot-testing-in-phpunit/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[An easy way to validate front end forms using back end logic]]></title>
            <link rel="alternate" href="https://freek.dev/an-easy-way-to-validate-front-end-forms-using-back-end-logic" />
            <id>https://freek.dev/an-easy-way-to-validate-front-end-forms-using-back-end-logic</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[An easy way to validate front end forms using back end logic]]></title>
            <link rel="alternate" href="https://freek.dev/707-an-easy-way-to-validate-front-end-forms-using-back-end-logic" />
            <id>https://freek.dev/707-an-easy-way-to-validate-front-end-forms-using-back-end-logic</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[An easy to use server monitor written in PHP]]></title>
            <link rel="alternate" href="https://freek.dev/an-easy-to-use-server-monitor-written-in-php" />
            <id>https://freek.dev/an-easy-to-use-server-monitor-written-in-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[An easy to use server monitor written in PHP]]></title>
            <link rel="alternate" href="https://freek.dev/701-an-easy-to-use-server-monitor-written-in-php" />
            <id>https://freek.dev/701-an-easy-to-use-server-monitor-written-in-php</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Static site generators vs. caching ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/static_sites_vs_caching" />
            <id>https://www.stitcher.io/blog/static_sites_vs_caching</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Static site generators vs. caching ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/static_sites_vs_caching" />
            <id>https://stitcher.io/blog/static_sites_vs_caching</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[What's the difference between static site generators and caching you ask?
A short answer might be: there is no technical benefit between both. But the mindset behind the two is...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Our postcard collection]]></title>
            <link rel="alternate" href="https://freek.dev/our-postcard-collection" />
            <id>https://freek.dev/our-postcard-collection</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Our postcard collection]]></title>
            <link rel="alternate" href="https://freek.dev/699-our-postcard-collection" />
            <id>https://freek.dev/699-our-postcard-collection</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Image optimizers ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/image_optimizers" />
            <id>https://www.stitcher.io/blog/image_optimizers</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Image optimizers ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/image_optimizers" />
            <id>https://stitcher.io/blog/image_optimizers</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[I've been working lately on image optimisation in Stitcher. As a try-out, I've added this library to the responsive images module.
Enabling the optimizer is done by updating Stitcher...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Non-breaking, SEO friendly urls in Laravel]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/non-breaking-seo-friendly-urls-in-laravel/" />
            <id>https://sebastiandedeyne.com/non-breaking-seo-friendly-urls-in-laravel/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel's tap helper function explained]]></title>
            <link rel="alternate" href="https://freek.dev/laravels-tap-helper-function-explained" />
            <id>https://freek.dev/laravels-tap-helper-function-explained</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Laravel's tap helper function explained]]></title>
            <link rel="alternate" href="https://freek.dev/694-laravels-tap-helper-function-explained" />
            <id>https://freek.dev/694-laravels-tap-helper-function-explained</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Tackling responsive images - part 2 ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/tackling_responsive_images-part_2" />
            <id>https://www.stitcher.io/blog/tackling_responsive_images-part_2</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Tackling responsive images - part 2 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/tackling_responsive_images-part_2" />
            <id>https://stitcher.io/blog/tackling_responsive_images-part_2</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[In my previous post, I wrote about the idea behind integrating responsive images and Stitcher. A pretty robust library came to be. You could throw it any image, and...]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Tackling responsive images - part 1 ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/tackling_responsive_images-part_1" />
            <id>https://www.stitcher.io/blog/tackling_responsive_images-part_1</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Tackling responsive images - part 1 ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/tackling_responsive_images-part_1" />
            <id>https://stitcher.io/blog/tackling_responsive_images-part_1</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[One of the main goals when I started with Stitcher was heavily optimized images. Looking at the HTTP Archive stats, it's clear we're doing something wrong. Luckily, the ]]>
            </summary>
                                    <updated>2021-03-09T07:00:11+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Packages that make developing Laravel apps easier]]></title>
            <link rel="alternate" href="https://freek.dev/packages-that-make-developing-laravel-apps-easier" />
            <id>https://freek.dev/packages-that-make-developing-laravel-apps-easier</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-28T10:00:20+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Packages that make developing Laravel apps easier]]></title>
            <link rel="alternate" href="https://freek.dev/689-packages-that-make-developing-laravel-apps-easier" />
            <id>https://freek.dev/689-packages-that-make-developing-laravel-apps-easier</id>
            <author>
                <name><![CDATA[freek.dev]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-06-05T14:01:16+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Dealing with templates in Vue.js 2.0]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/dealing-with-templates-in-vue.js-2.0/" />
            <id>https://sebastiandedeyne.com/dealing-with-templates-in-vue.js-2.0/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Dealing with templates in Vue.js 2.0]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/dealing-with-templates-in-vue-20/" />
            <id>https://sebastiandedeyne.com/dealing-with-templates-in-vue-20/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-17T11:00:53+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using a database for localization in Laravel]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/using-a-database-for-localization-in-laravel/" />
            <id>https://sebastiandedeyne.com/using-a-database-for-localization-in-laravel/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Normalize your values on input]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/normalize-your-values-on-input/" />
            <id>https://sebastiandedeyne.com/normalize-your-values-on-input/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Adventure Time with Webpack]]></title>
            <link rel="alternate" href="https://sebastiandedeyne.com/adventure-time-with-webpack/" />
            <id>https://sebastiandedeyne.com/adventure-time-with-webpack/</id>
            <author>
                <name><![CDATA[sebastiandedeyne.com]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2019-05-16T22:01:09+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Which editor to choose? ]]></title>
            <link rel="alternate" href="https://www.stitcher.io/blog/which-editor-to-choose" />
            <id>https://www.stitcher.io/blog/which-editor-to-choose</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[]]>
            </summary>
                                    <updated>2018-08-23T09:01:46+02:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Which editor to choose? ]]></title>
            <link rel="alternate" href="https://stitcher.io/blog/which-editor-to-choose" />
            <id>https://stitcher.io/blog/which-editor-to-choose</id>
            <author>
                <name><![CDATA[stitcher.io]]></name>
            </author>
            <summary type="html">
                <![CDATA[So many editors to choose from! Which one is the best for you?
I can already tell you that you won’t find the answer here. But maybe I can list...]]>
            </summary>
                                    <updated>2020-12-27T22:00:10+01:00</updated>
        </entry>
    </feed>
