Not for long

So many of us (developers) suffer from an extreme form of hubris.

My programming language of choice is the “right” one.

My chosen framework is infinitely better than the one you use.

My build process runs circles around yours.

My IDE makes yours look like a child’s toy.

How many times have you looked at a project of yours from a year ago and thought, “Hey! I was a genius back then!“? More than likely you think your code was crap and you made some really terrible decisions. Those decisions, though, were the “right” ones at the time. They got the job done and you shipped something.

In web development being “right”, if even attainable, is only a temporary state.


Cooking is Creating

In support of my 2017 tech trends I’ve done my best to look away from screens and create more with my hands. Cooking is one of the ultimate creative outlets. It’s conjuring something (hopefully) amazing from basic ingredients and feeding your family in the process. Better yet, you know what you’re putting into your body. Not that I worry about eating organic or not enjoy the occasional patty melt from Whataburger.

You can play the home version! Get a hunk of beef, throw some herbs and spices on it, cut up an onion, cover and put it in the oven at 350 degrees for 3 hours. Don’t look at it. Trust the oven. That’s called a pot roast. And it doesn’t get much easier than that.

Still want easier? Fine. Get a cold pan on the stove. Lay out thick-cut bacon. Turn the stove on low. Flip the bacon every couple of minutes turning up the stove a bit each time. 15 minutes later you have perfectly cooked bacon.

Now get in the kitchen!


(Resisting) Rest

It’s difficult.

Being a parent. A team lead. A homeowner. A husband. It’s difficult to know when to rest. There’s always something you could be doing.

And then you get that tickle at the back of your throat. Your energy dissipates. You wake up in the morning feeling as if someone inflated a jello-filled balloon in your head.

But there’s no fever and you’re keeping your food down. There’s a job to do.

So you go about your business getting everything done. A week goes by and you aren’t any better so you give in and see the doctor. He diagnoses you with walking pneumonia, tells you to rest and sends you home with some prescriptions.

But at home there’s a kid to care for. Software to develop. Yard work. A wife to support.

It’s so easy to resist rest.


My tech trends for 2017

Everyone is trying to predict the year’s biggest global tech trends. AI, self-driving cars and VR usually populate the top of the list. While those things are neat it’s tough to see the immediate effect to my life. Instead I decided to create my own list.

  1. Bye-bye Facebook. Yeah, the number of people who say this probably outnumber the gym rookies on Jan. 1. Here’s the thing. Facebook’s value to me has dwindled to almost nothing over the last few months. I blame the election.
  2. Publish more. I’ve struggled over the last several years to do anything resembling consistent blogging. Between deciding on topics and a general fear of sounding ridiculous I always find an excuse to not hit “Publish”. This year all I’m working towards is at least 100 words published per day. So far, so good.
  3. Less screen time. More creating with my hands. Very few things in this world give me more pleasure than spending a couple of hours in the shop and returning with a new box or toy for my son.

Fix your git hooks when using Tower

One of our newest OptinMonster developers has already made a big splash by introducing even more automation to our development flow. For the past two years (TWO!) this has been our usual conversation after pushing some changes:

The changes you pushed aren’t working.


Do I need to run anything after pulling this down?

Yeah. composer install in the core plugin and theme. npm install in the theme. gulp scripts in the theme.

Ah! There we go!

It was time to put an end to it. The new dev created a few git hooks, installed with a script, that run all of the necessary build steps after a pull from our GitHub repository. Only problem is the hooks don’t work if you’re using Tower or any other GUI for git. Luckily the fix is simple. Add this to the very top of all of your git hook scripts:

export PATH=$PATH:/usr/local/bin:/usr/local/sbin

This give Tower the correct paths to find whatever scripts you use in your git hooks. In our case it was node.