Hacker Newsnew | past | comments | ask | show | jobs | submit | rrgok's commentslogin

All that song and dance about programming languages advantages and you chose to use JSON?

Man I hate JSON so much.


JSON Schema is already the schema format inside OpenAPI, AsyncAPI, and MCP. Using it means OBI can reference those specs directly without translation. Any other choice would have made interop harder, not easier.

The programming language analogy is about structural compatibility between contracts, not about the wire format the contract is written in.


Out of curiosity, what would have been better?

What are the limitations of json schema?


Fair questions.

OBI needs its schema format to be universally parseable, deterministic to compare, and rich enough to describe the portable subset of any binding format's type system. JSON Schema meets those requirements without tying the spec to any one ecosystem. Proto-level fidelity would center gRPC. A custom IDL would fragment tooling. JSON Schema is the neutral ground.

The limitations are real, especially with proto. For example, our own proto interface creator implementation maps 32-bit integers to JSON Schema `integer` and 64-bit integers to `string` to avoid JSON precision loss beyond 2^53, following Proto3's canonical JSON mapping. Proto enums are int-valued with names; JSON Schema enums are typically strings. Proto's oneof differs semantically from JSON Schema's oneOf. Maps with non-string keys can't be expressed directly.

These affect cross-service structural comparison, not execution. Executors handle source types natively on the wire, so int64 stays int64 when you actually make a call. Transforms bridge shape differences between operation schemas and binding sources at runtime. The comparison layer works at a coarser grain in v0.1 because that's what makes it deterministic and universally implementable. Future profile versions can tighten comparison precision as the ecosystem converges on the tradeoffs worth making.


Well he didn't choose JSON, he chose JSON Schema and since the documentation is trying to hide the existence of JSON Schema and the potential limitations of it when used in combination with e.g. gRPC, when the schema is 99% of the project it's hard to trust the project.

The spec isn't hiding JSON Schema. There's a section on it with the dialect URI and the subset of keywords OBI uses: https://openbindings.com/spec#json-schema-dialect

That said, if it feels buried, I'll look at surfacing it more clearly.

You're right about the gRPC fidelity issues though. int64 precision, oneof vs oneOf semantics, enum value mapping, and well-known types all need careful handling when binding to Proto. The tradeoff is that JSON Schema is already the schema format inside OpenAPI, AsyncAPI, and MCP, so OBI can reference their schemas directly without translation. Proto would have given better fidelity for gRPC but required schema translation for every other binding. Picking JSON Schema prioritizes cross-binding reach over depth in any one protocol.

The fidelity limitations deserve clearer documentation. Adding that to the list. Thanks for pushing on this.


I bet Google is training their models on videos uploaded on YouTube.

What a joke. People, start putting a license fee on your YouTube videos for AI training. Play their game.


Yes, I like to work hard. But not for 8h a day, 365 days per year and for 40-50 years.

Yeah. And you could be extremely productive in less time than that if the environment and incentives were alligned in a healthy way. This is congruent with the point of the article

Agree. Work hard, but also family hard, “friend” hard, play hard, and in general just live hard.

Edit: and no one likes to work hard for peanuts or under threat of being fired


I think you might agree with the article if you read it.

Microsoft, how cheap minded you have to be to understand that you don't need ads? You already had everything you need to grow without slapping ads everywhere.

You had everything great. Xbox, Windows, Office,... and somehow in a short span of time you managed to enshittify everything. Focus on you core strength. Ads is not one of them. And the combination Ads+Ai it is not either. Stop ruining great things. You had - still have - great potential to have a competitive advantage over others yet you fall for these shitty practices.

I believe, if you had the chance, you would put ads on the C# compiler too.


Like npm?


When there is no more physical development? A couple of years after sexuality has been stabilized physically.

Why is that so clear in other animals but not in humans? Every other social construct is just mental gymnastics. We believe we are special and need to do these gymnastics to keep the importance up.


This is an interesting question. Neoteny is the preservation of juvenile features into adulthood and is a hallmark of domestication. Humans have been undergoing self-domestication so features like rounder faces and softer jaw lines are persisting past sexual maturity.

We _know_ the human brain is finishing its development in our early to mid twenties, maybe 10 years post puberty. This extra brain development likely needed for our advanced social and tool needs, and is a unique niche for humans. Our hidden brain development does make a difference. Other primates don't display this.


They would've done the math. Even with a class action they will come up positive. It just another bill for them.


Would be good to actually make them pay that bill though.


I'm gonna put a license fee on all my repos. 10% of revenue if my private repos have been used for AI training. 5% on all my other repos.


I bet the genius C level who came up with idea will get a huge bonus.


It should be a couple of billions or 15% of the profit.


What a fantastic article. Lately I came to the same conclusions but never could put it in words. Thank you!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: