skysight-inc/HackerNews huggingface dataset:
What do you mean with validating the bindings? GRPC is type safe. You don’t have to think about that part anymore.

But as the article mentions OpenAPI is also an RPC library with stub generation.

Manual parsing of the json is imho really Oldskool.

But it depends on your use case. That’s the whole point: it depends.
Amen. I don't understand the problem here. Do something real instead of playing on your phone. (Says me while I play on my phone.)
There used to be a Konami easter-egg on Vogue's UK website
We never thought you web guys were doing well, really. With all the empathy to you as a person, these jobs were a result of the industry being an endless field of burning barrels of cash, not some good engineering. Every few pages of webdev was a single click in the '90s style RAD IDE. Every now-team was just one part-job with no particular specialization. And you didn’t even think of boiling it all down to something sensible. This whole job is a bubble.

It’s no secret that this is where AI performs the best and doesn’t embarrass itself in the second sentence. I’d even claim that webdev heavily masks the inability of LLMs to write code yet, because it does relatively well in the “webapp” section.
That bigotimes function that it's talking about is doing something like tree search with backtracking - lazy evaluation isn't really relevant as far as I can see. I don't think the statement that it's "one pass" is meant to mean that it's a closed form solution or something, the point is that you can write your code as plain single pass logic and this generic functional tool does the rest.
Thank you for the summary! :)
I like the idea. That challenge is clearly seeding content and getting inital votes.

Maybe start with survey monkey to get initial inputs. Alternatively, you could employ an algorithm that determined a ranking for any question by scraping the web, or just an LLM-based microservice where the prompt is always "research the latest online forums and tell me the top 5 preferred options for ###", but then still give the human user to vote on LLM-seeded options and also add their own options if they don't see what they live on the list.

I use LLMs for this - a lot.

Also, looks like you have an issue with the responses to "best planet to search for life" (maybe need some type of moderation to protect and scrub input from zero-class scumbags).
Not that I'm saying Bitcoin is a solid long term investment, but you could say the same about the stock market.
What kind of data would a native app collect that the web wouldn’t?
Seems like all the important advertiser-relevant demographic data is in the user account itself, not the platform. Whether you’re interested in snowmobiles or baby diapers would show up in both web and native apps via your user account?

Also what technical limitations remain in web apps that limit use? WebGPU seems like it can handle most video pixel processing functions that native apps need and websites can be installed easily.
> Or should I just reinstall Bootstrap and be done with this.

That one.

Tailwind gives you tools when you want to control the design, but you’ve got to control the design.

When you just want something that looks good and don’t mind that bootstrap-y feel, bootstrap is the way to go.

(There are projects that essentially recreate bootstrap on top of tailwind, which, in theory, might give you something like bootstrap as a starting point with the power of tailwind, but I haven’t seen it work better in practice than just using bootstrap.)
F1 subreddit with 4.8M subscribers bans Twitter/X content
Hey you didn’t mine the rare earth minerals! This ain’t really from scratch!

Just joking, incredibly impressive!
Copilot Edits works incredibly well. It writes 80% of my code with the majority of my work being small fixes.

https://code.visualstudio.com/docs/copilot/copilot-edits
The site is unreachable for me?

Great to see so many good analytics tools pop up for bsky, I'm also working on one that primarily focuses on the fastest growing user accounts if you're interested:
https://blue.facts.dev/trending
So like being on twitter with the pederasts, crypto scammers and nazis is good for the brand?
The important question isn't raw numbers, it's which destroys a greater percentage of lives out of those who consume it. If heroin were as widespread as alcohol, would it still be true that alcohol destroys more lives? We obviously can't know for sure without trying it, but preliminary results aren't promising.
Very cool. It makes it easy for me to check out feeds quickly (and then possibly add them).

