Reading List: September 3 - 23
Life's been busy lately and I didn't get around to posting my weekly reading the last 2 weeks. I'ms starting back up with a slightly new format. I'm going to have a few links that I go into more depth with my thoughts on and then follow it up with the normal link list.
This all came to a head at the beginning of the month when Cloudflare stopped providing services for Kiwi Farms so it's probably several news cycles behind us at this point. I wanted to share this because it's important to think about how difficult content moderation actually is.
The biggest issue with targeting infrastructure providers is that — generally speaking — they don't have any nuance on their side when it comes to remedies. They pull their services, and an entire site breaks. It does not allow for the more narrow targeting of specific content. It's very much a nuclear option.
I think this is kind of the key point when thinking about content moderation at the infrastructure-level. When looking at services like Twitter and Facebook, if they want to kick someone off their platform, users can just go to a different service, or start their own like Trump did with Truth Social, cesspool it might be. There are even open source solutions like Mastodon that would allow someone to quickly setup their own Twitter clone.
When going after the infrastructure-level, it's a lot harder to start your own infrastructure platform like Cloudflare.
I'm not saying this to defend Kiwi Farms. That site was fucking awful and the world is better with it offline. But like Mike Masnick talks about, it get's messy.
When we're talking about taking down entire sites because some content on them is objectionable, even to a horrifying level, things get really messy, really fast.
Who determines what is "good" content, and what is "bad" content. It gets complicated and I'm still not convinced there's a good answer. It's often very nuanced and there really isn't a one-size-fits-all answer. It just gets a little more dangerous the farther up the tech stack you go.
Mike Masnick continues to go over the issues at stake here.
The fire department analogy also got me thinking, because it kind of highlights how much of the anger directed at Cloudflare is similarly misplaced. The anger is basically saying “you need to remove your protection, so that we can burn Kiwi Farms down.” But, the larger question remains unaddressed: why does Kiwi Farms exist in the first place, and why is it left to Cloudflare to determine whether or not the public should be able to burn it down?
And this is the crux of the issue. We in America are blessed with the First Amendment. The government is not allowed to restrict what people can and can't say. Private companies, however, through the same first amendment are allowed to determine what can and can’t be said on their platforms.
One final note, I do appreciate the response from Cloudflare. They too recognize how much power they hold at the infrastructure level and don't take their responsibility lightly. You should read their statement on their policies and their approach to all of this. They talk a great deal about how they handle sites and services that use their platform.
Joël Quenneville: Working Iteratively
I thought this was a good article looking at how we as developers can improve how we write code.
Before even getting into code, try to break your features into smaller chunks. What’s the smallest incremental amount of value you can ship to customers? This allows you to ship and get feedback faster while also giving you more flexibility to pause and shift focus to other priorities.
This is definitely something I’ve done more of as I have grown as a software developer. In my early days I was very much just of the mind to “start writing code” and see where things go. Nowadays, both at work and on side projects, I try to slow things down and break up tasks into smaller chunks.
Ironically, by slowing things down up front, I’ve found it ends up speeding things up down the line while doing the actual development.
👨🏼💻 Software Development
Any() vs Count() in .NET: Which One is Better? (Marko Hrnčić)
Edge's Super-Res Image Enhancement (Eric Lawrence)
When to refactor (Mark Seemann)
Why the Number Input is the Worst Input (Jared Toporek)
I have complicated feelings about TDD (Hillel Wayne)
📈 Business and Finance
💰 From Boom to Gloom: Tech Recruiters Struggle to Find Work (New York Times)