There be dragons

I should subtitle this “a snarky developer talks shit about other developers”.

One of my WordPress rules is that I keep plugins to a minimum. Hell, I just blogged about a plugin that I released – it’s currently one of three plugins installed on my website.

I keep my plugins to a minimum for a few major reasons. The first is that WordPress itself is fairly secure and when WP sites get hacked en masse, it’s usually a plugin’s fault. The second is that honestly, I think WordPress gives theme/plugin developers way too much control to hook into how the CMS itself runs.

Continue reading “There be dragons”

A new plugin

A few days ago, I was checking out the content on my website and I noticed a problem. Ironically, I spelled ‘website’ in two different ways – ‘website’ and ‘web site’. I found that annoying so set about to fix it.

I checked out some other WordPress search and replace tools and mostly found that they did some weird things with the database, so I decided to build my own. I just finished testing it and am about to release it to the masses.

So far, I call it Keyword Meter and it has two uses. The first screen does keyword research – type in a keyword or phrase you’re interested in and the tool will spit out how frequently it appears in every article. Keyword density is thought important in search engine optimization and keeping tracking of that is very helpful. The most important part (for me) is the search and replace. Hence, I’m going to do a bit of a tutorial on it now and at the end, I’m going to ask for a big favour.

Continue reading “A new plugin”

A warning about performance testing

A few days ago, I was deep into testing my website and wrote up a quick article about some tools that I use when I’m testing sites. After a few days of reflection, I realize that I should have included a warning in that article.

Be very careful before you start performance testing your website. The key thing to remember is that a very typical run of ab looks a lot like a denial of service attack. Good hosts will ban any endpoint that sends that much traffic that quickly.

Before you do any performance testing, read what kinds of terms your host imposes upon you. And if you self host your website, be sure to turn off any security software that automatically bans users who flood the website with too many requests per second. This will save you from some serious headaches.

Welcome back Google Analytics

Yeah we tease him a lot, welcome back, welcome back
Cause we got him on the spot, welcome back, welcome back

Not even three full weeks have gone by since I removed Google Analytics from my website and I can’t handle it. I just reinstalled the tracking code and updated my privacy policy. This website has rejoined the land of ad technology.

Continue reading “Welcome back Google Analytics”

Free tools for website performance testing

Web application/site speed is a major factor in whether it will achieve its marketing goals. Ultimately, it doesn’t matter how good your content, service or product is, if your web property is slow, most people won’t come back.

Luckily, we have tools to give us a sense of how much traffic our sites can handle and lots of them are free or open source. Here are some of my favourite tools for monitoring how a site or application performs:

Continue reading “Free tools for website performance testing”

Interesting performance benchmarks with a new theme

Note – I’m doing a lot of performance testing on this production site so some things might be sketchy for the next couple of days.

I launched this new theme about ten days ago and have been running performance tests against it ever since. Making the home page much more static has yielded some remarkable performance boosts on its own. But over the weekend, I experimented with generating static menus into header.php and footer.php. The results of that were absolutely crazy so I pushed a new change into the theme last week and plan to have a fully static menu system by the end of 2019.

In very complex performance testing with, with caching turned off, making my header and footer menus static increased my requests per second by over 30%. With aggressive caching turned on, making those menus static still increased my requests per second by over 4%.

Continue reading “Interesting performance benchmarks with a new theme”

Death by CTO

A few days ago, I pointed to an article written by Dan Luu. Ostensibly about recruiting developers, the article looks at some of the nastiest biases that come into play when we recruit software developers. It looks at the habit of only hiring the trendiest, only recruiting from the same six schools and ultimately driving up prices for junior developers who match a certain pedigree while rejecting vast swathes of highly competent and productive developers.

I am a Saskatchewan based startup founder and have felt the problems recruiting and retaining good developers. Startup developers are a rare breed. They have to be a little bit obsessive, prone to march down deep rabbit holes in the pursuit of worthy gains, and completely committed to the cult of early stage. They also have to be comfortable with bleeding edge stacks. You can’t just take someone out of a provincial government software development gig and expect them to be happy or productive in a tech startup.

Going fully remote is an attractive possibility, but it ignores some of the economics of startup developers. If you are a startup developer, unless you are extremely entrepreneurial, you have the most career opportunities if you live in one of about eight cities. These cities have major startup communities with highly advanced angel investor communities and entire ecosystems built to make startups succeed. Because of how sophisticated investors are and how much of an advantage the ecosystems are, smart developers tend to move to these cities because if they don’t like their job, they can walk down the street and get three more offers. This opportunity comes at a certain cost – cost of living tends to be higher. As cost of living increases, wages have to rise. Simply, if we raise money at Saskatchewan valuations and pay developers San Francisco rates, our companies will die.

So, what is a founder to do?

Continue reading “Death by CTO”

Excellent article on recruiting programmers

When I relaunched, I vowed to avoid these weak, paragraph of text plus a link articles, but I can’t resist posting this. Dan Luu has written an absolutely amazing article about elitism in programming and all the amazing developers who get rejected because of elitist attitudes.

I feel like this article should be required reading for Saskatchewan based startup founders. If we keep our companies headquartered in Saskatchewan, we will not have effective access to the Bay Area’s talent pool. It isn’t that Saskatchewan startups are bad, just that there’s a crippling financial disconnect involved in paying Bay Area salaries at Saskatchewan valuations.

Continue reading “Excellent article on recruiting programmers”

Two questions for all content marketers

If your website (or client’s website) went seriously viral, could it stay up? Would it still be fast?

If the answer is ‘yes’, that is great news. You and your brand are in a good position to capitalize on going viral. Your site will likely stay up and you’ll give first time visitors a great first impression.

If your answer is ‘no’, you have some work to do. At minimum, I suggest that you find a good web developer with a background in ops and performance testing to take a look at your site and figure out how/why it goes down or gets incredibly slow. Beyond this, I can’t give you any specific advice because it depends on how/why your website goes down. In some cases, the culprit is clear but in other cases, the culprit is a number of small issues that all cascade into an outage.

Continue reading “Two questions for all content marketers”

A new theme

Last night at 9pm, I flipped the switch and launched a new version of This theme is brand new and built with some new ideas I had around WordPress themes so there are definitely some problems, but I’m quite happy with how this theme performs.

It is based off of Underscores which is still my favourite WordPress starter theme. But, I removed all the Underscores CSS/navigation.css and replaced it with Bootstrap 4. At first, I planned to use Understrap, but it’s a long story that I’ll either write about or do my best to forget.

Continue reading “A new theme”