(Looking for ArtNoAnime but having no luck, ha ha.)
It's not as if there is a surplus of academic job slots that are going unfilled. The pyramid where one professor trains multiple grad students quickly becomes unsustainable.
I happened to find someone on a German forum (cars a VW) that had taken his overheads apart to do the same thing who posted a p/n or rather an industry size. I had never dealt with replacing SMD LEDs before but it seems there is an industry standard sizing that most adhere to. Just ordered a few in that size from Amazon and they worked. From what I remember most in that size were rated for similar voltages so seemed pretty universal. I imagine as long as you can see the led and measure its dimensions finding a replacement should be easy.

Desoldering/soldering was a pain as they were tiny; like 2mmx2mm. One cool thing I learned though is that you can use a multimeter in its ‘continuity’ setting to provide enough current to light up these small LEDs which is very convenient when testing if you soldered them correctly.

https://www.zgsm-china.com/blog/something-you-should-know-ab...

https://www.reddit.com/r/Tiguan/comments/1hq2hae/changed_ove...
Woah! That would be amazing! I sent you an email just now. Thank you so much for this opportunity!!
gRPC is indeed for backend service to service calls with strong contract/model first approach. It’s important for company in serious API and SDK vending business.
I thought I'd post the OG link rather than the Wiki article in case Wikipedia says: "...is a discredited conspiracy theory advanced by far-right extremist and pseudo-computer-scientist Marc Andreessen"
Only people can be pardoned. Only people can be charged with crimes. Companies can only be fined.
Saudi Arabia plans $600B in new US investment, trade over four years
“And you, be ye fruitful, and multiply; bring Forth abundantly in the earth, and multiply therein”

Gen 9:7

So you’re meant to use Forth, do lots of multiplication in it, and do it all on a Macintosh obviously.
I've been building API's for a long time, using gRPC, and HTTP/REST (we'll not go into CORBA or DCOM, because I'll cry). To that end, I've open sourced a Go library for generating your clients and servers from OpenAPI specs (https://github.com/oapi-codegen/oapi-codegen).

I disagree with the way this article breaks down the options. There is no difference between OpenAPI and REST, it's a strange distinction. OpenAPI is a way of documenting the behavior of your HTTP API. You can express a RESTful API using OpenAPI, or something completely random, it's up to you. The purpose of OpenAPI is to have a schema language to describe your API for tooling to interpret, so in concept, it's similar to Protocol Buffer files that are used to specify gRPC protocols.

gRPC is an RPC mechanism for sending protos back and forth. When Google open sourced protobufs, they didn't opensource the RPC layer, called "stubby" at Google, which made protos really great. gRPC is not stubby, and it's not as awesome, but it's still very efficient at transport, and fairly easy too extend and hook into. The problem is, it's a self-contained ecosystem that isn't as robust as mainstream HTTP libraries, which give you all kinds of useful middleware like logging or auth. You'll be implementing lots of these yourself with gRPC, particularly if you are making RPC calls across services implemented in different languages.

To me, the problem with gRPC is proto files. Every client must be built against .proto files compatible with the server; it's not a discoverable protocol. With an HTTP API, you can make calls to it via curl or your own code without having the OpenAPI description, so it's a "softer" binding. This fact alone makes it easier to work with and debug.
> This would provide an incredibly precise estimate of the user's location.

Within ~250 miles of their location is not "incredibly precise"
There’s also a gaping security hole in its design.

They don’t have sane support for protocol versioning or required fields, so every field of every type ends up being optional in practice.

So, if a message has N fields, there are 2^N combinations of fields that the generated stubs will accept and pass to you, and its up to business logic to decide which combinations are valid.

It’s actually worse than that, since the other side of the connection could be too new for you to understand. In that case, the bindings just silently accept messages with unknown fields, and it’s up to you to decide how to handle them.

All of this means that, in practice, the endpoints and clients will accumulate validation bugs over time. At that point maliciously crafted messages can bypass validation checks, and exploit unexpected behavior of code that assumes validated messages are well-formed.

I’ve never met a gRPC proponent that understands these issues, and all the gRPC applications I’ve worked with has had these problems.
Makes sense. From datavirtue's comment is sounded like they joined a much smaller outfit without much in terms of established _working_ procedures here.
No, because I like debuggers but if you don't care about debuggers than I would.

