I use them pretty extensively. That way, whenever I need to rotate credit cards for whatever reason, I only need to update them in one location, rather than several.
Also, I’m using a single, common storage of credit card information, rather than needing to track 100s of different websites with potentially even more lax security.
> But the first step is to believe that what people have been screaming about their lives for the past several years actually exists. Even a representative agent, forward-looking and fully aware of all the parameters surrounding them, can feel the vibecession.
Gee. Who would have fucking thought.
When people, en masse, are saying they're in pain, *believe them*. They have very real fears or stressors, even if "you" can't understand them.
Indeed. The problems exist. The Republicans have absolutely batshit and counterproductive explanations and proposed solutions for those problems, but at least they acknowledge them. The Democrats only offered condescending denial.
(Until Mamdani's campaign. But even then the DNC tried their hardest to ratfuck him, as they always do with candidates to the left of Dick Cheney.)
Well, okay, so just like this article talks about, people often find it easier to declare a source of a problem, rather than describing a symptom they're having.
Illegals aren't taking their jobs - there's plenty of studies evidencing that that's not true. *BUT*, people are feeling:
1. under-employed
2. under-paid
3. in some level of pain, economically
4. feeling insecure, financially
And they're saying "it's those damn illegals takin' my job" to reflect that pain.
Sure, propaganda plays a part of the experienced pain people have; but it's often not all of it. Propaganda is less effective when people are comfortable.
It's looking a lot like when you say "believe them", you mean "rewrite what they say and believe that thing instead". Yeah, I can do that for any political affiliation.
Not at all. I believe the experience they're expressing, when expressed in the most positive light. I'm not going to entertain a racist perspective, such as "there's too many brown people here" or similar; but I will entertain a more favorable perspective: "I feel like I can't get a different job if I lost mine", "I can't afford groceries", "My rainy day fund isn't large enough for a rainy day and this makes me scared". "It doesn't feel like there's enough jobs to go around". All of these could be very real, underlying statements to the statement "Illegal immigrants are taking all the jobs". Obviously more conversation would be necessary to get the exact issue they're actually experiencing.
But just like a patient coming to a doctor and saying "my back hurts, I must have a herniated disk"; or a customer coming and saying "your website sucks, you should rewrite it in React", there's not enough information there to get to the true, underlying cause; *BUT* you can wholly believe the patient that they are in pain, or at that there is something about the website that isn't meeting this user's needs. That's step 1. Believe the person in their experience, then investigate and address the real root cause of their pain.
Sometimes the patient says that the arm they no longer have hurts, or that everything hurts but the opiates you gave them last time did the trick, more opiates please, or that the world is sad and empty and the only way out is offing themself. And sure, you can rightly believe that they're in pain in all three situations, but not in a way that is informative about which side to take on vibecession.
"They" built? Who is this "they"? I don't know of any people of 250 plus years of age. And workers, no matter one generation or ten generations of lineage in the country have "built" it.
Unskilled labor is a myth. When we kicked out all the agricultural workers, it wasn’t just that it’s hard to find replacements, the replacements also learned how hard it is to actually do that kind of actually skilled work.
We're going with "unskilled labor is a myth"? Really? You could have given me 1 million guesses and I never would have come up with that. Unskilled labor is not a myth. It's a description of work that requires a shorter amount of training time for someone to be able to do the work, as opposed to, say, a dentist who needs years of schooling. Jobs where the primary requirements are physicality often qualify, with professional sports being a notable exception.
And if the work is really hard so no one wants to do it, labor markets generally have a pretty reliable mechanism for correcting that situation by raising prices. You could argue that higher food prices would be a problem, but you can't argue that imported labor doesn't impact it. No "study" will ever prove that importing labor doesn't suppress wages or that "unskilled labor is a myth".
They're saying a cocktail shouldn't cost double digits.
They're saying they can't afford doctors or health insurance.
The complaints are specific about specific changes in affordability, not 80's AM radio talking points. They mostly aren't suddenly saying illegal immigrants are taking their jobs.
(Certainly some people are, but it's not really a bigger contingent than any other time in the last... 30? 40? years...)
But they are also saying no to build more houses. They are also screaming and clamoyring to tariff the world 500 percent and then some more. Many people say many things, many people are also economically and mathematically illiterate and or pretending to be due to some vested interest.
I think there comes a point when people are so adamantly illiterate and antimathematical (and a good helping of other fun things like racism), they are beyond help.
We shouldn't be giving participation trophies to people who slept through world history class and then fall for recycled demagoguery about how it's the poor who are sucking up all the wealth and not the rich.
Abstract: Due to racial wealth inequality in the U.S.—inequality that benefits White Americans on average—many Americans associate White people with wealth. Yet, many White Americans report feeling like they, personally, are “falling behind.” We conducted a five-wave longitudinal study with a representative quota sample of non-Hispanic, White Americans (N = 506) during the 2024 U.S. presidential election. We found that White Americans who feel they are falling behind White and Asian Americans, while also being close to being passed by Black and Hispanic Americans, within a perceived tight status hierarchy, reported the most support for DEI bans and Trump, controlling for objective status. Further, White Americans with these status perceptions were most likely to vote for Trump in the 2024 election. We conclude that White Americans’ subjective perceptions of their position in the racial economic hierarchy meaningfully relate to political attitudes and behavior.
The Findings: Using a statistical technique called Latent Profile Analysis (LPA), we identified distinct groups based on where people subjectively ranked themselves and other racial groups on the American status ladder.
* We found a specific group of White Americans (~15% of our sample) who perceived themselves as "tied for last place" with Black Americans.
* Crucially: This group was the most likely to vote for Donald Trump and support bans on Diversity, Equity, and Inclusion (DEI) initiatives.
* Importantly, this effect held true even when we controlled for their actual income, education, age, and gender. In other words, feeling like you are losing status predicted voting behavior more strongly than actually having low status.
It’s really disappointing because, a human matchmaker, on the other hand, *does* optimize for “losing 2 customers”. Wouldn’t it be way better for the company’s long-term-health if they charged an appropriate price for making, actually, great connections?
“I found my wife on FindLove” is one hell of a marketing campaign for *future* sales. It’s not like people never break up, and it’s not like people don’t continually enter the dating market or move or whatever.
It really didn’t. It caused a subset of people already predisposed to such things to become harder stance on it and it expanded that insanity by making it a political talking point; but it is *not* a whole generation, it’s likely 30% of one country; and, over time, hopefully less.
The best way to keep immunocompromised and people who literally can’t take vaccines safe is by having so much herd immunity that the likelihood they a virulent load of a virus cannot get to those people.
A great way to get herd immunity is through mass vaccination.
Except herd immunity for COVID isn’t feasible or even possible. It mutates too much, the vaccines don’t confer effective enough immunity, etc.
It’s unfortunate, but it’s the reality of this disease. I’m not immunocompromised, but I still modify my behavior to try and protect myself: mask on planes, avoid certain situations, etc.
Yeah I love that about living in a European City. I don't even own a car and haven't driven one for 8 years now. I hope I'll never need one again. There's stores, restaurants, a laundromat all within 2 minutes walk. The subway is 5-10 minutes (3 different lines with different walking times)
Additionally I spend so much less on transport and no longer waste time driving. When I'm riding public transport I can read stuff. I don't see any negatives.
I didn’t read the comment you replied to in that way. I read it as, edge cases can be gnarly and the most thorough of documentation and process will never capture them all.
It’s just the truth, tribal knowledge comes from experience in the trenches and what a new hire could take weeks to discern from perfect documentation and old timer may know off the cuff.
That’s the reality of enterprise software. Especially in big tech where scale is massive and theoretical solutions aren’t always the best choice for “reasons”.
I guess I'll take the bait. I thought this was going to be a page or collection of things that reduces the total amount of load, but really it's just a collection of opinionated alternative software.
I thought it might be "get away from one monoculture with harmful activities with a better option", but it's not that either, really?
I mean, some of these are fine, but for mosts of these, I don't see a reason for the alternative choices?
Like, if you're using AnyDesk, you're probably using it for a reason and that reason won't allow Chrome Remote Desktop, TightVNC or anything else.
If you're using MySQL or PostgreSQL, you've already made that choice on purpose. If you're using Terraform, that's a choice you made. If you're using Ruby, you definitely already know about Python - and probably hate it, honestly.
There's no defenses in the article, it's just an opinionated list without the opinion part.
Just for fun, how often do regular-sized companies that deal in regular-sized traffic need Protobuf to accomplish their goals in the first place, compared to JSON or even XML with basic string marshalling?
I dunno, are you sure you can manually write correct de/serializaiton for JSON and XML so strings, floats and integer formats correctly get parsed between JavaScript, Java, Python, Go, Rust, C++ and any other languages?
Do you want to maintain that and debug that? Do you want to do all of that without help of a compiler enforcing the schema and failing compiles/CI when someone accidentally changes the schema?
Because you get all of that with protobuf if you use them appropriately.
You can of course build all of this yourself... and maybe it'll even be as efficient, performant and supported. Maybe.
That would make sense if protobuf was complex, bloated, slow. But it's not, so the question should be why not use it, unless you are doing browser stuff.
I am curious about what kind of friction you encountered. Were you generating ad-hoc protobuf messages?
Assuming you were using Protobufs as they are usually used, meaning under generated code, I saw no difference between using it in Javascript and any other language in my experience. The wire format is beyond your concern. At least it is no more of your concern than it is in any other environment.
There are a number of different generator implementations for Javascript/Typescript. Some of them have some peculiar design choices. Is that where you found issue? I would certainly agree with that, but others aren't so bad. That doesn't really have anything to do with the browser, though. You'd have the same problem using protobufs under Node.js.
Well, protobuf allows to generate easy to use code for parsing defined data and service stubs for many languages and is one of the faster and less bandwidth wasting options
> Yes, it can be done with JSON and OpenApi, yet it’s not mandatory.
It is not mandatory for Protobuf either. You can construct a protobuf message with an implied structure just as you can with JSON. It does not violate the spec.
Protobuf ultimately gets the nod because it has better tooling (which isn't to be taken as praise towards Protobuf's tooling, but OpenAPI is worse).
Besides the other comments already here about code gen & contracts, a bigger one for me to step away from json/xml is binary serialization.
It sounds weird, and its totally dependent on your use case, but binary serialization can make a giant difference.
For me, I work with 3D data which is primarily (but not only) tightly packed arrays of floats & ints. I have a bunch of options available:
1. JSON/XML, readable, easy to work with, relatively bulky (but not as bad as people think if you compress) but no random access, and slow floating point parsing, great extensibility.
2. JSON/XML + base64, OK to work with, quite bulky, no random access, faster parsing, but no structure, extensible.
3. Manual binary serialization: hard to work with, OK size (esp compressed), random access if you put in the effort, optimal parsing, not extensible unless you put in a lot of effort.
4. Flatbuffers/protobuf/capn-proto/etc: easy to work with, great size (esp compressed), random access, close-to-optimal parsing, extensible.
Basically if you care about performance, you would really like to just have control of the binary layout of your data, but you generally don't want to design extensibility and random access yourself, so you end up sacrificing explicit layout (and so some performance) by choosing a convenient lib.
We are a very regularly sized company, but our 3D data spans hundreds of terabytes.
(also, no, there is no general purpose 3D format available to do this work, gltf and friends are great but have a small range of usecases)
This was the norm many years ago, I worked on a simulation software which existed long before Protobuf was even an apple in it's authors eyes. The whole thing was on a server architecture with a Java (later ported to Qt) GUI and a C++ core. The solver periodically sent data in a custom binary format over TCP for vector fields and things.
You're making assumptions about what kind of software people write. For a Hacker News degenerate, everything in the world revolves around bean-counting B2B SaaS CRUD crap, but it doesn't mean it's all there is to the world, right? You would be shocked how much networked computer software (not everything is a website) exists that is NOT a CRUD "app."
Statistically, a lot of people who post on HN and cling to new or advanced tech *do* just write CRUD apps with a little special sauce, it’s part of what makes vibe coding and many of the frameworks we use so appealing.
I’m not ignoring that other things exist and are even very common; and I was agreeing with the person that’s a useful case.
I’ve also worked for various companies where protobuf has been suggested as a way to solve a political/organizational issue, not a code or platform issue.
In most languages protobuf is eaiser because it generates the boilerplate. And protobuf is cross language so even if you are working in javascript where json is native protobuf is still faster because the other side can be whatever and you are not spending their time parsing.
In most languages I’ve worked in, there is no boiler plate for json either, and barely any for XML. You make a data class of some sort and it “just works”.
Not having that functionality is a weakness of a language or its support tools at this point, to me.
Protobuf is fantastic because it separates the definition from the language. When you make changes, you recompile your definitions to native code and you can be sure it will stay compatible with other languages and implementations.
You mean like WSDL, OpenAPI and every other schema definition format?
Well I agree. Contract-first is great. You provide your clients with the specs and let them generate their own bindings. And as a client they're great too because I can also easily generate a mock server implementation that I can use in tests.
It's not just about traffic. IoT devices (or any other low-powered devices for that matter) also like protobuf because of its comparatively high efficiency.
Also, I’m using a single, common storage of credit card information, rather than needing to track 100s of different websites with potentially even more lax security.
reply