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”

A different kind of wake up

Edit – I received some feedback in a comment that indicated some problems with my routine. So, I did some reading and have decided to change my routine. I have updated the article accordingly.

When I was young, I used to be able to get away with whatever I threw at my body. Write code for 16 hours off of two hours of sleep? No problem. Spend a week living off of pizza pops and coffee? Sign me up…

Then, I turned 35 and everything went to hell. By day 3 of the Pizza Pops and coffee diet, I could qualify for Red Cross emergency aid. All of a sudden, my routine started to get important.

Continue reading “A different kind of wake up”

Return on investment and on-brand search ads

Before you start any kind of online advertising, you need to do some preliminary work. You need to figure out how you will define a conversion, how much revenue (or profit) you will assign to that conversion and use those numbers to build a return on investment equation. When you start tracking return on investment, it’s important to point sales back to the medium that actually brought them in. This can get a little tricky.

If your company invests in Google Ads, there’s a good chance that you run campaigns on your brand. Consider this example where the Google query “google ads” shows an ad for Google Ads’ official site:

Continue reading “Return on investment and on-brand search ads”

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 Locust.io, 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”

Apple Replay – 2019 (Lauren’s List)

I just wrote a short article on my 2019 Apple Music Replay playlist and some of the stats on my music listening they exposed. Writing that got me thinking about my three year old, her relationship with music and our family’s relationship with devices.

Lauren is three so I don’t let her have devices. That’s not completely true – when she’s at my Mom’s she plays on Granny’s iPad, she uses my laptop when she Skypes with my Dad, and she gets to use my phone when I have to take her to a business meeting. Outside of those special times, she doesn’t get to touch devices.

At some point, that will have to change. Heck, some of her daycare friends already talk about their iPads and Lauren wants one too. She lives in a hyper-connected world and I’m a hyper-connected Dad, so she will want to be hyper-connected too. But honestly, I love the innocence of three and feel like a device will be the end of that, so I’m more resistant than I ever dreamed I would be.

Continue reading “Apple Replay – 2019 (Lauren’s List)”

Apple Replay – 2019

It’s the end of December and I’m starting to reflect on a full year of listening to music. I listen to music a lot – Apple Music remains one of the best purchases that I make because I get thousands of hours of entertainment for a very small amount of money. I make a point of listening to as many new releases as I can, but I also keep going back to the same basic artists. Here is my look at my 2019 Replay list:

Continue reading “Apple Replay – 2019”

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”