41554 blogs ยท [ { "id": "01a07df5-5f6a-70ff-876d-696ccf6cda3a", "title": "Watch my Laracon US talk: Enjoying Laravel Data", "url": "https://freek.dev/2538-watch-my-laracon-us-talk-enjoying-laravel-data", "published_at": "2023-07-27T15:00:04+00:00" }, { "id": "01a07df5-5f6a-70ff-876d-696cd367b06d", "title": "How to display a subscription confirmation message with CSS", "url": "https://freek.dev/2532-how-to-display-a-subscription-confirmation-message-with-css", "published_at": "2023-07-27T08:00:03+00:00" }, { "id": "01a07df5-5f6a-70ff-876d-696cd264a3ea", "title": "How to display a subscription conformation message with CSS", "url": "https://freek.dev/2532-how-to-display-a-subscription-conformation-message-with-css", "published_at": "2023-07-19T20:00:02+00:00" }, { "id": "01a07df5-5f6a-70ff-876d-696cd88cd11f", "title": "How we use CSS custom properties to customize your newsletter archive", "url": "https://freek.dev/2523-how-we-use-css-custom-properties-to-customize-your-newsletter-archive", "published_at": "2023-07-03T13:00:03+00:00" }, { "id": "01a07df5-5f6a-70ff-876d-696ce1eef006", "title": "Visualising Laravel and Horizon metrics using Prometheus and Grafana", "url": "https://freek.dev/2507-visualising-laravel-and-horizon-metrics-using-prometheus-and-grafana", "published_at": "2023-06-13T15:00:03+00:00" }, { "id": "01a07df5-5f6a-70ff-876d-696ce2d7f3e4", "title": "Use ray()->trace() to figure out where a call came from", "url": "https://freek.dev/2506-use-ray-trace-to-figure-out-where-a-call-came-from", "published_at": "2023-06-12T13:00:03+00:00" }, { "id": "01a07df5-5f6a-70ff-876d-696ce4a58a5c", "title": "Flare 2.0 has been launched!", "url": "https://freek.dev/2504-flare-20-has-been-launched", "published_at": "2023-06-09T16:00:03+00:00" }, { "id": "01a07df5-5f6a-70ff-876d-696ce4ae0628", "title": "Flare and Ignition now offer AI-powered solutions", "url": "https://freek.dev/2505-flare-and-ignition-now-offer-ai-powered-solutions", "published_at": "2023-06-09T16:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61020d22589", "title": "A Laravel package to quickly see which HTML is rendered by which Blade view", "url": "https://freek.dev/2500-a-laravel-package-to-quickly-see-which-html-is-rendered-by-which-blade-view", "published_at": "2023-05-30T13:00:04+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610295aa3f2", "title": "Laravel Worldwide Meetup: Introducing Laravel Splade - Quick Wins in Laravel", "url": "https://freek.dev/2491-laravel-worldwide-meetup-introducing-laravel-splade-quick-wins-in-laravel", "published_at": "2023-05-03T13:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610299f84f5", "title": "Saying goodbye to WIP commit messages", "url": "https://freek.dev/2487-saying-goodbye-to-wip-commit-messages", "published_at": "2023-04-30T13:00:02+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6102a5f7515", "title": "Automatically clear Ray when running tests via PHPUnit or Pest", "url": "https://freek.dev/2486-automatically-clear-ray-when-running-tests-via-phpunit-or-pest", "published_at": "2023-04-27T12:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6102bf97dee", "title": "Laravel Analytics v5 with support for GA4 has been released", "url": "https://freek.dev/2477-laravel-analytics-v5-with-support-for-ga4-has-been-released", "published_at": "2023-04-06T12:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6102dd6ee63", "title": "Skipping tests conditionally in Pest", "url": "https://freek.dev/2475-skipping-tests-conditionally-in-pest", "published_at": "2023-04-03T10:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6103aef13a9", "title": "Casual Artisan Call February 2023", "url": "https://freek.dev/2439-casual-artisan-call-february-2023", "published_at": "2023-03-14T14:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6103575b69d", "title": "Discovering PHP's first-class callable syntax", "url": "https://freek.dev/2458-discovering-phps-first-class-callable-syntax", "published_at": "2023-03-14T10:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610360b13a2", "title": "Pest v2: see all new amazing features in action", "url": "https://freek.dev/2454-pest-v2-see-all-new-amazing-features-in-action", "published_at": "2023-03-10T13:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6103a18d863", "title": "Ray can now display the values of private properties", "url": "https://freek.dev/2443-ray-can-now-display-the-values-of-private-properties", "published_at": "2023-03-03T14:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6103aded9f7", "title": "Strategies for making Laravel packages customizable", "url": "https://freek.dev/2442-strategies-for-making-laravel-packages-customizable", "published_at": "2023-03-03T13:00:02+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6103cf8ef10", "title": "Log all notifications sent by your Laravel app", "url": "https://freek.dev/2437-log-all-notifications-sent-by-your-laravel-app", "published_at": "2023-02-26T06:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6103f617534", "title": "Using Laravel Sanctum to create dynamic abilities", "url": "https://freek.dev/2428-using-laravel-sanctum-to-create-dynamic-abilities", "published_at": "2023-02-09T12:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6104057fb90", "title": "Creating an onboarding email drip campaign using Mailcoach", "url": "https://freek.dev/2427-creating-an-onboarding-email-drip-campaign-using-mailcoach", "published_at": "2023-02-06T16:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610430c1140", "title": "A package to integrate HelpSpace in your Laravel app", "url": "https://freek.dev/2404-a-package-to-integrate-helpspace-in-your-laravel-app", "published_at": "2023-01-27T12:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61044338b1f", "title": "A package to automatically copy deleted records to a separate table", "url": "https://freek.dev/2416-a-package-to-automatically-copy-deleted-records-to-a-separate-table", "published_at": "2023-01-16T16:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61044631a63", "title": "How to test Laravel's invokable rules", "url": "https://freek.dev/2415-how-to-test-laravels-invokable-rules", "published_at": "2023-01-15T22:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61044dcd910", "title": "How to improve initial page load time by deferring rendering Livewire components", "url": "https://freek.dev/2405-how-to-improve-initial-page-load-time-by-deferring-rendering-livewire-components", "published_at": "2022-12-29T14:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610480ae94b", "title": "A recap of 2022", "url": "https://freek.dev/2400-a-recap-of-2022", "published_at": "2022-12-16T14:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61049a2cdfa", "title": "A package to run Google Lighthouse using PHP", "url": "https://freek.dev/2399-a-package-to-run-google-lighthouse-using-php", "published_at": "2022-12-14T20:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6104ca51063", "title": "How to upgrade to PHP 8.2 on Mac (and Laravel Valet)", "url": "https://freek.dev/2398-how-to-upgrade-to-php-82-on-mac-and-laravel-valet", "published_at": "2022-12-12T17:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6104e343abb", "title": "Sending transactional mail using Mailcoach in a Laravel app", "url": "https://freek.dev/2396-sending-transactional-mail-using-mailcoach-in-a-laravel-app", "published_at": "2022-12-08T15:00:02+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61055880358", "title": "Introducing PHP 8.2: all new features and changes", "url": "https://freek.dev/2382-introducing-php-82-all-new-features-and-changes", "published_at": "2022-12-08T14:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6104ec304c1", "title": "Using the shadow DOM as a better iframe", "url": "https://freek.dev/2394-using-the-shadow-dom-as-a-better-iframe", "published_at": "2022-12-07T08:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61052451d61", "title": "The making of the WWSD videos", "url": "https://freek.dev/2388-the-making-of-the-wwsd-videos", "published_at": "2022-11-27T23:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61053cc0621", "title": "We've made another WWSD Video", "url": "https://freek.dev/2386-weve-made-another-wwsd-video", "published_at": "2022-11-22T12:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610540f4bea", "title": "Spatie's Black Friday sales have begun", "url": "https://freek.dev/2385-spaties-black-friday-sales-have-begun", "published_at": "2022-11-21T15:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610548f5ca2", "title": "Laravel and PHP developers to follow on Mastodon", "url": "https://freek.dev/2384-laravel-and-php-developers-to-follow-on-mastodon", "published_at": "2022-11-18T09:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610558110ce", "title": "Spatie WWSD 2022", "url": "https://freek.dev/2383-spatie-wwsd-2022", "published_at": "2022-11-17T15:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61057b2f537", "title": "Laravel Mailcoach v6 has been released with a new UI and lots of improvements", "url": "https://freek.dev/2369-laravel-mailcoach-v6-has-been-released-with-a-new-ui-and-lots-of-improvements", "published_at": "2022-11-09T14:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61058256006", "title": "Introducing the Mailcoach SDKs for PHP and Laravel", "url": "https://freek.dev/2376-introducing-the-mailcoach-sdks-for-php-and-laravel", "published_at": "2022-11-09T10:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6105a5fca31", "title": "Automatically restart Horizon when local PHP files change", "url": "https://freek.dev/2367-automatically-restart-horizon-when-local-php-files-change", "published_at": "2022-10-30T22:00:02+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6105bb0e7e9", "title": "๐Ÿš€ Mailcoach Cloud is now available: affordable email marketing for bloggers, Artisans, and entrepreneurs", "url": "https://freek.dev/2363-mailcoach-cloud-is-now-available-affordable-email-marketing-for-bloggers-artisans-and-entrepreneurs", "published_at": "2022-10-26T09:00:02+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6105dadf953", "title": "A Laravel package to add flags to Eloquent models", "url": "https://freek.dev/2361-a-laravel-package-to-add-flags-to-eloquent-models", "published_at": "2022-10-21T11:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6105e907e5b", "title": "My current setup (end 2022 edition)", "url": "https://freek.dev/2357-my-current-setup-end-2022-edition", "published_at": "2022-10-19T21:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61062e7756f", "title": "Providing faster support using auto-impersonation", "url": "https://freek.dev/2356-providing-faster-support-using-auto-impersonation", "published_at": "2022-10-12T10:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610639bc145", "title": "Automatically setup your favorite email provider in Mailcoach", "url": "https://freek.dev/2355-automatically-setup-your-favorite-email-provider-in-mailcoach", "published_at": "2022-10-10T13:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61065aba46b", "title": "Using jobs instead of commands in the schedule of a Laravel app", "url": "https://freek.dev/2352-using-jobs-instead-of-commands-in-the-schedule-of-a-laravel-app", "published_at": "2022-10-04T13:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610694e2119", "title": "Oh Dear 2.0 has been launched", "url": "https://freek.dev/2343-oh-dear-20-has-been-launched", "published_at": "2022-10-03T11:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61069f1d98d", "title": "My process for writing the freek.dev newsletter", "url": "https://freek.dev/2349-my-process-for-writing-the-freekdev-newsletter", "published_at": "2022-09-29T14:00:02+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6106cb46e57", "title": "A package to manage dynamic servers", "url": "https://freek.dev/2344-a-package-to-manage-dynamic-servers", "published_at": "2022-09-26T13:00:03+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6106d961917", "title": "I shall define this only once", "url": "https://freek.dev/2335-i-shall-define-this-only-once", "published_at": "2022-09-18T16:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6106f1a7c39", "title": "Creating installer commands for Laravel packages", "url": "https://freek.dev/2333-creating-installer-commands-for-laravel-packages", "published_at": "2022-09-08T21:00:05+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6106fc0eb50", "title": "Getting information about all the models in your Laravel app", "url": "https://freek.dev/2332-getting-information-about-all-the-models-in-your-laravel-app", "published_at": "2022-09-07T09:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61072b66125", "title": "Increase performance by using Eloquent's `setRelation` method", "url": "https://freek.dev/2311-increase-performance-by-using-eloquents-setrelation-method", "published_at": "2022-08-04T14:00:05+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610733e3f83", "title": "Making sure routes, config and events of your Laravel app are cached in production", "url": "https://freek.dev/2300-making-sure-routes-config-and-events-of-your-laravel-app-are-cached-in-production", "published_at": "2022-07-18T13:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61073e33b47", "title": "Introducing our new Laravel Options package", "url": "https://freek.dev/2287-introducing-our-new-laravel-options-package", "published_at": "2022-07-08T12:00:05+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61075696709", "title": "Using Laravel Vite to automatically refresh your browser when changing a Blade file", "url": "https://freek.dev/2277-using-laravel-vite-to-automatically-refresh-your-browser-when-changing-a-blade-file", "published_at": "2022-06-29T08:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6107580150f", "title": "Making Vite and Valet play nice together", "url": "https://freek.dev/2276-making-vite-and-valet-play-nice-together", "published_at": "2022-06-29T08:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61077cd705a", "title": "Using the `Attachable` interface to attach any kind of object to a mail in a Laravel app", "url": "https://freek.dev/2274-using-the-attachable-interface-to-attach-any-kind-of-object-to-a-mail-in-a-laravel-app", "published_at": "2022-06-27T10:00:05+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610776dc76a", "title": "Using the `Attachable` interface to attach any kind of file to a Mail in a Laravel app", "url": "https://freek.dev/2274-using-the-attachable-interface-to-attach-any-kind-of-file-to-a-mail-in-a-laravel-app", "published_at": "2022-06-26T21:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61079955d4a", "title": "Using login links in a Laravel app", "url": "https://freek.dev/2258-using-login-links-in-a-laravel-app", "published_at": "2022-05-30T11:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6107a0fb06f", "title": "A package to add comments to your Laravel app", "url": "https://freek.dev/2256-a-package-to-add-comments-to-your-laravel-app", "published_at": "2022-05-25T15:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6107ac89e3c", "title": "A package to create Livewire powered wizards in no time", "url": "https://freek.dev/2253-a-package-to-create-livewire-powered-wizards-in-no-time", "published_at": "2022-05-23T10:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6107aebe954", "title": "How to add a spotlight-like search field to your Laravel app", "url": "https://freek.dev/2251-how-to-add-a-spotlight-like-search-field-to-your-laravel-app", "published_at": "2022-05-19T15:00:08+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6107b32dcd2", "title": "Creating PHP interfaces, traits, and classes dynamically at runtime", "url": "https://freek.dev/2237-creating-php-interfaces-traits-and-classes-dynamically-at-runtime", "published_at": "2022-04-25T13:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6107c0105f7", "title": "From PHPUnit To Pest", "url": "https://freek.dev/2236-from-phpunit-to-pest", "published_at": "2022-04-25T12:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6107d2af96a", "title": "Learn how to write readable PHP that is a joy to maintain", "url": "https://freek.dev/2235-learn-how-to-write-readable-php-that-is-a-joy-to-maintain", "published_at": "2022-04-20T13:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6107c509a89", "title": "Writing Readable PHP is now available", "url": "https://freek.dev/2235-writing-readable-php-is-now-available", "published_at": "2022-04-20T12:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6107d31be73", "title": "Improve Passing Booleans in PHP", "url": "https://freek.dev/2227-improve-passing-booleans-in-php", "published_at": "2022-04-07T08:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6108025daae", "title": "Avoid using else", "url": "https://freek.dev/2212-avoid-using-else", "published_at": "2022-03-16T14:00:04+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6108178a815", "title": "Code that breathes", "url": "https://freek.dev/2206-code-that-breathes", "published_at": "2022-03-09T15:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61082d511c4", "title": "Exploring Termwind Internals", "url": "https://freek.dev/2195-exploring-termwind-internals", "published_at": "2022-02-22T12:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610834a4439", "title": "A CLI tool to monitor GitHub Actions", "url": "https://freek.dev/2196-a-cli-tool-to-monitor-github-actions", "published_at": "2022-02-21T17:00:05+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61083bab619", "title": "A package to automatically discover routes in a Laravel app", "url": "https://freek.dev/2170-a-package-to-automatically-discover-routes-in-a-laravel-app", "published_at": "2022-02-10T20:00:05+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610845ebdde", "title": "A package to quickly send Slack alerts in a Laravel app", "url": "https://freek.dev/2172-a-package-to-quickly-send-slack-alerts-in-a-laravel-app", "published_at": "2022-01-21T12:00:04+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61084eb3de3", "title": "A better error page for Symfony applications", "url": "https://freek.dev/2169-a-better-error-page-for-symfony-applications", "published_at": "2022-01-19T15:00:05+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610859838fc", "title": "Ignition, the most beautiful error page for Laravel and PHP, got a major redesign", "url": "https://freek.dev/2168-ignition-the-most-beautiful-error-page-for-laravel-and-php-got-a-major-redesign", "published_at": "2022-01-18T19:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6108b6a67ce", "title": "Fixing the dreaded \"'pcre2.h' file not found\" error when installing imagick", "url": "https://freek.dev/2151-fixing-the-dreaded-pcre2h-file-not-found-error-when-installing-imagick", "published_at": "2022-01-18T15:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6108d2ba915", "title": "A bash function to run tests for both PHPUnit and Pest", "url": "https://freek.dev/2142-a-bash-function-to-run-tests-for-both-phpunit-and-pest", "published_at": "2022-01-18T15:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610924a93a9", "title": "Our improved changelog workflow for packages", "url": "https://freek.dev/2136-our-improved-changelog-workflow-for-packages", "published_at": "2022-01-18T15:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61094d106d4", "title": "Laravel Package Training v2 is now available", "url": "https://freek.dev/2131-laravel-package-training-v2-is-now-available", "published_at": "2022-01-18T15:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61096507f73", "title": "How to test that an Eloquent model actually exists", "url": "https://freek.dev/2100-how-to-test-that-an-eloquent-model-actually-exists", "published_at": "2022-01-18T15:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610995da397", "title": "My current setup (end 2021 edition)", "url": "https://freek.dev/2119-my-current-setup-end-2021-edition", "published_at": "2022-01-18T15:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6109a1d9e36", "title": "Faking HTTP requests in Laravel", "url": "https://freek.dev/2099-faking-http-requests-in-laravel", "published_at": "2022-01-18T15:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6109ae0b0b0", "title": "Three types of mocks", "url": "https://freek.dev/2098-three-types-of-mocks", "published_at": "2022-01-18T15:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6109b97f8e7", "title": "Using Factory sequences in Laravel", "url": "https://freek.dev/2097-using-factory-sequences-in-laravel", "published_at": "2022-01-18T15:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6109d0299a5", "title": "Making 1Password understand where your change password page is located", "url": "https://freek.dev/2104-making-1password-understand-where-your-change-password-page-is-located", "published_at": "2022-01-18T15:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610a22de2d0", "title": "Laravel Worldwide Meetup #10: A Little Bit of Lambda & Pest To Perfection", "url": "https://freek.dev/2090-laravel-worldwide-meetup-10-a-little-bit-of-lambda-pest-to-perfection", "published_at": "2022-01-18T15:00:07+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6108925e45e", "title": "A recap of 2021", "url": "https://freek.dev/2155-a-recap-of-2021", "published_at": "2021-12-23T13:00:05+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6108c4b9109", "title": "A Laravel package to monitor the health of your application", "url": "https://freek.dev/2143-a-laravel-package-to-monitor-the-health-of-your-application", "published_at": "2021-12-13T16:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f61092040dcf", "title": "A conversation on the future of PHP", "url": "https://freek.dev/2138-a-conversation-on-the-future-of-php", "published_at": "2021-11-24T17:00:05+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610987efe3c", "title": "Laravel Worldwide Meetup #11: Building APIs & Models/Spotlight With Livewire", "url": "https://freek.dev/2120-laravel-worldwide-meetup-11-building-apis-modelsspotlight-with-livewire", "published_at": "2021-10-28T14:00:05+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6109974e398", "title": "Avoid describing your data multiple times in a Laravel app using laravel-data", "url": "https://freek.dev/2118-avoid-describing-your-data-multiple-times-in-a-laravel-app-using-laravel-data", "published_at": "2021-10-28T09:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6109b54c0dc", "title": "A Laravel package to crawl and index content of your sites", "url": "https://freek.dev/2106-a-laravel-package-to-crawl-and-index-content-of-your-sites", "published_at": "2021-10-19T11:00:05+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6109c81a088", "title": "Replacing Keytar with Electron's safeStorage in Ray", "url": "https://freek.dev/2103-replacing-keytar-with-electrons-safestorage-in-ray", "published_at": "2021-10-18T13:00:10+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6109d4447f9", "title": "Asserting valid and invalid requests in Laravel", "url": "https://freek.dev/2096-asserting-valid-and-invalid-requests-in-laravel", "published_at": "2021-10-12T16:00:11+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f6109f7fac37", "title": "Building a better search with Monaco and amCharts", "url": "https://freek.dev/2091-building-a-better-search-with-monaco-and-amcharts", "published_at": "2021-09-30T11:00:05+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610a158f18f", "title": "Laravel Worldwide Meetup #10: A Little Bit of Lamba & Pest To Perfection", "url": "https://freek.dev/2090-laravel-worldwide-meetup-10-a-little-bit-of-lamba-pest-to-perfection", "published_at": "2021-09-29T11:00:05+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610a379c045", "title": "How to convert a PHPUnit Testsuite to Pest", "url": "https://freek.dev/2088-how-to-convert-a-phpunit-testsuite-to-pest", "published_at": "2021-09-27T08:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610a3cf0c91", "title": "Building a simple dashboard using Tailwind", "url": "https://freek.dev/2083-building-a-simple-dashboard-using-tailwind", "published_at": "2021-09-21T08:00:06+00:00" }, { "id": "01a07df5-5f6b-70f3-91cd-f610a4d0ffea", "title": "Strategies for decreasing the number of queries in a Laravel app", "url": "https://freek.dev/2075-strategies-for-decreasing-the-number-of-queries-in-a-laravel-app", "published_at": "2021-09-13T20:00:06+00:00" } ] posts Claim your blog
Back to Freek Van der Herten
Blog ยท corpus.blog/blogs/freek.dev/posts

Freek Van der Herten

freek.dev

2023

2022

2021