All things Laravel, overcoming challenges, and encountering edge-cases.

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

Livewire properties cannot have the same name as Livewire methods, otherwise the component will not work properly.

By default a new Forge Cache server comes with Redis 7.x and is bound to loopback ip addresses only. To allow communication between Forge servers, you will need to update the bind setting in /etc/redis/redis.conf.

Sometimes you need to let developers connect to production databases for debuging purposes. It's best if they have read-only access to prevent accidents. I've been there.

From time to time you might see strange disk usage on your database server. This query is a quick way to see if any of the tables are growing inexpectedly.

It's time once again to begin the rollercoaster ride that is the annual macOS beta program! As a developer, I am intrigued by the new functionality provided in the OS, as well as new features in Xcode. This year holds huge promises that I am really looking forward to!

Have you ever found yourself in a situation where you entered a primary key when inserting a row into the database, and thereby invalidated the primary key sequence? I have.

If you are developing Nova packages, you have probably been faced with the situation where you wanted to create Nova resources based on configurable model classes (which would allow the developer using your package to extend your package models and add logic required for their app).

When you're building out a feature-complete admin dashboard using Laravel Nova, you will probably come across the situation where you need your BelongsTo relationship fields to only show certain records, and not all records.

From time to time your server may get overloaded because PHP is spawning too many workers, or its workers get hung up, and does not make more available. I had a case where this was happening daily on a server, and it was impacting my clients so much that their sites were becoming non-responsive.

I use Imagick for many of my web application projects. It is a robust and powerful image manipulation tool that has some advantages over GD. Unfortunately it doesn't come installed by default in Homestead.

As part of your job you work with servers, are required to do dev-ops, and end up utilizing cron jobs for various things. If only there were an easy way to monitor cron jobs for failures?!

If you have an eero and subscribe to eero Plus, you get a free subscription to , one of the most performant VPN providers I have ever used. Unfortunately they only provide an app to secure individual devices, and no clear way to protect entire networks. This leaves all your IoT devices, as well as home entertainment devices like Roku, AppleTV, etc, out in the cold.

You know the drill with Homestead: maintain a huge list of domains in /etc/hosts, make sure all the ports are forwarding correctly, have complex config files to handle running artisan commands outside of homestead, and so on. This has always been annoying me, so when the .dev TLD switched to forced HTTPS a few weeks back in macOS 10.13.2-beta, (which has since released), as well as in Chrome now, it was time to find a better workflow.

Most genealogists face this question when they find foreign-language documents. Even though you may be able to make out many words, or even most of the text, you might not feel you comprehend it in its entirety. This article aims to help you decide when and why you should hire a translator.

As with everything, we need to make a consious decision when we do things. In this case a VirtualBox Guest Additions mismatch has severe performance implications and in my case has halted the synchronizing between Vagrant and OS/X.

The following are some tweaks to get PHPStorm working on OS X 10.11 “El Capitan”.

In the previous article we discussed how to determine if you need to hire a translator. Now we will cover the (perhaps intimidating) task of trying to find the right translator.

Workbench has sadly been discontinued in Laravel 5. Yes, there are ways to integrate it back into L5, but it seems to be on its way out. So, other than manually wiring up our packages that are in development, what can we do?

PHPCI is a nifty little swiss-army-knife for your development toolbox. It provides continuous integration and connects to popular services like GitHub and BitBucket. It will monitor your source repositories for changes, and trigger a new build when it sees activity. Then it will let you know if anything went wrong or can be improved.

The Agnoster ZSH theme is getting a lot of wind in its sails these days, and Mirza Pasic’s recent blog post in this topic sparked my interest. I’m always eager to try new things to aid my development workflow.