Why Build X When Y Exists?

davidhemphill.com

In a new post David Hemphill argues that you sure can (re)build something that already exists. I fully agree.

Some folks ask this rhetorically, implying there's no good reason when something similar already exists. They ask this question with a smug grin and think they've got you.

Read more [davidhemphill.com]

There’s more than one way to write an IP address

ma.ttias.be

Mattias Geniar explains all the ways an IP address can be written.

Most of us write our IP addresses the way we've been taught, a long time ago: 127.0.0.1, 10.0.2.1, ... but that gets boring after a while, doesn't it. Luckily, there's a couple of ways to write an IP address, so you can mess with coworkers, clients or use it as a security measure to bypass certain (input) filters.

Read more [ma.ttias.be]

Join 9,500+ smart developers

Get my monthly newsletter with what I learn from running Spatie, building Oh Dear, and maintaining 300+ open source packages. Practical takes on Laravel, PHP, and AI that you can actually use.

No spam. Unsubscribe anytime. You can also follow me on X.

Run and stop multiple long-running commands from Bash with a trap

liamhammett.com

Liam Hammett explains how you can use the trap command to stop multiple bash process in one go.

Sometimes when working on a project, I’ll always want to run a handful of commands at the same time, some of which may return when they’re done, others might be long-running, like watchers or services actively exposing ports. This is something that might seem simple to do with a basic Bash script at first, but what if your script has multiple processes running side-by-side and you want to be able to stop them all at once too?

Read more [liamhammett.com]

Domain Events vs. Event Sourcing

www.innoq.com

Christan Stettler wrote an interesting post on why domain events and event sourcing should not be mixed up.

Event sourcing and domain events can of course be used both at the same time, but should not influence each other. The two concepts are used for different purposes and should therefore not be mixed.

Read more [www.innoq.com]

The €963 Book Launch That Made Me Wish To Get Back To My Secured Job

christoph-rumpel.com

Christoph Rumpel wrote an honest lookback at the launch of his book. I takes courage to publish a post like these. Well done!

Exactly 365 days ago, I released my first ebook. I always wanted to share my experiences about it, but I never felt comfortable enough to do so. The project didn't turn out as expected, and I felt embarrassed. It's time to finally reflect it and to overcome my fears.

Read more [christoph-rumpel.com]

Implementing event sourcing: testing aggregates original

by Freek Van der Herten – 4 minute read

Earlier this year we released v2 of laravel-event-sourcing. This package is probably the easiest way to getting started with event sourcing in Laravel. A significant feature of v2 was the addition of aggregates.

Today we released another new version of the package that adds test methods. These methods allow you to verify if the aggregate behaves correctly. In this post, I'll show you an example and explain how the test methods are implemented.

These test methods were inspired by the awesome testing methods Frank De Jonge made in his Eventsauce package.

Read more

A Shifty Email Bug

jasonmccreary.me

Jason McCreary, creator of Laravel Shift, wrote a post mortem on a problem where too many mails were sent.

It was 7:07 am. I woke up to 56 emails, 17 tweets, 9 Slack messages, and 4 telegrams. All of which alerting me my SaSS product had sent 3,625 email messages to 1,544 users overnight. I am Jack's cold sweat. ?

Read more [jasonmccreary.me]

How to add webmentions to a Laravel powered blog original

by Freek Van der Herten – 8 minute read

The comment section of this blog used to be powered by Disqus. At its core, Disqus works pretty well. But I don't like the fact that it pulls in a lot of JavaScript to make it work. It's also not the prettiest UI. I've recently replaced Disqus comments with webmentions. If you reply to, like or…

Read more

Advanced internationalization system for Vuex

nicolas-beauvais.com

Nicolas Beauvais wrote a nice blogpost on how he went about adding support for internationalization to his app.

When working on web applications, translation strings are typically stored in the backend of your app while they’re mostly used in the frontend. This is the main challenge because you need to communicate the translations from your backend to your frontend code.

Read more [nicolas-beauvais.com]

Verify that your site is still online after a deploy

ohdear.app

At the Oh Dear blog, my colleague Mattias explains how to use our service to verify that your site is still online after a deploy.

You can use our API to trigger an on demand run of both the uptime check and the broken links checker. If you add this to, say, your deploy script, you can have near-instant validation that your deploy succeeded and didn't break any links & pages.

Read more [ohdear.app]