It's basically a better Fleet. In fact, it's if Fleet and VS Code had a baby lol.
Concretely, if you're a web developer - go up a level. AI doing a lot of "web development work" means that now you have time to do other things that you pushed aside as too hard. That might be back-end systems / databases / algorithms etc.

Or learn about user experience, design, how humans think and how to build good products.

Please don't get discouraged by the hype. The only people saying AI will replace developers are the people who have something to sell. Engineering is more than just writing code. If anything, AI will increase the level of complexity in the software today, so you'd need engineers to tame that increased complexity.

---

This is from a related thread I wrote in Reddit:

There has never been a more exciting time than now to be a software engineer.

In a nutshell: all the parts I enjoy about software engineering remains challenging, unchanged and open areas of research (distributed systems, algorithms etc). All the grunt work that I hated doing (CRUD work, remembering tailwind classes) have gotten automated very well.

I've played around with AI a lot. I mean A LOT. People who don't code fundamentally lack the insight that writing code is not the only thing that a software engineer does. The way software engineers are coding is changing - but it's changing it in a way that make good ones better, not necessarily bad ones any good.
Maybe rephrase your title using "Ask HN:"

Also, if you included a link, I'd check it out, but I have no idea what you're actually referring to. Color me curious though
One reason LLMs are better at commercial coding than maths.
Weirdly specific but ok
There was a talk in 2023 of a non-TCP based protocol, Homa in RPC for data center use-case https://youtu.be/xQQT8YUvWg8?si=g3u5TogBe0_QpPpj.
These things will never be completely safe, from version to version, to new management. As Darth Vader one said, "I am altering the deal."
I pointed you to a specific book i.e. OOSC2 and three specific chapters in it (to start with) which explain the concepts well with examples you asked for. How much more specific can one get? If you already know contracts then it should be easy to translate the concepts to any language of your choice. Meyer provides a thorough rationale and is extremely detailed in his examples. Furthermore, i also pointed you to one of the largest and commercially most successful class library and application framework (i.e. MFC) where you can see classic OOD/OOP (including upcalls/downcalls) in action; and yet you say i am "speaking in generalities"! It seems you are not willing to read/study but expect a couple of paragraphs to enlighten everything, which is not going to happen.

Eg: Base.method() has {pre1} and {post1} as contracts. Derived.method() has {pre2} and {post2} as contracts. What should be the relationship between {pre2}&{pre1} and {post2}&{post1} to enforce proper subtyping?

> This is a common frustration I have with OOP discourse, it tends to be really up-in-the-air and not grounded in concrete specifics

It is not up-in-the-air when ideas and specific books by authors like Bertrand Meyer and Barbara Liskov (both researchers and practitioners) are being pointed out. Trying to simplify their concepts into a couple of paragraphs would invariably miss important nuances and lead to misinterpretations (the bane of most HN discussions based on trivial articles/blog posts). Hence it is better they are studied directly and then we can have a discussion if you would like.

> Meanwhile, users suffer in ways that just don't happen with typeclass-based polymorphism, and none of this discourse is required in my world. So why should I not recommend everyone use typeclass-based polymorphism?

Sure, there are other types of polymorphisms which can be better in certain scenarios. But that is not under discussion here; we are talking about "traditional" dynamic runtime dispatch based polymorphism which is far easier to understand and implement even in small languages like C.

> No, being too flexible is a weakness, not a strength. At scale, rigorous discipline enforced by tooling is required.

Flexibility increases your "design space" and hence never a weakness. Rigorous discipline is needed throughout development but tooling can only do so much.

> In particular, invariants like "no downcalls" or "no upcalls" should 100% be enforced by automation.

This depends on the concept you are trying to express and cannot be the same in all scenarios (except for direct ones like "interface implementation").

> I'd rather not?

Well, you did ask for a concrete example and i showed you MFC apps.

> This sounds really bad to me at scale and under pressure.

