Cityscape
Cityscape

There is the way life works and there is the way I wish life worked. This is how I wish it worked: if you have good intentions, you are guaranteed to make good decisions. However, it doesn’t take much imagination to produce scenarios where this isn’t the case. For example, I may have good intentions to fix my friend’s car, but unless I’ve gained knowledge in car mechanics somewhere along the way, I may actually do more harm than good. Or I may have good intentions by giving an alcoholic family member money when this could likely be enabling bad…


It’s a cliche to say that human beings in this modern age are more connected. While that may be true, I ask the question: what are we connected to? Just as most of us don’t cultivate our food or build our own houses, out of necessity we outsource gathering facts about the world to others, and there doesn’t seem to be a good way around this. However, the consequence is that all the information we gather comes through at least a filter, or multiple filters, like a game of telephone in which the players aren’t always forthright.

In this age…


Recently, Mark Zuckerberg stated, “As a principle, in a democracy, I believe people should decide what is credible, not tech companies”. Yet, the voices clamoring for Facebook to step in and save us continue to grow more shrill.

It’s easy to see why anyone would hold this view The calculus is simple: there are bad things in the world, therefore somebody should do something to fix it.

At first, this appears as a fairly innocuous statement, and it might seem like there’s not much left to say. However, it’s a vague statement with unclear actionables, and merits a deeper analysis…


Introducing test coverage into an existing codebase is a daunting challenge. Just learning how to test can be a daunting challenge. Testing is an essential skill, but it isn’t a discipline that is taught very well if it’s taught at all. The following advice is intended for those who are new to testing, those who have struggled with testing in the past, or anyone who has inherited a codebase with little to no test coverage.

But first, I hope you’ll allow me, for a moment, to sing the virtues of testing. Writing code with tests removes so much of the…


It’s important to keep in mind the responsibility of each class in your system. Following this principle can help keep the amount of stuff you have to keep in your head at one time to a minimum and make changes in the future easier — which results in code that is cheaper to maintain.

The source code of the Laravel framework is beautiful, well written, and is a joy to work with, which is made possible in large part because the developers follow this principle. If you’re reading this post, you’re likely already drinking the Laravel Kool-Aid.

I find that…


People are excited for us to have a child.

Are we excited? It depends on how you define excited I suppose. If we stick to the dictionary definition, “stirred emotionally; agitated”, then yes, I guess we are excited.

Are we excited as in “I’m not happy and fulfilled until x event happens”? Absolutely, unequivocally, no.

We’re comfortable — perhaps a little too comfortable. When we tell people that we’re incredibly nervous about parenthood, the response is typically reassurance that we’re going to be fine parents. While that is appreciated, it’s really not the central reason for our trepidation. …


The Laravel framework feels magical in large part because it heavily uses PHP’s “magic methods” to add many conveniences. As a quick example, when you access name from the User model:

$user->name

the User class probably doesn’t actually have a name property defined, but through the magic of __get(), Laravel checks whethername is a relationship or a database value and returns the appropriate result.

However, during this process, Laravel also calls a method named hasGetMutator, which checks for a mutator method on the model:

if ($this->hasGetMutator($key)) {
return $this->mutateAttribute($key, $value);
}
public function hasGetMutator($key)
{
return method_exists($this,'get'.Str::studly($key).'Attribute');
}
protected function…

Dallin Coons

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store