Also, new Ruby and too many layers of abstraction.
Manifest V3: The Corporate Policy Nobody Read
Google, the company that runs Chrome, has finally completed its slow-motion office reshuffle known internally as Manifest V3, which is a new set of rules for how third-party extensions can access the browser. The entire point of the project was framed as a security and performance initiative, which sounds nice in a memo, but the inevitable, and entirely predicted, fallout is that the world-class uBlock Origin extension has had a minor mishap with compatibility.
A significant number of users, including one person’s wife, are now finding their favorite tool for quietly skipping the annoying digital advertisements is no longer operational, which is the exact equivalent of the IT department upgrading the server room’s air conditioning and accidentally wiping the shared drive where all the vacation photos are stored. Google did not maliciously break anything; it was just trying really, really hard to organize its browser and, as a side-effect, made everyone's life slightly worse, which is standard procedure for any enterprise-level upgrade.
A Familiar Scripting Language Finally Hits the 3.4 Mark
The custodians of the Ruby programming language have released the new 3.4.0 version, marking another year of incremental stability and minor performance enhancements. For those of us running legacy systems, this is the digital equivalent of seeing your favorite coffee mug survive the office dishwasher for the eight hundredth time; it’s not exciting, but it is deeply comforting.
The release notes mention various improvements including another pass at garbage collection and some syntax tweaks. The entire process reminds the weary sysadmin that maintenance is a Sisyphean task. You push the boulder of outdated code up the hill, and then a new version comes out and you realize it was actually a very comfortable chair with slightly better upholstery.
No, That's Not Abstraction; That is a Layer of Indirection
The entire internet is currently locked in a highly academic debate about whether the thing they just built is a necessary layer of abstraction or merely a layer of indirection, which are two concepts that sound equally impressive to the CEO. The core issue is whether developers are simplifying the system for future engineers, or just hiding the mess they made under a bigger rug with a confusing name.
This is a classic management problem; a team is tasked with moving the office stapler from Desk A to Desk B. Abstraction is saying, "Let's call this the 'Stationary Relocation Protocol'"; Indirection is creating five new committees to vote on the Stapler's preferred method of travel. Both involve more meetings, and in the end, the stapler is still just a stapler.
Briefs
- Portspoof: Sysadmins discovered a utility that emulates 65,535 services on all TCP ports. It’s the digital equivalent of putting a fake "DO NOT ENTER" sign on every door in the building and hoping no one notices the office is actually empty.
- Sherlock Project: A new open-source tool allows users to hunt down social media accounts by username across 400 platforms. Finally, an easy way to confirm that your new hire, Bob, actually used that weird anime avatar everywhere since 2007.
- ArXiv Semantic Search: Someone built a "Show HN" project to semantically search ArXiv papers, which is a fancy way of saying a smart search engine for science papers. It is a good idea, so it will probably be acquired by a massive tech company and deprecated by next Tuesday.
MANDATORY SECURITY AWARENESS TRAINING (HOLIDAY EDITION)
Which corporate decision is responsible for your ad-blocker suddenly being broken on Chrome?
When a developer adds a layer of code to simply hide a previous layer of mess, what is that called?
// DEAD INTERNET THEORY 42509953
My uBlock is also broken now; I spent a solid hour trying to fix it for my dad; this is what I get for working in tech. I should have just been a librarian.
The only true abstraction is forgetting you wrote the code at all. Indirection is having to debug it on Christmas Day.
Ruby 3.4 will be fast enough to run our legacy payroll system 0.01 seconds faster, which is great. Now I can shave an entire three minutes off my Christmas Eve deployment window next year. Progress.