The IBM-ification of Google?
Source: Hacker News
Google is Shattering Under Its Own Weight (The IBM‑ification of Google?)
21 May 2026
I used to think Google owning the full vertical stack was a masterstroke. Like TSMC silicon, TPUs, their own data centers, proprietary models, search engine – who else has that? Nobody. I thought it was an unbeatable fortress.
I was dead wrong.
The GCP Account Ban Situation
A literally billion‑dollar startup running on Google Cloud had its account randomly deleted. Zero warning. No phone number to call. No account rep. Poof. Gone. It’s actual insanity to me. A billion‑dollar customer gets the exact same automated middle finger as a low‑effort spam bot. Your B2B business is completely cooked if that’s how you treat people. The enterprise cloud gravy train is right there, and Google is standing on the tracks begging to get hit by the train.
B2C & Indie Developers
You can literally get better, faster hosting for way less money on Hetzner, OVH, or a dozen other places. GCP is stuck in this weird, dead middle ground where big enterprises don’t trust them because of random automated bans, and regular people find them way too pricey and complicated. So what’s even the point?
A Graveyard of Abandoned Products
Google kills literally everything: Reader, Hangouts, Stadia, Inbox, Plus. The graveyard is massive. When they announce something new now, nobody gets excited anymore. Everyone just starts a countdown timer for the funeral announcement. You cannot build trust with users when you act like a serial killer of your own software applications.
Search Is Becoming Unusable
They built an entire empire off our content – bloggers, old forums, niche sites. We made the web worth searching in the first place. Now their AI Overviews just scrape our exact answers, strip out the hyperlinks, and repackage them in a blue box without linking back. They moved into our house, ate all our food, and won’t even introduce us to their friends. That is the exact vibe.
YouTube’s Self‑Destruction
Everyone hates the demonetization stuff, but the low‑effort AI‑generated content is what really kills it for me. YouTube got massive because it had real creators, supply and demand, a real marketplace. If you keep kicking out the actual suppliers and replacing them with low‑effort garbage, literally anyone can host that garbage. The moat completely disappears. TikTok already proved this.
Android’s Betrayal
I was a hardcore Android fan because it felt open: sideloading, choice, freedom. Now reCAPTCHA demands a real phone number, sideloading gets harder every year, and Google is basically building a worse version of iOS with terrible vibes. And G Suite? They literally broke the UI scrollbar on purpose so you cannot find the unsubscribe button. It’s a predatory move when you think about it, and it feels like a choice rather than a bug.
The IBM Parallel
People said IBM was “too big to fail.” It wasn’t; it just became completely irrelevant slowly, then all at once. Google feels exactly like that right now. The fun indie‑engineering energy is totally gone. What’s left feels corporate, desperate, and kind of sad.
Eric Schmidt got booed on stage recently. The guy who basically was Google for a decade. When your own alumni get heckled by the crowd, your brand isn’t just damaged – it’s toxic. That toxicity doesn’t show up on quarterly earnings yet, but it hollows you out from the inside. Word‑of‑mouth dies. The cult following evaporates. You become a giant shell that still moves money around, but nobody actually cares.
Apple’s Smarter Play
If you have nothing good to invest in, just buy back your own stock. Play it safe. Listen to what people actually want (like cheap MacBooks that don’t sound like jet engines). It’s incredibly boring, but it doesn’t make your entire user base actively hate you.
Google just chased every single shiny object: AI search with sponsored slots, etc. Linus called that out. They are squeezing the last tiny drops of juice from a tired lemon while their actual core products rot out in the sun.
Final Thoughts
I don’t know if they are falling up or down. Maybe the ad‑monopoly money keeps them propped up forever. Maybe not. Owning the whole stack only matters if you can still build something people actually want to use. Right now Google builds things like a digital slumlord – functional, extractive, cold. The vertical monopoly was supposed to be their ultimate superpower; instead it is just dead weight, and they are cracking under it.
Anyways, this has been a massive source of frustration to me because I used to really like Google… but “don’t be evil” feels like a distant memory now.
const $upvoteButton = document.querySelector('.upvote-button');
const $upvoteCount = document.querySelector('.upvote-count');
fetch('/upvote-info/wcwxcdgXoAiGHNQECnqZ/')
.then(response => response.json())
.then(data => {
$upvoteCount.innerText = data.upvote_count;
if (data.upvoted) {
$upvoteButton.disabled = true;
$upvoteButton.style.color = "salmon";
$upvoteButton.ariaLabel = "Toasted";
$upvoteButton.title = "Toasted";
}
$upvoteButton.ariaLabel += ` (${data.upvote_count})`;
});
let moved = false;
let pageLoaded = Date.now();
document.addEventListener('touchmove', () => moved = true);
document.addEventListener('mousemove', () => moved = true);
document.querySelector('#upvote-form').addEventListener('submit', (e) => {
e.preventDefault();
if (moved) {
// ... (rest of the logic)
}
});
Here is the cleaned‑up markdown version of the snippet. The original structure and content have been preserved, with minor formatting fixes and the incomplete line commented out for clarity.
// Reset the title input field
document.querySelector('input[name="title"]').value = "";
// The following line was incomplete in the original source – it has been commented out
// if (Date.now() - pageLoaded ...
// Register event listeners once the page has fully loaded
window.addEventListener("load", () => {
// Skip tracking when the browser is being driven by automation (e.g., Selenium)
if (navigator.webdriver !== true) {
// Helper to send a hit with a given score
const sendHit = score => {
const params = new URLSearchParams({
blog: "zeroshot",
token: "wcwxcdgXoAiGHNQECnqZ",
// Only include the referrer if it isn’t the same site
referrer: document.referrer.includes("zeroshot.bearblog.dev")
? ""
: document.referrer,
title: "",
score: score
});
// Fire‑and‑forget image request to log the hit
new Image().src = `/hit/?${params.toString()}`;
};
// Record a hit the first time the user interacts via touch or mouse movement
document.addEventListener('touchmove', () => sendHit(100), { once: true });
document.addEventListener('mousemove', () => sendHit(100), { once: true });
}
});