Live data from Hacker News

What Is Dark?

medium.com

21–25 of 25 posts

Re: What Is Dark?

#21
post #9
post #8

Looks promising! Since this subsumes the database - what kind of transnational data consistency is provided? How do upgrades to your data model work?

Good questions! We haven't decided on transactional consistency yet - if there are particular goals there, I'd love to hear them. Ostensibly, we want to allow users to design the right distributed system for themselves, and provide ways of saying "we want this DB to prioritize availability over consistency", for example. But we haven't yet decided how to do that or what to support at launch, nor where the bounds of a…

I think operation level consistency policies are more useful than DB level. For instance, saying bounded stale reads are OK for some operation could be useful for the high read scenarios and hopefully the system will materialize a cache.

Re: What Is Dark?

#22
post #9

Earlier quoted context omitted.

Good questions! We haven't decided on transactional consistency yet - if there are particular goals there, I'd love to hear them. Ostensibly, we want to allow users to design the right distributed system for themselves, and provide ways of saying "we want this DB to prioritize availability over consistency", for example. But we haven't yet decided how to do that or what to support at launch, nor where the bounds of a…

I think operation level consistency policies are more useful than DB level. For instance, saying bounded stale reads are OK for some operation could be useful for the high read scenarios and hopefully the system will materialize a cache.

Gotcha. Yeah, we're planning on allowing users to tweak their performance by providing this sort of constraint to the system, and allowing the system optimize it. We are far from that, but that's where we're aiming for.

Re: What Is Dark?

#23
post #2

Author here - would love to answer any questions people have!

> In Dark, making an API call is as simple as a function call. Our tools for building connectors to 3rd party services handle rate limiting, authentication, error handling, and retries, with great default behaviour. Visibility around costs and failures are built into the editor, as is support for secret keys and Personally Identifying Information.

The history of RPC is...checkered. It's possible that every attempt to make remote process calls as simple as local function calls has resulted in terrible abstractions that leak like a sieve.

My suggestion (for what it's worth) is to bake the notion of message passing into the language, and make it as simple as possible.

Re: What Is Dark?

#24
post #2

Author here - would love to answer any questions people have!

> In Dark, making an API call is as simple as a function call. Our tools for building connectors to 3rd party services handle rate limiting, authentication, error handling, and retries, with great default behaviour. Visibility around costs and failures are built into the editor, as is support for secret keys and Personally Identifying Information. The history of RPC is...checkered. It's possible that every attempt to…

I'm talking about using 3rdparty APIs, like Twilio or Stripe or something, that we don't have control over and that we need to handle. So we want it to feel like calling functions, though in practice it needs to be able to handle all the stuff that goes wrong.

Can you link to something about message passing? I'm familiar with a concept with this name, but I don't quite see what you mean.

Post reply on HN