41554 blogs · [ { "id": "01a07df5-5f6c-7289-a28c-a723727278d6", "title": "A few notes about the frontend of the renewed spatie.be", "url": "https://freek.dev/a-few-notes-about-the-frontend-of-the-renewed-spatiebe", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a723730f3914", "title": "A new website for Spatie: backend highlights", "url": "https://freek.dev/a-new-website-for-spatie-backend-highlights", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a72374c58adc", "title": "Introducing laravel-event-projector: the easiest way to get started with event sourcing in a Laravel app", "url": "https://freek.dev/introducing-laravel-event-projector-the-easiest-way-to-get-started-with-event-sourcing-in-a-laravel-app", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a72376251cc7", "title": "A short introduction to laravel-event-projector", "url": "https://freek.dev/a-short-introduction-to-laravel-event-projector", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a72376aee10e", "title": "Breaking Laravel's firstOrCreate using race conditions", "url": "https://freek.dev/breaking-laravels-firstorcreate-using-race-conditions", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a72379da7d57", "title": "The open source department at Spatie is doing overtime", "url": "https://freek.dev/the-open-source-department-at-spatie-is-doing-overtime", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a7237e0c9a5f", "title": "When empty is not empty", "url": "https://freek.dev/when-empty-is-not-empty", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a72380782e76", "title": "Automatically close stale issues and pull requests", "url": "https://freek.dev/automatically-close-stale-issues-and-pull-requests", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a723884b6cc7", "title": "Doing less", "url": "https://freek.dev/doing-less", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a7238c524ca4", "title": "Today we hit 10 million PHP package downloads", "url": "https://freek.dev/today-we-hit-10-million-php-package-downloads", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a7238dfe704b", "title": "Using Content Security Policy headers in a Laravel app", "url": "https://freek.dev/using-content-security-policy-headers-in-a-laravel-app", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a723917ca557", "title": "A package to assign statuses to Eloquent models", "url": "https://freek.dev/a-package-to-assign-statuses-to-eloquent-models", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a723934afcd8", "title": "Notification specific routing in Laravel 5.6", "url": "https://freek.dev/notification-specific-routing-in-laravel-56", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a72395e1f8fa", "title": "How to upgrade from PHP 7.1 to 7.2 on MacOS using Homebrew", "url": "https://freek.dev/how-to-upgrade-from-php-71-to-72-on-macos-using-homebrew", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a7239776bcc1", "title": "Displaying sites that are down on a dashboard using Oh Dear! webhooks", "url": "https://freek.dev/displaying-sites-that-are-down-on-a-dashboard-using-oh-dear-webhooks", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a7239a7e479e", "title": "How to send a \"trial expiring soon\" mail in Laravel Spark", "url": "https://freek.dev/how-to-send-a-trial-expiring-soon-mail-in-laravel-spark", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a7239be6e4d7", "title": "Handling CORS in a Laravel application", "url": "https://freek.dev/handling-cors-in-a-laravel-application", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a7239d1db242", "title": "The story behind our open source efforts", "url": "https://freek.dev/the-story-behind-our-open-source-efforts", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a7239f3912a3", "title": "An async map function", "url": "https://freek.dev/an-async-map-function", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a723a0081e10", "title": "Laravel-medialibrary v7 preview: media collections", "url": "https://freek.dev/laravel-medialibrary-v7-preview-media-collections", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a723a1b45944", "title": "Laravel-medialibrary v7 preview: multi file downloads", "url": "https://freek.dev/laravel-medialibrary-v7-preview-multi-file-downloads", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6c-7289-a28c-a723a26d084f", "title": "Symfony now has an improved dump function", "url": "https://freek.dev/symfony-now-has-an-improved-dump-function", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b88c0f38b", "title": "murze.be turns three", "url": "https://freek.dev/murzebe-turns-three", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b8a28689c", "title": "Reducing the size of a css file", "url": "https://freek.dev/reducing-the-size-of-a-css-file", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b8b51668e", "title": "On migrating my blog from WordPress to a Laravel application", "url": "https://freek.dev/on-migrating-my-blog-from-wordpress-to-a-laravel-application", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b8d476814", "title": "A beautiful webapp to fetch dns records", "url": "https://freek.dev/a-beautiful-webapp-to-fetch-dns-records", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b8e25caba", "title": "A Laravel package to log HTTP requests", "url": "https://freek.dev/a-laravel-package-to-log-http-requests", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b8f587f93", "title": "Introducing Browsershot v3: the best way to convert html to PDFs and images", "url": "https://freek.dev/introducing-browsershot-v3-the-best-way-to-convert-html-to-pdfs-and-images", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b91b181e4", "title": "Handling Stripe webhooks in a Laravel application", "url": "https://freek.dev/handling-stripe-webhooks-in-a-laravel-application", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b939fe9e6", "title": "New features in our packages", "url": "https://freek.dev/new-features-in-our-packages", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b95507cbb", "title": "A trait to dynamically add methods to a class", "url": "https://freek.dev/a-trait-to-dynamically-add-methods-to-a-class", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b96d14e26", "title": "Our vue-table-component got some nice improvements", "url": "https://freek.dev/our-vue-table-component-got-some-nice-improvements", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b9749b58e", "title": "Getting started with laravel-medialibrary: a video tutorial", "url": "https://freek.dev/getting-started-with-laravel-medialibrary-a-video-tutorial", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b97cf2791", "title": "What Laravel 5.5 means for our packages", "url": "https://freek.dev/what-laravel-55-means-for-our-packages", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b9cc1f0ee", "title": "An interview with Jef, Spatie's account manager", "url": "https://freek.dev/an-interview-with-jef-spaties-account-manager", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b9de3f656", "title": "Open-sourcing our guidelines", "url": "https://freek.dev/open-sourcing-our-guidelines", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78b9eee4924", "title": "Using global mixins in Vue.js", "url": "https://freek.dev/using-global-mixins-in-vuejs", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78ba1130e28", "title": "Generate pdfs with Google Chrome on a Forge provisioned server", "url": "https://freek.dev/generate-pdfs-with-google-chrome-on-a-forge-provisioned-server", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78ba3a1f827", "title": "A tool to automatically rerun PHPUnit tests when source code changes", "url": "https://freek.dev/a-tool-to-automatically-rerun-phpunit-tests-when-source-code-changes", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78ba4f61f10", "title": "Optimize images in Laravel apps", "url": "https://freek.dev/optimize-images-in-laravel-apps", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78ba6c026e6", "title": "Easily optimize images using PHP (and some binaries)", "url": "https://freek.dev/easily-optimize-images-using-php-and-some-binaries", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78ba790cba2", "title": "A list of podcasts", "url": "https://freek.dev/a-list-of-podcasts", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78ba88bc01a", "title": "Easily convert webpages to images using PHP", "url": "https://freek.dev/easily-convert-webpages-to-images-using-php", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bac82c0d6", "title": "Building a realtime dashboard powered by Laravel and Vue (2017 edition)", "url": "https://freek.dev/building-a-realtime-dashboard-powered-by-laravel-and-vue-2017-edition", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bae5df120", "title": "A straightforward Vue component to filter and sort tables", "url": "https://freek.dev/a-straightforward-vue-component-to-filter-and-sort-tables", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bb2687f30", "title": "Testing a Vue component part 5: Jest awesomeness and a skeleton to get started", "url": "https://freek.dev/testing-a-vue-component-part-5-jest-awesomeness-and-a-skeleton-to-get-started", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bb3d86a80", "title": "Testing a Vue component part 4: more testing and faking time", "url": "https://freek.dev/testing-a-vue-component-part-4-more-testing-and-faking-time", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bb4ab3453", "title": "Testing a Vue component part 3: Creating an instance", "url": "https://freek.dev/testing-a-vue-component-part-3-creating-an-instance", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bb5cb0fef", "title": "Testing a Vue component part 2: the first test and snapshots", "url": "https://freek.dev/testing-a-vue-component-part-2-the-first-test-and-snapshots", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bb6d949a3", "title": "Testing a Vue component part 1: getting started", "url": "https://freek.dev/testing-a-vue-component-part-1-getting-started", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bb7b73725", "title": "A Vue component to display tabs", "url": "https://freek.dev/a-vue-component-to-display-tabs", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bbb989c2a", "title": "Quickly dd anything from the commandline", "url": "https://freek.dev/quickly-dd-anything-from-the-commandline", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bbff43caf", "title": "Dropbox will turn off v1 of their API soon. It's time to update your PHP application.", "url": "https://freek.dev/dropbox-will-turn-off-v1-of-their-api-soon-its-time-to-update-your-php-application", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bc267cd95", "title": "A conversation on laravel-html", "url": "https://freek.dev/a-conversation-on-laravel-html", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bc3ac6122", "title": "Stay up to speed with PHP by reading these feeds", "url": "https://freek.dev/stay-up-to-speed-with-php-by-reading-these-feeds", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bc4f0c1d5", "title": "Make git work better with GitHub", "url": "https://freek.dev/make-git-work-better-with-github", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bc66ca135", "title": "A Laravel package to quickly dump and load the database", "url": "https://freek.dev/a-laravel-package-to-quickly-dump-and-load-the-database", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bc7747bc5", "title": "An easy way to validate front end forms using back end logic", "url": "https://freek.dev/an-easy-way-to-validate-front-end-forms-using-back-end-logic", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bc8effdf1", "title": "An easy to use server monitor written in PHP", "url": "https://freek.dev/an-easy-to-use-server-monitor-written-in-php", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bcacc2ce3", "title": "Our postcard collection", "url": "https://freek.dev/our-postcard-collection", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bcd763458", "title": "Laravel's tap helper function explained", "url": "https://freek.dev/laravels-tap-helper-function-explained", "published_at": "2019-05-28T08:00:20+00:00" }, { "id": "01a07df5-5f6d-7012-aa5c-b78bcfa20aca", "title": "Packages that make developing Laravel apps easier", "url": "https://freek.dev/packages-that-make-developing-laravel-apps-easier", "published_at": "2019-05-28T08:00:20+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

2019