Perhaps we’re all tired of dunking on parler, but just in case you’re not, I did some investigation this evening.
tl;dr: technical clown shoes.
🧵
Their CTO is a person named Alexander Blair, whose career (according to his LinkedIn) has been mostly sys admin and DevOps jobs. His job history goes back to 2008. linkedin.com/in/alexander-b…
On the surface, Blair is not an unreasonable CTO choice for a small startup thinking they’re going to have backend scaling issues.
(Interestingly, there’s another person on LinkedIn with CTO of parler in his headline - cofounder Jared Thomson. On parler itself Thomson calls himself “cofounder & lead developer”, so perhaps Blair was brought in to be the adult once parler got going. Speculation on my part.)
ANYWAY! On parler itself, Blair gives us a little more info about what he’s into. He identifies himself with that most serious of technical groups - the blockchain enthusiasts. 😖
But whatever - everyone has their flaws. And in all seriousness, parler needs an infrastructure architect. They need people who know about things like, oh...how databases work. And stuff.
Cut to five months ago. Parler has a significant outage - significant enough that it’s called out individually in this article about how parler’s performance is struggling. medium.com/digital-diplom…
This is due to their own success. A few months prior, Twitter had started labeling some of Trumps tweets, and parler started pushing their service as an alternative. They used the unfortunate hashtag #twexit.
Blair comes on to parler to explain the outage. Here’s where the clown shoes start being apparent. I’ll let him tell it in his own words...
Perhaps this isn’t quite obvious enough. Here’s a followup comment he made:
Does that number 2.1 billion seem familiar at all?
If you’ve worked with enough relational data, you’ll recognize it as the limit of an integer auto-increment primary key.
In other words, if you make a table in a database with an integer primary key, you can only put 2.1 billion records in it.
I remember when this happened to the tweets table at Twitter. It was identified and planned for months ahead of time.
So just to be clear here:
1) their primary data store is relational 2) they put integer PKs on everything 3) they didn’t realize that the PKs limited the size of the tables 4) when it fell over, only one person could fix it - Blair - and he was asleep.
ALL FOUR of these are total clown shoes for a social network - even a small one.
And especially for a CTO who’s an infrastructure specialist. I mean, COME ON.
A social network that depends on a relational store is just...bananapants. Showing a feed is like a nine table join - people x posts x permissions x avatars x comments x likes x shares x (etc).
So there’s that, but if we’re being charitable, perhaps Blair inherited that decision from Thomson.
It still doesn’t excuse Blair’s total lack of awareness of how primary keys work. He called it “a limit we weren’t actively aware of.”
And then there’s the problem that ONLY Blair could fix this. Perhaps they’ve hired more backend folks since then, because if not, they have a -30% chance of ever reappearing on the internet.
I just find this whole thing ridiculous. And hilarious.
Don’t get me wrong - there was a point even several years into my career where I did not understand this nuance.
Fortunately, at no time when I was so ignorant was I a CTO
They might have done better with four ferrets in a trench coat. [fin]
• • •
Missing some Tweet in this thread? You can try to
force a refresh
As a veteran of several hurried rewrite projects, I can say with confidence that if parler is “rebuilding from scratch,” the SOONEST they’ll be back online is July.
My mode of software development is to just start trying things. But I love working with people who need to read all the docs first.
I used to think that was a waste of time & I wanted a whole team like me, but it turns out - my mode isn’t always the right way to go.
I also like to use boring, reliable technology. But I love working with people who are into the new hotness.
Because it turns out, boring & reliable isn’t always the right answer, and I need people pushing me to consider the new hotness - because sometimes they’re right.
My goal is to write more great software, and while you might SOMETIMES get great software from a team of people who all think like me, you will CONSISTENTLY get great software from a team of people who have a variety of approaches.
PSA: There is currently no way for web components to be accessible if you use the isolation feature (called “shadow dom”).
Isolate the label from the input field, for example, & you break all the assistive technology - which requires they be tied together with ids.
There will eventually be a plan for dealing with accessibility across web component isolation boundaries, but the discussion is in the early stages, and we’re not likely to see consensus for several years.
Until then, isolation via shadow dom is a nonstarter.
So when you see all this stuff about how using web components can isolate your changes and take the cascading out of the CSS - mentally add “in 2-3 years” to all the claims.
Part of the problem is that he’s a rich tech executive who is actively contributing to the income inequality that leads to these property crimes, yet instead of addressing that, all he does is demand MORE resources.
There’s a slide deck somewhere on some VC’s computer that is the “exploit gig workers handbook” - and it includes this move, because for awhile after you do it you still get higher-level work done for pennies because your workers trusted you & engaged with your platform.
They can’t all move off right away. So they protest, & maybe organize. You string them along with platitudes (“our shoppers are the reason we exist!”) to slow attrition. Meanwhile you onboard new, lower-quality, more desperate workers at the new rate as fast as you can.
When I was younger & often the only woman on a team, I found that the white men in my team could jump straight to “X is terrible” & have it cheerfully explained to them.
I & my PoC male coworkers, on the other hand, often got defensiveness & tone policing when we did that.
So even though it took me awhile, I still think I picked up this skill (because I had to!) before many of my white male colleagues did.