Enhancing software, elevating teams.

Thread carefully

Thread carefully

As far as I can remember, PHP has always had a terrible reputation at handling very heavy (or asynchronous) tasks. For a long while if you wanted to parallelize long tasks you had to resort to forking through pcntl_fork which had its own issues, and you couldn’t really...

Set Blackfire to the rain

Set Blackfire to the rain

If you’ve ever worked on any PHP application, or package, or anything you know that debugging performance issues is hard. There are several ways to ease the pain a little: debug bars, putting timers a bit everywhere. Or if you’re courageous like I was for a long time,...

Managing data flow on the client-side

Managing data flow on the client-side

I like to think of client-side applications as empty shells that get populated with data and where the source of that data can be anything: an object in your javascript code, an HTTP request, a JSON file, … Making sure this data flows correctly through your application is one hell of...

Code review

Code review

Reviewing code has been advertised as a great solution for improving code quality in any project. While this is true, the main advantage is in how code reviews change the way you approach your code problems. Any code can be reviewed, but there are some best practices that will make...

madewithlove retreat in Girona

madewithlove retreat in Girona

Team building is an important part for any company and maybe even more if the team you’re working with is spread out over the globe. It was the first time I would meet my foreign colleagues in person and I was really looking forward to it! Hanging out in...

Webpack your bags

Webpack your bags

Last updated: December 2020 By now you’ve probably heard about this new cool tool on the block called Webpack. If you haven’t looked that much into it you’re probably a bit confused by some people calling it a build tool à la Gulp and other people calling...

*AwareInterfaces: simple interfaces with getter and setter

*AwareInterfaces: simple interfaces with getter and setter

Sometimes you see simple interfaces with a getter and a setter for a specific type of object. Some examples are league/event‘s EmitterAwareInterface and league/container‘s ImmutableContainerAwareInterface. Also Zend Framework 2 has a ton of *AwareInterfaces like (but not limited to) these: These packages often come with a...

Why You Should Avoid Over-Abstracting

Why You Should Avoid Over-Abstracting

Some time ago I started working on an existing project, so I read the documentation before diving in. At the top of the contributing.md file there was this sentence: “Abstract when possible”. Quickly I learned the project contained more abstract classes than a normal project. This leads to too...

Laracon EU 2015 recap

Laracon EU 2015 recap

After Laracon US in Louisville, Kentucky, a few weeks ago it was time for Laracon EU this week. For the third time in a row this great conference happened in Amsterdam. Last year I went to the conference and gave a talk at the community day on the day before...

You might also like
A Rubber Duck’s Guide to Better Engineering

A Rubber Duck’s Guide to Better Engineering

The enshittification of the internet: are you building value or friction?

The enshittification of the internet: are you building value or friction?

Why frontend rewrites are more common than refactors

Why frontend rewrites are more common than refactors

Lynx: a new contender in cross-platform development?

Lynx: a new contender in cross-platform development?

Another early-stage SaaS founders dilemma: buy a pre-built app or build one from scratch

Another early-stage SaaS founders dilemma: buy a pre-built app or build one from scratch

You’ve successfully subscribed to madewithlove
Welcome back! You’ve successfully signed in.
Great! You’ve successfully signed up.
Success! Your email is updated.
Your link has expired
Success! Check your email for magic link to sign-in.