Saying something is "bad" or "spaghetti" without understanding the design concepts behind the implementation is wrong. MFC is one the largest and most successful application frameworks in the industry and has proven itself in all sorts of applications at scale; studying it teaches one lots of OOD/OOP techniques (good/bad/ugly) needed in real-life industry apps.
> I find it hilarious that everyone is scared of Trump when there was a concerted effort by the other side to use the justice system to stop him from ever running again.

I honestly don't get what you mean by this. Lets say all your comments about Biden, the FBI, laptops and whatever else are 100% true. How does that change if I should be worried about stuff Trump might do? To use a totally extreme example, if John Wayne Gacy went around talking all the shit in the world about Jeffrey Dahmer, does that somehow make Dahmer not a serial killer?

> He ran on “lock her up” in 2016 and never followed through.

So that proves he lies and makes promises he can't/won't/doesn't keep? Is that a positive trait in a politician? How are we supposed to determine when he is 'just joshing, bro' and actually is being truthful? And yes, I know Biden and the dems also make promises they don't keep, but again that doesn't excuse Trump from doing the same.
> I don't typically use .PHONY as my targets aren't the same name as files and performance isn't an issue.

They are still phony at heart in this case, even if you don't declare them .PHONY.

Make really wants to produce files; if your targets don't produce the files they are named for you are going to run into trouble (or have to be rather careful to avoid the sharp edges).

> They say "use the best tool for the job". As far as I've found, for a job like that, Make fits the best. If some day somebody completely re-writes all the functionality of Make in a less-obnoxious way, I'll use that.

