Enhancing software, elevating teams.

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...

PHP Docblock return types

PHP Docblock return types

Return type hinting is great! When I use my IDE and experiment with classes that I haven’t used before, I really love that it tells me what kind of object a method returns to me. My IDE doesn’t use Artificial Intelligence to know that, it reads the PHP...

You might also like
Analyse your tables for better performance

Analyse your tables for better performance

No designer? No problem with v0

No designer? No problem with v0

The stainless steel lesson: why boring technology outlasts shiny frameworks

The stainless steel lesson: why boring technology outlasts shiny frameworks

The challenges and gotchas of app store releases

The challenges and gotchas of app store releases

From chatbots to AI agents: What do you need to know?

From chatbots to AI agents: What do you need to know?

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.