★ freek.dev turns five!
Published: 2020-01-02 23:42:52

---
title: ★ freek.dev turns five!
published: true
date: 2019-11-26 16:04:12 UTC
tags: 
canonical_url: https://freek.dev/1510-freekdev-turns-five
---

How time flies. My blog is again one year older. I've been running it now for five years. Like [all](https://freek.dev/1221-four-years-of-murzebe) [the](https://freek.dev/917-murzebe-turns-three) [previous](https://freek.dev/633-murzebe-is-two-years-old) [years](https://freek.dev/322-this-blog-is-one-year-old), I'd like to give an overview of everything that's happened on this blog in the past year.

<!--more-->
## A lot of things have changed #

This year a couple of significant changes happened. I've changed the domain of the blog from murze.be to freek.dev. I think for most people it easier to remember that URL, since it's my first bit. A cool bit of trivia: murze is the short version of my third name, which is Murzuplus. Yeah, my parents named by after [a Byzantian emperor](https://books.google.be/books?id=870_AQAAIAAJ&pg=PA1183&lpg=PA1183&dq=Murzuplus+emperor&source=bl&ots=iSSmpvUmyj&sig=ACfU3U2Wx6nmw1HEsds5g_BrHFBwWQ-atA&hl=nl&sa=X&ved=2ahUKEwibg4eTj4jmAhXBGewKHVVcCTAQ6AEwAHoECAQQAQ#v=onepage&q=Murzuplus%20emperor&f=false). Lucky, they chose it as my third name and not the first.

The second big change that happened in 2018 is [the refreshed look](https://freek.dev/1367-a-new-coat-of-paint-for-freekdev). I'm very grateful for the work [my colleague Sebastian](https://sebastiandedeyne.com) put into this. He also refreshed the look of my newsletter template.

A smaller change that happened a couple of months ago is the removal of [Disqus](https://disqus.com) powered comments. Even though functionally Disqus does the job, I felt that, because comments couldn't be styled, the comments felt out of place. They have been replaced by webmentions. Here's [how you can add them to your Laravel powered blog](https://freek.dev/1406-how-to-add-webmentions-to-a-laravel-powered-blog).

Around August, I played a bit with [LiveWire](https://github.com/livewire/livewire) by [Caleb Porzio](https://calebporzio.com), a cool way of adding dynamic content without the need of having to write JavaScript yourself. Here's [the commit](https://github.com/spatie/freek.dev/commit/2bff68d420c0486eed94bdbbfd45de0cfc933141) that replaces the previous JS powered search with a Livewire component.

## freek.dev by the numbers #

The past 365 days, the blog served about 903 064, which is a nice 20% increase compared to last year. In the past 12 months, I published 292 posts of which I've written 45 myself. In total, there are now 1509 posts, and of 240 of those, I'm the author.

Here's the top 10 most visited posts:

1. [Introducing laravel-websockets, an easy to use WebSocket server implemented in PHP](https://freek.dev/1228-introducing-laravel-websockets-an-easy-to-use-websocket-server-implemented-in-php)
2. [Searching models using a where like query in Laravel](https://freek.dev/1182-searching-models-using-a-where-like-query-in-laravel)
3. [My current setup (2019 edition)](https://freek.dev/1485-my-current-setup-2019-edition)
4. [Refactoring to actions](https://freek.dev/1371-refactoring-to-actions)
5. [The value of the void typehint in PHP](https://freek.dev/1481-the-value-of-the-void-typehint-in-php)
6. [Simplifying controllers](https://freek.dev/1324-simplifying-controllers)
7. [Ignition: a new error page for Laravel](https://freek.dev/1441-ignition-a-new-error-page-for-laravel)
8. [Getting started with Domain Oriented Laravel](https://freek.dev/1486-getting-started-with-domain-oriented-laravel)
9. [Tools to automatically format PHP, JavaScript and CSS files](https://freek.dev/1252-tools-to-automatically-format-php-javascript-and-css-files)
10. [Configuring PhpStorms code generation](https://freek.dev/1219-configuring-phpstorms-code-generation)

## Original content #

Here are links to 45 posts I wrote in the past year.

- [Introducing laravel-websockets, an easy to use WebSocket server implemented in PHP](https://freek.dev/1228-introducing-laravel-websockets-an-easy-to-use-websocket-server-implemented-in-php)
- [Handcrafting mocks](https://freek.dev/1232-handcrafting-mocks)
- [A recap of 2018](https://freek.dev/1234-a-recap-of-2018)
- [Preventing spam submitted through forms](https://freek.dev/1240-preventing-spam-submitted-through-forms)
- [laravel-backup v6 has been released](https://freek.dev/1241-laravel-backup-v6-has-been-released)
- [Tools to automatically format PHP, JavaScript and CSS files](https://freek.dev/1252-tools-to-automatically-format-php-javascript-and-css-files)
- [A package to use Artisan Tinker in your browser](https://freek.dev/1268-a-package-to-use-artisan-tinker-in-your-browser)
- [A package to create personal data exports](https://freek.dev/1290-a-package-to-create-personal-data-exports)
- [A Laravel package to flash messages](https://freek.dev/1291-a-laravel-package-to-flash-messages)
- [Laravel event projector v2 has been released](https://freek.dev/1313-laravel-event-projector-v2-has-been-released)
- [An important security release for laravel-query-builder](https://freek.dev/1317-an-important-security-release-for-laravel-query-builder)
- [Simplifying controllers](https://freek.dev/1324-simplifying-controllers)
- [When to use Gate::after in Laravel](https://freek.dev/1325-when-to-use-gateafter-in-laravel)
- [Implementing event sourcing: aggregates](https://freek.dev/1326-implementing-event-sourcing-aggregates)
- [Implementing event sourcing: improving the developer experience](https://freek.dev/1329-implementing-event-sourcing-improving-the-developer-experience)
- [Video: getting started with event sourcing in Laravel](https://freek.dev/1330-video-getting-started-with-event-sourcing-in-laravel)
- [Caching the entire response of a Laravel app](https://freek.dev/1351-caching-the-entire-response-of-a-laravel-app)
- [A rule to validate delimited data](https://freek.dev/1352-a-rule-to-validate-delimited-data)
- [A new coat of paint for freek.dev](https://freek.dev/1367-a-new-coat-of-paint-for-freekdev)
- [Refactoring to actions](https://freek.dev/1371-refactoring-to-actions)
- [A package to control the flow of time](https://freek.dev/1378-a-package-to-control-the-flow-of-time)
- [Sending and receiving webhooks in Laravel apps](https://freek.dev/1383-sending-and-receiving-webhooks-in-laravel-apps)
- [Improving assertions on Laravel fakes](https://freek.dev/1390-improving-assertions-on-laravel-fakes)
- [How to handle front-end authorization using Laravel, Inertia and TypeScript](https://freek.dev/1391-how-to-handle-front-end-authorization-using-laravel-inertia-and-typescript)
- [Going serverless with Hugo and Netlify](https://freek.dev/1396-going-serverless-with-hugo-and-netlify)
- [How to add webmentions to a Laravel powered blog](https://freek.dev/1406-how-to-add-webmentions-to-a-laravel-powered-blog)
- [Implementing event sourcing: testing aggregates](https://freek.dev/1409-implementing-event-sourcing-testing-aggregates)
- [Supercharging common controllers](https://freek.dev/1433-supercharging-common-controllers)
- [Ignition: a new error page for Laravel](https://freek.dev/1441-ignition-a-new-error-page-for-laravel)
- [Flare: an error tracker built for Laravel apps](https://freek.dev/1442-flare-an-error-tracker-built-for-laravel-apps)
- [Watch the Flare reveal live](https://freek.dev/1443-watch-the-flare-reveal-live)
- [Generating speaker cards using Tailwind and Laravel](https://freek.dev/1448-generating-speaker-cards-using-tailwind-and-laravel)
- [Creating beautiful status pages using Oh Dear!](https://freek.dev/1450-creating-beautiful-status-pages-using-oh-dear)
- [Event store optimizations in laravel-event-sourcing](https://freek.dev/1457-event-store-optimizations-in-laravel-event-sourcing)
- [A package that adds resource links to your Laravel API resources](https://freek.dev/1470-a-package-that-adds-resource-links-to-your-laravel-api-resources)
- [A job middleware to rate limit jobs](https://freek.dev/1475-a-job-middleware-to-rate-limit-jobs)
- [The value of the void typehint in PHP](https://freek.dev/1481-the-value-of-the-void-typehint-in-php)
- [The mixin PHP DocBlock](https://freek.dev/1482-the-mixin-php-docblock)
- [My current setup (2019 edition)](https://freek.dev/1485-my-current-setup-2019-edition)
- [Getting started with Domain Oriented Laravel](https://freek.dev/1486-getting-started-with-domain-oriented-laravel)
- [A PHP package to read and write simple Excel or CSV files](https://freek.dev/1488-a-php-package-to-read-and-write-simple-excel-or-csv-files)
- [Improving Artisan commands](https://freek.dev/1492-improving-artisan-commands)
- [Sending a welcome notification to new users of a Laravel app](https://freek.dev/1500-sending-a-welcome-notification-to-new-users-of-a-laravel-app)
- [My Alfred workflows](https://freek.dev/1506-my-alfred-workflows)

## In closing #

I hope you've enjoyed freek.dev and that you'll continue reading it in the next 12 months.