Benabik
banner
benabik.bsky.social
Benabik
@benabik.bsky.social
Computer Scientist, Rubyist, Father, Ham Radio Operator. He/Him
Reposted by Benabik
ICE detain father shopping on Christmas Eve—then steal his family's groceries.

Then 3 agents divvy up his paid for food—taking what they want for themselves.

"Can I just get the wife's number to call and let her know?" woman asks.

"No, guess he should've complied," agent says.

Yakima, Washington
December 25, 2025 at 7:03 PM
Reposted by Benabik
I know one of you has to have a billionaire’s phone number, $1m to save one of the best fossil collections in the country is a bargain. www.nytimes.com/2025/12/19/s...
December 24, 2025 at 7:38 AM
Reposted by Benabik
A little Starbucks Christmas carol from our picket line!

We're still on ULP strike, and we're still asking customers to NOT BUY STARBUCKS (gift cards included!) until 100s of unfair labor practices are resolved.
December 25, 2025 at 9:47 PM
Reposted by Benabik
Package managers keep using git as a database, it never works out.

https://nesbitt.io/2025/12/24/package-managers-keep-using-git-as-a-database.html
Package managers keep using git as a database, it never works out
Using git as a database is a seductive idea. You get version history for free. Pull requests give you a review workflow. It’s distributed by design. GitHub will host it for free. Everyone already knows how to use it. Package managers keep falling for this. And it keeps not working out. ## Cargo The crates.io index started as a git repository. Every Cargo client cloned it. This worked fine when the registry was small, but the index kept growing. Users would see progress bars like “Resolving deltas: 74.01%, (64415/95919)” hanging for ages, the visible symptom of Cargo’s libgit2 library grinding through delta resolution on a repository with thousands of historic commits. The problem was worst in CI. Stateless environments would download the full index, use a tiny fraction of it, and throw it away. Every build, every time. RFC 2789 introduced a sparse HTTP protocol. Instead of cloning the whole index, Cargo now fetches files directly over HTTPS, downloading only the metadata for dependencies your project actually uses. (This is the “full index replication vs on-demand queries” tradeoff in action.) By April 2025, 99% of crates.io requests came from Cargo versions where sparse is the default. The git index still exists, still growing by thousands of commits per day, but most users never touch it. ## Homebrew GitHub explicitly asked Homebrew to stop using shallow clones. Updating them was “an extremely expensive operation” due to the tree layout and traffic of homebrew-core and homebrew-cask. Users were downloading 331MB just to unshallow homebrew-core. The .git folder approached 1GB on some machines. Every `brew update` meant waiting for git to grind through delta resolution. Homebrew 4.0.0 in February 2023 switched to JSON downloads for tap updates. The reasoning was blunt: “they are expensive to git fetch and git clone and GitHub would rather we didn’t do that… they are slow to git fetch and git clone and this provides a bad experience to end users.” Auto-updates now run every 24 hours instead of every 5 minutes, and they’re much faster because there’s no git fetch involved. ## CocoaPods CocoaPods is the package manager for iOS and macOS development. It hit the limits hard. The Specs repo grew to hundreds of thousands of podspecs across a deeply nested directory structure. Cloning took minutes. Updating took minutes. CI time vanished into git operations. GitHub imposed CPU rate limits. The culprit was shallow clones, which force GitHub’s servers to compute which objects the client already has. The team tried various band-aids: stopping auto-fetch on `pod install`, converting shallow clones to full clones, sharding the repository. The CocoaPods blog captured it well: “Git was invented at a time when ‘slow network’ and ‘no backups’ were legitimate design concerns. Running endless builds as part of continuous integration wasn’t commonplace.” CocoaPods 1.8 gave up on git entirely for most users. A CDN became the default, serving podspec files directly over HTTP. The migration saved users about a gigabyte of disk space and made `pod install` nearly instant for new setups. ## Go modules Grab’s engineering team went from 18 minutes for `go get` to 12 seconds after deploying a module proxy. That’s not a typo. Eighteen minutes down to twelve seconds. The problem was that `go get` needed to fetch each dependency’s source code just to read its go.mod file and resolve transitive dependencies. Cloning entire repositories to get a single file. Go had security concerns too. The original design wanted to remove version control tools entirely because “these fragment the ecosystem: packages developed using Bazaar or Fossil, for example, are effectively unavailable to users who cannot or choose not to install these tools.” Beyond fragmentation, the Go team worried about security bugs in version control systems becoming security bugs in `go get`. You’re not just importing code; you’re importing the attack surface of every VCS tool on the developer’s machine. GOPROXY became the default in Go 1.13. The proxy serves source archives and go.mod files independently over HTTP. Go also introduced a checksum database (sumdb) that records cryptographic hashes of module contents. This protects against force pushes silently changing tagged releases, and ensures modules remain available even if the original repository is deleted. ## Beyond package managers The same pattern shows up wherever developers try to use git as a database. Git-based wikis like Gollum (used by GitHub and GitLab) become “somewhat too slow to be usable” at scale. Browsing directory structure takes seconds per click. Loading pages takes longer. GitLab plans to move away from Gollum entirely. Git-based CMS platforms like Decap hit GitHub’s API rate limits. A Decap project on GitHub scales to about 10,000 entries if you have a lot of collection relations. A new user with an empty cache makes a request per entry to populate it, burning through the 5,000 request limit quickly. If your site has lots of content or updates frequently, use a database instead. Even GitOps tools that embrace git as a source of truth have to work around its limitations. ArgoCD’s repo server can run out of disk space cloning repositories. A single commit invalidates the cache for all applications in that repo. Large monorepos need special scaling considerations. ## The pattern The hosting problems are symptoms. The underlying issue is that git inherits filesystem limitations, and filesystems make terrible databases. **Directory limits.** Directories with too many files become slow. CocoaPods had 16,000 pod directories in a single Specs folder, requiring huge tree objects and expensive computation. Their fix was hash-based sharding: split directories by the first few characters of a hashed name, so no single directory has too many entries. Git itself does this internally with its objects folder, splitting into 256 subdirectories. You’re reinventing B-trees, badly. **Case sensitivity.** Git is case-sensitive, but macOS and Windows filesystems typically aren’t. Check out a repo containing both `File.txt` and `file.txt` on Windows, and the second overwrites the first. Azure DevOps had to add server-side enforcement to block pushes with case-conflicting paths. **Path length limits.** Windows restricts paths to 260 characters, a constraint dating back to DOS. Git supports longer paths, but Git for Windows inherits the OS limitation. This is painful with deeply nested node_modules directories, where `git status` fails with “Filename too long” errors. **Missing database features.** Databases have CHECK constraints and UNIQUE constraints; git has nothing, so every package manager builds its own validation layer. Databases have locking; git doesn’t. Databases have indexes for queries like “all packages depending on X”; with git you either traverse every file or build your own index. Databases have migrations for schema changes; git has “rewrite history and force everyone to re-clone.” The progression is predictable. Start with a flat directory of files. Hit filesystem limits. Implement sharding. Hit cross-platform issues. Build server-side enforcement. Build custom indexes. Eventually give up and use HTTP or an actual database. You’ve built a worse version of what databases already provide, spread across git hooks, CI pipelines, and bespoke tooling. None of this means git is bad. Git excels at what it was designed for: distributed collaboration on source code, with branching, merging, and offline work. The problem is using it for something else entirely. Package registries need fast point queries for metadata. Git gives you a full-document sync protocol when you need a key-value lookup. If you’re building a package manager and git-as-index seems appealing, look at Cargo, Homebrew, CocoaPods, Go. They all had to build workarounds as they grew, causing pain for users and maintainers. The pull request workflow is nice. The version history is nice. You will hit the same walls they did.
nesbitt.io
December 24, 2025 at 4:49 PM
Reposted by Benabik
I logged in long enough to check out the feature, and it's bad. Any post with an image has an "EDIT IMAGE" button, and you can type prompts in to have (I assume) the genAI do stuff to the image for you.

