The last meandering text exchange I had with my father took a surreal turn when he interjected “there’s a tornado warning now. I can see it.” The thread went eerily silent, but after a tense hour, he sent me this photo:

Tornado roping out over Weld County, Colorado

Having grown up the most tornado-prone county in the United States, I videotaped my first tornado on a bulky VHS camcorder for a Denver TV station when I was 12. In graduate school in Kansas, I photographed a twister for the Lawrence Journal World as it neared town, and I witnessed a handful of others left unphotographed from the…


This is one of the phrases I find myself perpetually muttering because it is so patently true. I gained newfound respect for one of the titans of software development, Martin Fowler, when I rediscovered his famous quote:

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” — Martin Fowler

There are so many things about writing code that I wish someone had told me when I was coming up through the trenches. Maybe they tried, and maybe the words were lost on my youthful arrogance or my ears had not yet…


This is not a post about how you can make passive income as a developer while you sleep, or a listicle about the 10 best Python packages you simply must incorporate into your project to find dev-nirvana. This is just a fun little shout out to some old technology that lets you turn regular text into giant ASCII streams of text, like this:

The awesome power of Figlets

This is cool the way that tractor-feed dot matrix printers were cool. It’s an homage to the nerds on whose shoulders we all stand. I like this kind of thing the same way some people like art…


As you have seen from the tweets, newsletters, and banner ads, the annual StackOverflow developer survey is coming up soon. I’m sure you are as excited for it as I am, as our developer communities are rivals and have been for some time. Your confidence in your technology is high, but rest assured, you will suffer humiliation when the programming language I prefer outranks the programming language you prefer.

On numerous occasions, you have expressed the conviction that your programming language will be victorious. Every time I hear you make this proclamation, I shake my head in disbelief. “Ha!” I…


Bad documentation can send me into a ranting tailspin because it wastes inconceivable amounts of time, costs real money, and makes us developers unproductive and miserable. Documentation might be bad because it is flat-out wrong (typos, references to an older version, etc.), but more often documentation is bad when it fails to tell us what we need to know. You will see that this is not entirely subjective.

What Documentation Requires

It’s an insidiously simple question, but there seems to be no “official” agreement on what constitutes required fare when it comes to writing documentation. It’s no wonder our software is unusable! …


I don’t know what happened to LinkedIn. I used to get maybe a handful of messages from recruiters every month, but now I have days where I get dozens of inquiries. Then again, LinkedIn used to be all about professional networking and now I’m just as likely to see it used to propagate baseless political narratives. Delusional former coworkers may be a lost cause, but recruiters could save us all some time if they could make a few simple adjustments to their messages. …


If you have been fortunate enough to have written Elixir code, then you can understand its appeal: the straightforward beauty of functional programming, the ubiquitous ease of pattern matching, built-in testing and documentation, and all delivered with an elegant syntax that makes it a joy to work with.

However, one of most confusing things about Elixir applications is ironically one of the most fundamental: configuration. Because Elixir offers runtime flexibility like dynamic dispatching and duck typing, it can be easy to forget the nuances that exist because it is a compiled language, and compilation can make configuration more difficult.

The…


In the final hours of his presidency, Donald Trump pardoned scores of people. Like much of the news-weary public, I just wanted the relentless news cycle orbiting this incompetent man to finally stop. But a name in the article jumped out at me: Elliott Broidy. He was a former client of mine. Pardon me? Yes. This is where things make the bizarre jump from software engineering into politics.

My former client on trial

Back in 2015, I was doing freelance work in Los Angeles. Via a referral I was introduced to the CEO of a company whose website was undergoing debilitating DDoS attacks.

Mitigating DDoS…


I have been doing this development thing for over 15 years now. I have written two books about WordPress. I have chalked up some war stories of manic clients and epic bugs vanquished, but nothing was as crazy as the time I was offered $5,000 a month to hack WordPress sites by distributing and maintaining vulnerable plugins. How exactly this unfolded is the subject of this article.

There are a couple things I had already learned by the time I was propositioned. One is that WordPress is a trash-heap of sophomoric development ideas and the developers who love it are…

Everett Griffiths

Code person.

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