This Week in Programming: The Intriguing Tale of Parler’s Demise
If you’ve spent any time on the internet in the past week, you’ve likely read all about the “great deplatforming,” as some have referred to it. Following the events of Jan. 6, President Donald Trump was removed from a number of social networks and platforms, including Facebook, Twitter, YouTube, Snapchat, and more — the list goes on. At the same time, there remained one network, Parler, that, having dubbed itself a “neutral town square that just adheres to the law,” would remain a viable location for the president to move his online presence. Last weekend, that option was taken away, as both Google and Apple removed the app from their respective app stores and Amazon pulled the rug out from under the company by setting a deadline for it to right its ways — and remove certain content and impose restrictions — or lose its hosting on its services.
What happened next showcases a service and a sequence of events that will likely serve as a what-not-to-do for years to come. On the infrastructure side of things, the company’s CEO provided a statement that left many in the field baffled as to how the company would quickly rebuild, instead illustrating how not to create a resilient service.
as an infrastructure engineer, I have questions https://t.co/0CULZFAFIa
— Ian Coldwater 📦💥 (@IanColdwater) January 10, 2021
Now a week out, the site is still completely offline and said to be done for good, but infrastructure aside, what happened right before Amazon pulled the plug is a tale worth reading, and re-reading, if not solely for the schadenfreude, then for the story of how the service was completely owned by an army of hackers that didn’t even need to try all that hard.
All this is to say, if you read nothing else this week, then I urge you to head on over to Vice to read the full story of the hacker who archived Parler and explains how she did it, and then over to Wired for a quick explanation of the absurdly basic bug that let anyone grab all of Parler’s data.
Long story short, Parler indexed all of its posts, which were available via a public API without any rate-limiting, in numerical order according to when they were posted. This meant that the hacker who led the effort, who goes by donk_enby on Twitter, was able to write a script and coordinate others to preserve 56.7 terabytes of public data from the service, which comprised “every public post on Parler, 412 million files in all — including 150 million photos and more than 1 million videos,” all of which contained metadata such as GPS location and timestamps.
Should have had a multi cloud hybrid strategy y’all
— Shamanlamadingdong (@jessenoller) January 10, 2021
This Week in Programming
- Go Proposes Generics… Again: It isn’t the first, but will hopefully be the last, time that the Go team writes up a proposal for adding generics to Go. Long under debate by the language design team, the latest Go language change proposal looks to add support for type parameters for types and functions, permitting a form of generic programming. The language has been here before, proposing the change, but has run into objections and obstacles. As they write, “Since Go was first released in 2009, support for generics has been one of the most commonly requested language features. […] Although generics have clear use cases, fitting them cleanly into a language like Go is a difficult task. One of the first (flawed) attempts to add generics to Go dates back all the way to 2010. There have been several others over the last decade.” This latest proposal hopes to have learned from these past mistakes and the team is now inviting “substantive criticisms and comments.” If accepted, the plan is to have “a complete, though perhaps not fully optimized, implementation for people to try by the end of the year, perhaps as part of the Go 1.18 betas.”
- DigitalOcean Adds BYO Container Images: Expanding upon its recently released App Platform, Digital Ocean has introduced a bring your own container image workflow. The new workflow allows users to go beyond the many supported languages and frameworks without having to provide the Dockerfile in your repo. Instead, App Platform now lets you deploy pre-built container images with App Platform after you push the image to the DigitalOcean Container Registry (DOCR).
- Go Tool GTA Goes Open Source: Sticking with DigitialOcean for a moment, the company has also open sourced a tool it created to help detect affected dependent Go packages. The tool, referred to as gta, is used to understand the downstream dependencies of Go packages that are changed in pull requests by comparing “the current branch with its merge base of the destination branch to determine what’s been changed in the branch. It then calculates all dependencies of those changes and outputs the import paths of all the affected packages.” The company says that it was “able to dramatically reduce the time required to build and test a pull request while still ensuring complete analysis and testing” and speeding up their mono repo builds from 20 minutes to two to three minutes on average. Now available under the Apache 2.0 license, gta works with code stored in git, and DigitalOcean notes that the code must be structured “efficiently” for it to work best.
I wish you well on your cloud native, multi-cloud, digital transformation as you DevOps your culture while taking a hacksaw to your monoliths.
— Kelsey Hightower (@kelseyhightower) January 9, 2021
oh: it’s server-less, not server-gone
— Alex Ellis (@alexellisuk) January 13, 2021