Is it too much to assume that prompts like "remove all the clothing" are blocked? Probably.
For further context twitter added a button that allows users to generate ai images using existing art posts from artists. It removes glaze and it basically reskins the artwork by using the existing work as a base. Twitter is no longer a safe space for art
December 25, 2025 at 6:21 PM
Reposted by Benabik
Here's a particularly juicy nugget I found in my reporting . . .
December 24, 2025 at 3:22 PM
Reposted by Benabik
December 23, 2025 at 3:56 AM
Reposted by Benabik
Having to watch a bootlegged copy of a video from another country because my country censored it is making me feel as if I'm living in 1980s Eastern Germany.
December 23, 2025 at 7:29 PM
Reposted by Benabik
Perform empathy. Please. Perform the fuck out of it. It's so good to act with kindness. I hope it penetrates to a place where you feel it, too, but if you must act some way, act the right way. I'm not here to judge your authenticity, I just want you to be kind, thoughtful, and mortified by meanness.
December 22, 2025 at 8:38 PM
Reposted by Benabik
CBS paid the president of the United States millions in bribe money and now they censor news reports so it does not annoy him. I don’t know how much plainer we can put this.
December 22, 2025 at 12:14 PM
Reposted by Benabik
Found the actual men in women's bathrooms assaulting women.
ICE agents illegally break into a woman's bathroom in a NY nutrition bar manufacturing plant. "Pull up your pants," says a male agent. The agents only had a warrant to review employer documents. They didn't have a warrant to search for, detain, or arrest anyone there.
December 22, 2025 at 8:10 PM
Reposted by Benabik
really cannot be emphasized enough that bari weiss has literally never done journalism. i don’t mean that in the pejorative sense. i mean that in the “has never performed the job she was hired to do” sense
One explanation for Bari killing the story is that she did so as a public act of fealty to the administration. But another is that, as an inexperienced journalist, she doesn’t understand that a refusal to go on the record is a kind of comment in and of itself
December 22, 2025 at 2:19 PM
Reposted by Benabik
Now seems like a swell time to point out that Frontline just released this excellent 11-minute mini-documentary about what happened inside CECOT.
Surviving CECOT (full documentary) | Deported to a Maximum-Security Prison | FRONTLINE + ProPublica
YouTube video by FRONTLINE PBS | Official
m.youtube.com
December 21, 2025 at 10:26 PM
Reposted by Benabik
Again, from Michael Grynbaum, here is Sharyn Alfonsi's full email.

