Live data from Hacker News

Defcon: Preventing overload with graceful feature degradation (2023)

micahlerner.com

91–100 of 107 posts

Re: Defcon: Preventing overload with graceful feature degradation (2023)

#91
post #87
post #82

Earlier quoted context omitted.

Because the HN crowd likes learning new things: if `enabled` is a nullable boolean in C# (i.e. has type `bool?`) then this check must indeed be written this way, to avoid confusing null with false.

I thought OP meant to imply that the readability could use some tweaking. You have 'disable', 'enabled' and 'False' used in the same expression so it requires some (more) thinking while reading it and trying to decipher what it's trying to do.

That is a more fundamental and better criticism that I'm embarrassed I overlooked.

Re: Defcon: Preventing overload with graceful feature degradation (2023)

#92

Earlier quoted context omitted.

This is the company that instead of ditching PHP created a full on PHP to C++ transpiler and then deployed their while site on that for a few years.

> deployed their while site ??

That's why it's so inefficient!

Re: Defcon: Preventing overload with graceful feature degradation (2023)

#93
post #17
post #7

Earlier quoted context omitted.

Those queries are probably mostly memcache hits, though of course with distributed cache invalidation and consistency fun

If it doesn't hit the database is it really a query?

Why wouldn't it be?

Re: Defcon: Preventing overload with graceful feature degradation (2023)

#94
post #86

One of the most satisfying feature degradation steps I did with FastComments was making it so that if the DB went offline completely, the app would still function: 1. It auto restarts all workers in the cluster in "maintenance mode". 2. A "maintenance mode" message shows on the homepage. 3. The top 100 pages by comment volume will still render their comment threads, as a job on each edge node recalculates and stores…

Sounds like you're just failing over to a custom database.

Re: Defcon: Preventing overload with graceful feature degradation (2023)

#95
post #94
post #86

One of the most satisfying feature degradation steps I did with FastComments was making it so that if the DB went offline completely, the app would still function: 1. It auto restarts all workers in the cluster in "maintenance mode". 2. A "maintenance mode" message shows on the homepage. 3. The top 100 pages by comment volume will still render their comment threads, as a job on each edge node recalculates and stores…

Sounds like you're just failing over to a custom database.

The abstraction isn't really defined or isolated that way, but kinda.

Re: Defcon: Preventing overload with graceful feature degradation (2023)

#96

Earlier quoted context omitted.

Facebook makes over 300 requests for me just loading the main logged in page while showing me exactly 1 timeline item. Hovering my mouse over that item makes another 100 requests or so. Scrolling down loads another item at the cost of over 100 requests again. It's impressive in a perverse way just how inefficient they can be while managing to make it still work, and somewhat disturbing that their ads bring in enough…

This is the company that instead of ditching PHP created a full on PHP to C++ transpiler and then deployed their while site on that for a few years.

FB still runs on Hack.

Re: Defcon: Preventing overload with graceful feature degradation (2023)

#97

Earlier quoted context omitted.

The waste of talent hours is directly connected to climate change. The waste of network bandwidth is as well as the waste of compute cycles to run these "social" platforms. That all being said, as humans have free will, imagining what we "could have done" if we just _forced_ everyone to do something different is flirting with fascism.

I think most devs also would rather work on something good too, but those jobs are rare and pay worse. That's the part that needs fixing

Exactly. I think it’s misguided to blame Meta or Google here. People respond to incentives, and the masses want to buy stuff using e-commerce, hence it’s profitable.

I’m oversimplifying, but that’s the root of it. If people instead of buying things from ads were looking for the best ways to purchase offsets for CO2 emissions, then the best minds would be working on that problem.

Re: Defcon: Preventing overload with graceful feature degradation (2023)

#98
post #25

Earlier quoted context omitted.

You make it sound like everybody at Meta works in the ads department.

It is an ad company, everyone there works on ads or indirectly works on making a platform for ads. The only exception is people who’ve managed to sneak their way into positions where they don’t contribute anything to the company. Those people are doing society a favor by wasting Facebook’s money.

I don’t think that’s true. Google took their ad money and placed a famous number of bets on moonshots, more than any company in a long time (back as far as Bell Labs? Did even they fund their research to the extent Google has?)

The whole Metaverse bet at Meta is also plausibly a 10s-of-$b bet that isn’t going to drive the ad flywheel, though I’m sure they hope it is. My impression is Zuck would be ok with just having a VR platform even if it’s generating revenue from not-ads.

Re: Defcon: Preventing overload with graceful feature degradation (2023)

#99

Seems like whenever I log into FB lately it's pretty much always in a state of “graceful feature degradation”. For example, as soon as I log in I see a bell icon in the upper right with a bright red circle containing an exact positive integer number of notifications. It practically screams “click here, you have urgent business”. I can then leave the web page sitting there for any number of minutes, and no matter how…

This is one of the great challenges of system engineering. Any slack you build into the system has a tendency to get used over time, but that means that if you don't exert some human discipline to have monitoring on your slack and treat it as at least a medium priority that your slack is being used up that your system will rapidly evolve (or devolve, if you prefer) into one that has single points of failure after all.

To give a super simple example, suppose you have a database that can transparently fail over to a backup, but it's so "transparent" that nobody even gets notified. Suppose the team even tests it and it proves to work well. The team will then believe that they are very well protected and tell all their customers and management all about how bulletproof their setup is, but if they don't notice that the primary database corrupted and permanently went down in month six because their systems just handle it so well, they'll actually be operating on a single database after all and just be one hiccup from failure.

One of the jobs of an ethical engineer is to make sure management doesn't just say "it's OK, the site is working, forget about it and work on something else" without some appropriate amount of pushback, which you can ground on the fact that sure, they're saying to ignore it now, but when the second DB goes down and the site goes down they sure won't be defending you with "oh, but I told the engineering team to ignore the alerts and keep delivering features so it's really my fault and not theirs the site went down".

At Facebook's scale, something will always be in a state of degradation. It's just a fact of life.

Re: Defcon: Preventing overload with graceful feature degradation (2023)

#100
post #97

Earlier quoted context omitted.

I think most devs also would rather work on something good too, but those jobs are rare and pay worse. That's the part that needs fixing

Exactly. I think it’s misguided to blame Meta or Google here. People respond to incentives, and the masses want to buy stuff using e-commerce, hence it’s profitable. I’m oversimplifying, but that’s the root of it. If people instead of buying things from ads were looking for the best ways to purchase offsets for CO2 emissions, then the best minds would be working on that problem.

Right, that's not going to happen though for pretty obvious reasons.

Governmental incentives and carbon taxes can make more jobs in CO2, but expecting individual citizens to solve a collective action problem is doomed.

At the same time, I think it is fair to ask people to look at what they're doing for/to the world and decide if that's something that fits their values. 300k salary is nice, but almost certainly not something you need

Post reply on HN