I don’t really hate PHP. Yes, I do. Maybe not. It pays the bills. Either way, for me PHP has been a decade long enduring (endearing?) period of the abusive girlfriend syndrome for me. All the places that I have worked where PHP was employed at some level had major issues. But why is that?
As someone who has been doing web projects for quite a while, I can safely say that I’ve seen a large number of solutions pop up over the years, which in the end pretty much do the same. In recent years, I’ve been noticing the rise of microframeworks. While I understand the inherent desire for a lighter code base, what I’ve found as a primary weakness is that there’s a lack of features that most people probably want out of the box.
I had shutdown my VirtualBox/Vagrant for a while and possibly had a system upgrade or messed around with my SSH keys. Either way, upon starting up again, I found that I no longer could use my SSH key to login. Not sure what happened, but here’s what I did to resolve the issue.
HBONow had a highly embarrassing outage right on the night of the most highly anticipated Game of Thrones episode of the season. It’s the dread that every developer faces who has to deal with capacity issues but it also demonstrates the possible lack of knowledge the non-technical people have in understanding their audience at the HBO headquarters.
At the risk of alienating myself from the development community at large, I want to rant a bit about why I believe developers are fucking retards. As someone in the tech industry for 16+ years and someone who’s been coding for even longer, I’ve seen things go in circles that I had hoped would lead to something profound. Instead, I’ve come to realize that instead of moving forward constantly a lot of the industry goes through it’s Dark Age periods and with the web and mobile, it’s probably at it’s lowest point.
One distinctive feature Laravel has as part of its optional architecture is the command/event system. Commands are supposed to represent single, discrete pieces of logic that ought to handle a particular job. Events are ways to notify the system that something occurred. Both commands and event employ handlers and commands can implement the SelfHandling interface to combine containing the data of a Command object along with executing the command itself. While the ideas are great, the implementation still is messy and I want to talk about some flaws in the architecture that bluntly stated don’t make a lot of sense to me.
The other day I ran into a really annoying issue where after re-doing my Vagrant instance, I had some issues with the way my directory was mounted and provided certain permissions. When I would ssh into my box and tried to change permissions, even as root, the permission layout would stay the same. However, I needed to deal with saving files to a certain directory, which was driving me nuts. Here’s how I did a quick solve.
So I encountered an issue with Laravel 5 where your APP_ENV in the .env file might not be read. Even if you change it through the Homstead.yaml file, change /etc/php5/fpm/php-fpm.conf, change your .profile file, etc. you still may not see the variable properly reflected when doing something like var_dump($_SERVER) or examining the Application::Environment() function. This post discusses what the issue is and a quick fix for this problem.
I ran into an issue earlier where I needed to add a default message to a drop down box created through Laravel’s Form builder. The difficulty was that the form select doesn’t allow for a default option. You have to manually add that. If you pre-populate your select with an Eloquent model, you will have to deal with using a Collection. So how can you add to put an item at the head of the list?