It must be read:
December 22, 2025 at 4:00 AM
Reposted by Benabik
Why decline all these chances to defend feminism? Because to participate would be accepting the premise that our rights and humanity are up for debate in the first place.

Once you’ve conceded that it’s reasonable to ask whether women’s equality was a mistake, you’ve already lost.
December 20, 2025 at 11:00 PM
Reposted by Benabik
Bank of America first started offering credit cards to women in 1974
"Has feminism failed women brought to you by bank of america" is my MKULTRA sleeper agent activation phrase
December 20, 2025 at 3:43 AM
Reposted by Benabik
I cannot state any more baldly or clearly than I already have about what an immense menace RFK Jr. is. The number of preventable illnesses and deaths - of *babies* - will be horrific. This anti-vax crap is grotesque anti-science, and always has been.
Congratulations to everyone who wrote an op-ed about how he just wants americans to eat better
BREAKING: RFKJr directs that the US instantly stop recommending all vaccinations for children. www.washingtonpost.com/health/2025/...
December 20, 2025 at 1:55 AM
Reposted by Benabik
This is a great article by my pal and former American Meteorological Society president Marshall Shepherd. I was not aware of some of these, and shows just how this current regime is destroying the things that really do make our country great.
I've mostly been talking about the Trump regime's plan to dismantle NCAR, but you might be asking yourself, wtf is NCAR and why should I care? @drshepherd2013.bsky.social has got you covered here.

www.forbes.com/sites/marsha...
December 19, 2025 at 1:07 PM
Reposted by Benabik
Yes, it’s illegal. Like changing it to Department of War, like ten thousand other things. Part of the Trump strategy is to break the law and convey “the rule of law is weak and feminine and laughable and should be overridden by Our Guy.” Trump is fundamentally anti-law.
/1
December 19, 2025 at 5:04 PM
Reposted by Benabik
The Kennedy Center name is established by federal statute, and therefore may be repealed only by federal statute. www.law.cornell.edu/uscode/text/...
December 18, 2025 at 6:24 PM
Reposted by Benabik
The Vanity Fair photographer from the Susie Wiles story.

Holy. Shit.

www.washingtonpost.com/style/power/...
December 17, 2025 at 8:34 PM
Reposted by Benabik
I don't know, Aaron. I think we need to take this seriously. In fact, after surveying hundreds of years of history in the past few days, I've written an article assessing the originalist case here:
papers.ssrn.com/sol3/papers....
December 16, 2025 at 3:58 AM
Reposted by Benabik
Rob Reiner: “Silence in the face of authoritarianism is complicity. Speaking out is a patriotic act. Democracy doesn’t defend itself. It requires participation, vigilance, and courage from ordinary people."
December 15, 2025 at 1:41 PM
Reposted by Benabik
Trying to get people to go back to Twitter is so fucking funny
December 15, 2025 at 6:51 PM