Enhancing software, elevating teams.

JSday Maceio 2015 recap

JSday Maceio 2015 recap

We have tons of conferences in Brazil related to web technologies. BrazilJS is far the most incredible one, and it relies heavily on JavaScript. Yearly thousands of JavaScript enthusiasts and developers go to POA to have this amazing experience. A few months ago I saw a conference called JSday and...

PHP type hints: self and parent

PHP type hints: self and parent

In PHP we can type hint function arguments since version 5.0. Over the years and with newer versions of PHP the number of possible type hints have increased. Here’s an overview: public function foo( // Since 5.0 self $self, parent $parent, FooInterface $foo, // Since 5.1 array $array,...

Halfway through

Halfway through

My initial plan to write a blogpost every week took a turn for the worse after week #2 when I realized that writing a blogpost isn’t as easy as it looks. It takes a lot of time to selecting the things worth mentioning, and leaving out the things which...

Using illuminate/config v5 outside of Laravel

Using illuminate/config v5 outside of Laravel

1. The Laravel framework has become very popular, between others, for its simplicity and expressiveness. With the recent release of Laravel v5, most of the core dependencies were updated. The same applies to illuminate/config, which is responsible for containing our app’s configuration. We are often involved in projects...

Elasticsearch Aggregations

Elasticsearch Aggregations

I have already covered how you can easily integrate Elasticsearch with your app, but I haven’t talked anything about how you can query your data. I won’t cover the basics of querying or filtering here, instead I will cover a cool feature called aggregations, it’s a way...

Internship at madewithlove: week one

Internship at madewithlove: week one

Sunday, the day before the start of my internship, I got a text message from Andreas (CEO) asking me if I wanted to join him Monday evening on his weekly trip to Rotterdam. Of course I wanted to! Since pictures can tell you more than a boring block of text,...

Learn hard, play hard #PHPBenelux2015

Learn hard, play hard #PHPBenelux2015

For 6 years in a row now, the PHPBenelux-team organized their annual conference in Antwerp. And yes, madewithlove was present! Dieter and Jonas attended the conference and joined some interesting yet diverse talks. Now I am not going to cover every talk we joined in detail. But I’d love...

Use gitattributes to keep your tests out of other people's production

Use gitattributes to keep your tests out of other people's production

A quick tip here, for all PHP developers out there who author packages registered on packagist.org. Add a .gitattributes file in the root of your github repository. The .gitattributes file allows you to configure several things, but the most important thing related to composer is the ability to not...

Integrating Elasticsearch with Your Laravel app

Integrating Elasticsearch with Your Laravel app

Yo! There’s a revamped version (2022) of this article about integrating Elasticsearch with your Laravel app. Searching is an important part of many applications, and it is most of the time treated as a simple task. “Just query using LIKE and you’re good to go”. Well, while the...

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.