You could try eg Shake (https://shakebuild.com/), but it requires some Haskell.
That's an interesting point. I get what you mean. I hate videos that start with an ad. And if the next video also has an ad, I am more likely to give up and go elsewhere. You are right, it is counter-intuitive, but it works.
Why would you pirate a TTS service when there are so many great options for local open source TTS now? Models like Fish and Kokoro and StyleTTSv2 are great and very fast.

Click the leaderboard tab here: https://huggingface.co/spaces/TTS-AGI/TTS-Arena
It's a showcase for Haskell and well worth reading. I should be less snide.

Nowadays "multipass" means Mila Jovovich but it used to mean "another complex language with massive implications we deal with by divide-and-conquer-through-the-filesystem" and in the case of the York ada compiler that was some amazing number like 10 or more passes.

There was a fashion for running your C instrumented and then recompiling it after runtime branch choice evidence was collected. I think the Dec Alpha OSF/1 compiler did it optionally.
I'm seeing this effect with Firefox 115.9.1esr (64-bit), running under Debian 12.
> Is this actually true?

It is true in Asian countries and most pre-industrialised nations
Yes, that seems to be what the aptly-named "tardis" monad does, but the article notes that it isn't sufficient because of the minutiae of how jump instructions themselves can vary in length under x86.

In an act of brilliance that surely proves beyond all doubt that Haskell's main reason for existing is to upstage the esolang scene, the author solves the problem by trotting out a special-purpose constraint satisfaction algorithm. (You can imagine what kind of computational complexity this implies. The creators of this algorithm note that it can enumerate all tic-tac-toe games in just over a second!)
Ben Palmer's Image Generating AI [video]
It's worse.

Event venues AND anyplace that might EVER have expense account holding business travelers just want to charge for it. Even if fiber literally rolled right up to the side of the building, it'd be resold by either the hotel or a 3rd party vendor with a focus on profit rather than just being good.
"pirate"? This was always free.
Well that's highly disappointing
thank you,

We’re working on improving the category system
The Invisible Doctrine, by George Monbiot and Peter Hutchison. 4hr audiobook, concise text.
If by "classical liberal" you mean "laissez-nous faire", this might be easier to be open to reading. If you mean Hayek's now-maligned term "neoliberalism", and you're still trying to find a way to justify that well-meaning (as a reaction to nazism) but flawed approach (the need for bailouts, for one, and the Hobbsian "competition all the way down" lens), this may rub you wrong.

Of the two, I'd lean into history, and go way back, like 50kya.

We need a new story to guide us, other than the time-tested authoritarianism/fascism, and I like a messy mix generally guided by "public luxury, private sufficiency."
That’s one, and I suppose marketing firms to some extent also fit.

But these are small niches that don’t make a whole sector, and arguably it’s on the fringes comparatively to everything else

Broadly speaking the so called free market is only in its name
Very true. Filling the time with non-scrolling enjoyable activities, particularly IRL is effective. It's like eating healthy - rather than stressing about what to remove from the plate, think about what you want to add to the plate and enjoy it.
We should use gRPC only after conducting proper domain driven architect. Properly categorizing classes into domain/services/infra is more important.
The red flag is being delusional or dishonest about the existence of implicit power structures, not their mere existence.
At a Starbucks years ago, a woman next to me requested to plug into my USB charger, which had an open port. Since any interaction of mine with a new person was doomed to awkwardness, of course I ended up with the sadly comical three-try, two-rotation final insertion. She made a crack about Schroedinger's USB port and I smiled, then she began to explain to me that it was a physics thing. After I replied that, yeah, that was my undergrad. It turned out to be hers as well. Then we found out that we had both gone into programming. She was doing programming in medicine, and, when prompted for further details, mentioned working on the software for one of those multi-beam radiation gizmos.

I mentioned Therac-25 and we were off to the races. I think we talked for about two hours on programming in high-risk situations, hers in those machines, mine in location services and routing for emergency services. That maniacal technician who irradiated that poor boy (the names escape me) was brought up. At one point we hit on the Challenger disaster. I was comforted to meet another programmer who had certain philosophies about making reliable niche software. I'm not at that level, but I think it is something to which I ought to occasionally aspire.
There are two problems with that.

The first is that the purpose of giving "interstate commerce" to the federal government was to address the problems incident to interstate commerce, e.g. someone in New York buys something from someone in Florida and there is a dispute, but New York doesn't have jurisdiction over the seller and Florida isn't interested in protecting New York buyers from Florida sellers. The sort of general purpose economic regulations at issue in Wickard weren't intended to be in scope to begin with.

And the second is that as soon as you let go of that limiting principle, you don't have a limiting principle. "Texas has its own power grid" but if Texas has lower or higher power costs then customers might be more or less inclined to locate in Texas rather than some other state and affect demand for power in some other state, so the distinction is lost and there is a practical erasure of any line at all.
No, that's not how it works. Poor people who lose coverage from employer-sponsored health plans don't pay COBRA premiums out of pocket. They spend much less to either buy a subsidized health plan on the state exchange or go on Medicaid. The system is a mess but let's not exaggerate the problems.
2013ish also had a "One" naming trend that was short lived:
Xbox One
SkyDrive->OneDrive

It didn't seem to spread much though...
Never really understood the folks pushing for RPC-over-HTTP. RPC is for systems that are close together (ie intra-DC). These simple rules work well:
1. JSON-over-HTTP for over the web
2. RPC (pick your flavor) for internal service-to-service

I will say that Amazon's flavor (Coral-RPC) works well and doesn't come with a ton of headache, its mostly "add ${ServiceName}Client to build" and incorporate into the code. Never mind its really odd config files

Related note, I've never understood why Avro didn't take off over GRPC, I've used Avro for one project and it seems much easier to use (no weird id/enumerations required for fields) while maintaining all the code-gen/byte-shaving
> The people who commented on that thread are not going to be the same people commenting on this one

This is the point. HN readership has changed dramatically in the intervening years. I don't buy at all that the difference is solely due to comments tending to contradict the article.
Or you could just be pessimistic in your offset calculation and assume that all "in between" unconditional jumps are 5 bytes in length. I know I know, not proper. But I doubt that in real code, that simpler algo would make you miss a lot of opportunities for 2 bytes jumps.
We've been using technology to touch up movies for years. What's the big deal - just because its the AI boogey man? Accusations the director is deliberately using AI to squeeze artists out of jobs is silly, he is simply perfectecting the scene using the tools at his disposal like every director before him.