Discoveries of the web for the seasoned developer.

I share tips, guides and other web-related things that I find interesting.

November 24, 2024

Deep dive into HTTP 499, 504 and background processing without a queue system.

Understanding the "499 Client Closed Request" client error, "504 Gateway Timeout" server error and an example of how to do background processing in PHP without a queue.

November 18, 2024

PHP 8.4 Property Hooks and Data Objects

Example of how property hooks can simplify the syntax of data objects, replacing native arrays when you need to make sure that your units of encapsulated data is type-safe and validated.

November 30, 2022

MySQL Error: Cannot add foreign key constraint.

Did you just get the MySQL 'Cannot add foreign key constraint' error? I got it today when adding a foreign key constraint to a database. Let's look into how it can be solved.

December 22, 2018

How to rewrite a legacy PHP application to Laravel.

Rewriting a legacy PHP application to Laravel doesn't have to be an all or nothing process, in this article, I go through how you can rewrite your app into feature classes in Laravel step by step while still using code from your old app.

August 27, 2018

Why FDD is better than DDD in Laravel applications.

Feature Driven Design (FDD) can drastically improve your development flow by creating shorter iterations and quicker feedback loops which results in better software and a happier more motivated team.

May 14, 2018

MySQL is not returning NULL values.

I discovered that MySQL doesn't return NULL values when running an exclude query while developing a filtering function for a system that I've been working on.

March 6, 2018

How to get the count of a subquery in Laravel.

I figured out how to wrap a query and getting the count from it in Laravel. It was not really straightforward and I had to use a combination of the Eloquent ORM and raw database queries to get the result that I was looking for.

March 5, 2018

MySQL returns duplicates when sorting in descending order.

I discovered that MySQL sometimes returns the same entries multiple times when paginating a result set. I noticed that it does not happen when sorting in ascending order or when leaving out the order by clause from the query.

January 17, 2018

How to setup TypeScript with Laravel and Vue.

Setup TypeScript with Laravel and Vue in a matter of minutes. After doing a lot of research on how to setup TypeScript with Laravel and Vue I found what I believe is the simplest solution to get it up and running in no time.

September 19, 2017

Karma with Chrome Headless is not working in CI environment.

I couldn't get Google Chrome to work in headless mode in CircleCI 2.0 when running my VueJS tests in my Laravel app. After hours of trial and error, I figured it out. I hope this will save some time for someone out there trying to achieve the same thing.

Oliver Lundquist

Born in πŸ‡ΈπŸ‡ͺ, resident in πŸ‡―πŸ‡΅ for 15+ yrs, husband and father of a daughter and son, web developer since 2009.

Read more about me
β€’ mail@oliverlundquist.comβ€’ Instagram (@olibalundo)