Hitting Weird Performance Issues
Back on October 26th I wrote about an edge performance issue I hit with the Chess analysis product I rolled out ↗.
It turned out to be an issue with Zig’s re-implementation of some standard library string functions, which manifested in a quadratic time slowdown in some scenarios. It hit my project indirectly through SQLite code, and could easily have become one of those “well guess we just need to scale out…just look at all of our CPU usage!” problems1, but something smelled wrong. So I dug deeper.
I intended no disrespect towards Zig, or anyone else for that matter. These things happen. They happen in all projects, by all developers. Which is precisely why I wrote about it, because it’s one of those edges that can sneak up on you.
I would wager that countless deployed projects are using magnitudes the computing power they should need because of issues like this subtly slowing everything down.
Hitting the Big Time
Anyhoo, this post trended on Reddit yesterday. I realized it was trending when I got two Stripe purchase notification from the Chess thing over a short period, where since launch it has done a small trickle2.
I’ve done zero advertising for that project3 so this legitimately was a surprise, and I was curious where people were coming from.
I pulled up the Cloudflare dashboard4 and this blog was getting about 3200 unique visitors per hour, and some percentage of those people trickled through to the Chess thing, where a significantly smaller number still are the target audience for that product and actually bought report credits.
All in I grossed $23 CAD in purchases yesterday, or about $21.43 CAD after Stripe fees.
Nice! No, seriously, it pays off the domain registry for 2 years, so that is legitimately satisfying. I’m not living off this product5, and it’s just a fun side adventure where I scratched my own itch and thought it might be useful for others as well.
But it certainly wasn’t the intention of the piece to sell reports. I legitimately thought the topic was interesting to my general audience, which largely is software developers and people generally in the field. And I really, really hope that the people who do buy reports on their play find it legitimately useful if not even entertaining to read6. It is important to me that they find it worth their money.
On Blog Spam
I looked through the comments on the Reddit post, and most were fantastic. But I always need to search out the negative, and right near the bottom I found the gruel that I was looking for.
“I didn’t know Blog Spam was still a thing in 2026”, the comment opines.
I should note that this comment was highly downvoted, and a moderator specifically dismissed the complaint as not only inaccurate, but toxic for the community. The system works.
But it still left me a bit irritated.
Blog spam?
On Identity And The Benefits of Blogging
I have this domain under my own name, and if you share a post that doesn’t have its own graphic, the open graph sharing image is just my name and the title of the blog generally. I mean, what else is it going to be?
This rubs some people the wrong way. It makes some people angry.
That subset see it as self-promotion, and they get absolutely furious. It seems like someone is trying to climb out of the bucket, and it’s your duty to claw them back down. To put them in their place.
I’ve “blogged” in various forms since the 1990s, across a variety of domains and venues. I’ve had moments of “success” – if success is measured by a lot of hits – most significantly when I blogged about the DNS system and ended up being interviewed by the WSJ (back when it was a much better paper) and got cited by basically every big “blogger” at the time.
I’ve had viral posts about micropayments, metadata cleaning of images, and various other topics. I’ve had viral posts about C#, Python, and C++.
I’ve had many millions of unique readers over the years, across a variety of domains, services and topics.
I’m not new to this.
I ran ads for a brief period very early on, including affiliate Amazon links, but both felt so absolutely scummy that I couldn’t continue and removed them.
I have no analytics on this page at all7. No social links or Facebook, LinkedIn or other embeds.
I’ve spent countless hours authoring various pieces, and the net return both financially, directly or indirectly, is utterly negligible.
My business is providing solutions to businesses, generally, and I can think of one single client over my decades doing this that I earned through blogging, and even that was nothing relative to my portfolio and expertise. Meaning at best it was a “lead”, and it was still a monumental task getting them to ever part with a dollar.
Every other client won was through word of mouth, direct meetings and communications, and so on. Classic, traditional business. Blogging is an absolute garbage way of achieving success in this business. It is an extremely low return activity.
Having my name in the domain and second-order outputs from that is not self-promotion. It was the laziest, easiest domain when I was splitting my writings from a business. It was the easiest possible domain, it was available, so I used it.
And the vast majority of people never notice, and they certainly don’t care. They see countless names every day, and it’s all just a blur. No one is getting the big identity pulse that’s going to make them a player. That mega viral post you saw yesterday is irrelevant today, and in many cases it’s doubtful you’ll ever see anything by that author ever again. The vast majority of people are never going to bookmark or subscribe, because social news sites means that many of us assume that if there is a good piece in the future, it’ll hit them through sites like Hacker News or Reddit.
That’s just how it works, and it’s how it has worked for many years.
The return on investment is infinitely deep in the negatives if “spamming” was my goal.
So Why Do It, Then?
It’s cathartic. I enjoy writing, even if I do so poorly most of the time.
I also use writing to work through and hone thoughts, and I’ve chosen directions in technology and career based upon pieces that I wrote for “blogging”.
Spamming? Give me a break. I cannot fathom what sort of miserable twat someone is to levy such a complaint. It’s the sort of toxic rhetoric that leads to a community becoming a silent cesspool as a group’s members become their own worst enemy (in the words of Shirky), angrily shit testing everything and demonstrating that their cynical malaise is more refined than others. Thankfully the mods on the reddit sub shut it down.
Footnotes
-
I have been brought into many projects over the years and decades where the product is deployed across an army of computers, and it turns out 95%+ of performance was dedicated to poorly chosen algorithms, missing indexes, or edge issues like the quadratic function mentioned above. Enormous sums were spent on compute that went to inefficiency. ↩
-
I only announced it on here thus far, a relatively fringe blog where I don’t in any way target the chess audience. I actually plan on a variety of online service products so this was basically just a beachhead thing to get a feel for it.
My whole career has been making software and solutions for businesses, so this was all new to me. ↩
-
Still haven’t really looked into the advertising options available. ↩
-
I don’t normally worry about these sorts of metrics, and do effectively nothing to advertise my domains. But this seemed odd so I had to know the cause. ↩
-
There is no scenario where it is a legitimate money-maker. Even right now it exists using servers that I have for other projects and business products, so it’s basically getting a free-ride, outside of the normal things like domain registries. ↩
-
When you’re stepping through one of your chess games, try out the “explore” button to see how different choices would impact the game. You can step back to your actual move procession at any time. ↩
-
Meaning embedded analytics, though I do use Cloudflare and it of course sees all traffic that traverses through. ↩
See Also
- Shlemiel the Painter Is Back: How Zig’s libc Rewrite Made SQLite 12,000× Slower
Patterns reappear. Rust, sqlite, and Zig