Engineering

175 posts
Using an SSH tunnel to connect to your dev MySQL with Docker

Using an SSH tunnel to connect to your dev MySQL with Docker

About a year ago, I wrote about managing your ports with Traefik in your local development environment. That blog post described how to set up the Traefik proxy and route all your traffic to the correct container without having to rely on the ports exposed by your container. This can...

On Technical debt - What is it, how is it created, what types of technical debt are there, how to avoid tech debt, and how to fix it?

On Technical debt - What is it, how is it created, what types of technical debt are there, how to avoid tech debt, and how to fix it?

What is technical debt? How can you fix technical debt and what is the best approach to avoid technical debt?

Fixing cookiebot bug by not fixing cookiebot

Fixing cookiebot bug by not fixing cookiebot

I want to start with a small disclaimer that I don’t fully understand what exactly went wrong and why the things we did fixed the problem. I’m pretty sure I would be able to find out by staring long enough at very complex code, but at some point,...

Google Workspace SSO and automated user provisioning

Google Workspace SSO and automated user provisioning

One of the client projects I work on has larger, enterprise customers. Because of this, I needed to create a way for their users to sign into our application using single sign-on (SSO). To do that, we needed to automatically provision users in our system. This is something I wasn’...

Modern front-end monorepos — Part 2: running scripts

Modern front-end monorepos — Part 2: running scripts

In the previous article, we set up a monorepo project with 2 applications and a package. We also enabled Yarn workspaces to manage the dependencies and linking of the workspaces. One inconvenience so far was having to start 2 separate terminal windows to run the applications. This isn’t a...

Modern front-end monorepos — Part 1: managing dependencies and sharing code

Modern front-end monorepos — Part 1: managing dependencies and sharing code

I’ve really learned to love a good monorepo setup, a repository that contains multiple packages and/or applications. Being able to make changes across applications or packages in 1 pull request (PR), having the option to centralize and reuse code over applications, and unifying documentation and processes greatly simplifies...

The easiest production-ready image to run your Laravel application

The easiest production-ready image to run your Laravel application

It’s no secret that we are big fans of Docker during our daily development work. It’s still one of the easiest ways to ensure a common working environment when developing locally and avoid the “It works on my machine” arguments. Even Laravel ships with a default Docker-based environment...

Running PHPUnit with PHPStorm

Running PHPUnit with PHPStorm

When writing tests, I often find myself switching between the IDE and terminal windows to actually run the tests. On projects with very large test suites this would often lead to situations where I’d spend time waiting for all the tests to finish. I’d get distracted with something...

Improving performance and reliability of client's core business component using a simple running total

Improving performance and reliability of client's core business component using a simple running total

A client project I work on required some processing, scheduled nightly at 2am. I’m a curious creature, by nature, so I was eager to learn what keeps the queues busy for up to 30 minutes in the middle of the night. It must have been something important! The business...

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.