🏢 Looking for a Swift or Laravel developer? I am currently looking out for new opportunities!

Shields Down

July 05, 2024

I have been a Rands in Repose reader for a very long time, and I consider Shields Down to be one of my favorite pieces of Michael Lopp’s writing.

Resignations happen in a moment, and it’s not when you declare, “I’m resigning.” […] The moment happened the instant you decided, “What the hell? I haven’t seen Don in months and it’d be good to see him.” Your shields are officially down. Shields Down, Rands in Repose

If you haven’t already, give the article a read. In short, it’s about when it’s time to look for a new job and embrace a new opportunity. I’ve had several Shields Down moments over the last few years, with a really significant one in 2022.

I knew that my time at my employer was going to come to a close in the next two years, but I wasn’t sure about the precise timing, so I have been quiet. Now I do, and so it’s time to share.

I was already seriously considering looking for new opportunities all the way back in 2020, but with an ongoing pandemic I was not motivated to look for something new, and decided to stay at the company.

Read blog post


June 10, 2024

You ever hear about those 10x programmers? I am certainly not one of them. I always assume that I am a pretty average programmer.

I’ve only been doing this for about ten years, and I am certainly not a mathematical genius. So, I always confidently assume there’s folks out there far more capable than I am. This simple fact of life is actually one of the few things I can be confidently confident about.

My explanation for being average at programming is simple: I haven’t invested a tremendous amount of time building a variety of challenging projects that would push me forward. I’ve also seen other incredibly capable people at work.

Programming, you see, isn’t my entire life. I can’t bring that level of dedication to my craft that others can. Some certainly are also more naturally gifted, but it’s usually hard work and luck that gets you upper percentile results.

Read blog post

Earlier this month, my three month long break ended. That means I’m roaming the offices at DIVE again, doing my usual thing. What can I say? It’s certainly good to be making money again, and getting some work done.

(I mention money because this was an unpaid vacation. Not a stunt I will ever pull again, as I took a bit of a financial risk. But it might have been worth it just so I could catch a break for a bit.)

I know that in previous posts I’ve called this period a sabbatical, but frankly this break wasn’t long enough for it to really work as one. So, in this post I want to talk about the importance of taking a break and mental rest.

Read blog post

For this site I use Vite for my styles, fonts, and such. Vite is wonderful, since it also versions your assets (by suffixing files with a content hash).

Vite generates a manifest file which is then used to resolve these files via the @vite directive in your Blade files.

However, when the site goes down with php artisan down I assume that the Vite manifest is missing and various files must be resolved via a fallback function.

Why? For example, in the CSS of my errors.blade.php template file, I include some custom CSS, but I still need to point to my custom (self-hosted) font files. These do not have a fixed path due to the versioning suffix.

Read blog post