Why rewriting applications from scratch is almost always a bad idea

There are many good reasons to rewrite a legacy application, but most of the time, the cost outweighs the benefits. In this article, I try to balance the pros and cons of rewriting applications from scratch and articulate why it is almost always a bad idea. Many developers, including myself, can live with a legacy […]

A few things that might help you keep going to the gym for the next five years

I believe 2020 is my fifth(?) year of consistently going to the gym. Since the beginning, I found myself almost quitting every few months, but there were a few things I believe that helped me keep going. In this article, I want to share those things in the hope of helping others wishing to make […]


Actions in Laravel beyond CRUD

In the past couple of months, I’ve been enjoying reading Brent’s writing on PHP & Laravel. The test and types article is one of my favorites, as it highlights the importance of types and creating objects that reflect precise concepts, rather than just using primitives for everything. Recently he’s been writing a mini-series titled “Laravel […]

Testing a Laravel app with hundreds of migration files

And stay sane while doing it. Testing Laravel is usually fast. You can use an in-memory database, and all your tests run hella fast; even going directly with MySQL is fast enough. But when you inherit an application (rarely for good reasons), and you find out it has more than 370 migration files adding up […]

4 ways to deal with complexity in your eloquent models

I think everyone loves to work on completely greenfield applications. You get to plan your own course, chose your current favourite technologies, structures, and patterns to follow. There is no legacy code, no technical debt, nothing that stands in your way. You can do whatever you want and building features is a breeze. But you […]

When things go wrong, draw something funny

A couple of months ago we went to Amsterdam for a city break. Lively city, too many reckless bikers. We wake up one morning to find out our hotel’s elevators stopped working. That’s not something you want to see when you’re on vacation trying to relax, especially when your room is at the sixth floor. […]

Displaying validation errors with InertiaJS and Laravel

The easiest way to get yourself accustomed with how inertia works is to stop thinking about inertia visits as being XHR requests where you *do something* when the request it’s completed, and think of your project more as traditional server-side application where everything that happens next is dictated by the server. The same is true […]

Paginating Laravel API resources in InertiaJS applications

Later edit: Laravel API resource pagination works now as Reinink added support for Responsable props. If you’re a Laravel developer working with InertiaJS, there’s a good chance you played around with PingCRM, the application Jonathan build to illustrate how InertiaJS works. If not, I encourage you to have a look over it as it helps […]

Ionic menu not closing

Ionic – close menu on navigation

I’m working on an Ionic app and I stumbled upon this problem where the side menu does not close whenever I tap the menu item. It navigates to the page, but the menu stays open.

Laravel not nullable timestamp without a default value

I ran into the following question today: Is there no way to create a timestamp as not null with no default using #laravel migrations? I could get it to work making `shown_at` nullable, which… ok… but why? I’m OK w/ `created_at` using current but `shown_at` should always have a value. [1] For MySQL there is […]