Writing on software design, company building, and the aerospace industry.

All of my long-form thoughts on programming, leadership, product design, and more, collected in chronological order.

Deploying easily using Laravel Envoy

I perpetually update my website, and it became a hassle for me during deployment time. I had to open my iTerm, enter my server using SSH, and then pull the updates from Git.

...

TIL: Atomic Locks with Laravel Batch Jobs

I am writing this to gain a comprehensive understanding of the concepts of raise conditions and atomic locks.

Raise conditions occur when two or more processes attempt to...

Takeaways from Building Shopify Apps

I had a client who needed to generate 1,000 different codes. The reason behind this was that if there's only one code, it's prone to abuse as people may share it with others. He...

Setup DNS with NGINX

The standard domain for example.com generally corresponds to a virtual host file termed as /etc/nginx/sites-enabled/www.example.com.

To incorporate your pref...

Class 'Redis' not found

For some reason, my env setup was messed up and I came across this error that needs to be fixed. I've encountered it before, might as well document it for future reference.

...

TIL: Laravel HasOneThrough model relationship

Context: Participants may earn race credits by volunteering at an event.

By using hasOneThrough() we don't need to add the user.id column on the race_credits...