Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
kentonv
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
47 ms
·
631.
▲
by
kentonv
3y ago
Sounds like they're trying to technically address EU regulators' concerns without providing any real value to customers. In real life it's probably extremely unusual for any company to altogether cancel their Google Cloud con
632.
▲
by
kentonv
3y ago
Yes, in the last year Durable Objects introduced "hibernation", in which the server object can shut down with WebSocket connections still active, to be started back up when a new message arrives. This largely solves cost issues wi
633.
▲
by
kentonv
3y ago
This is because R2 uses Durable Objects under the hood to achieve consistency. But you'd probably get better results using Durable Objects directly.
634.
▲
by
kentonv
3y ago
Yes, App Engine was an early serverless platform -- even before the term "serverless" had been coined. The technology has improved since then, though.
635.
▲
by
kentonv
3y ago
Sounds like a use case for Durable Objects?
636.
▲
by
kentonv
3y ago
We need Habeas Corpus for tech. Companies should be obliged to tell you what your violation was, and you should have the opportunity to challenge the judgment in which you are able to present arguments and evidence. Additionally, I think th
637.
▲
by
kentonv
3y ago
As a child of two architects, I have to know... How did this house end up designed such that half the house is only accessible from the other half by passing through someone's bedroom?
638.
▲
by
kentonv
3y ago
> in C++ you can of course always fall back to raw pointers for efficiency, while retaining well defined (e.g. class/scope based) lifetimes to avoid bugs. This is certainly what I'd recommend wherever possible. It's OK to
639.
▲
by
kentonv
3y ago
Again, if you aren't worried about this you might as well be using a garbage collected language. They are generally faster than using atomic reference counting for everything. But people use C++ (or Rust) for a reason. FWIW I don'
640.
▲
by
kentonv
3y ago
Unfortunately the C++ compiler cannot reason about much of anything as soon as you make a virtual function call, or even a call into a separate translation unit (unless maybe you are using LTO but that has its own issues). E.g. if you do:
641.
▲
by
kentonv
3y ago
This sounds nice but it just isn't realistic. If you try to write a complex system in C++ without non-owning references, you're basically heap-allocating every single object and using slow atomic refcounting everywhere. Performanc
642.
▲
by
kentonv
3y ago
Oh actually there's a much more obvious case where prohibiting getters on rvalues would be a problem. It would prevent you from doing this in general: myReader.getFoo().getBar() Here, `myReader` is already a view type; ownersh
643.
▲
by
kentonv
3y ago
What's UB about it? Any temporary objects constructed during the evaluation of a statement live until the end of the statement. The standard is clear on that. > i think i’d prefer to require a value preserving the lifetime of the re
644.
▲
by
kentonv
3y ago
That would catch some legitimate use cases, where you get the list and immediately use it on the same line. Admittedly this is not so common for lists, but very common for struct readers, e.g.: int i = call.send().getSomeStruct().getV
645.
▲
by
kentonv
3y ago
In my experience all you really have to do is: 1. Write a test program that exercises your segfault. 2. Build it in debug mode. 3. Run `valgrind <my-program>` And it just tells you where your problem is. Not much more to it.
646.
▲
by
kentonv
3y ago
Author of Cap'n Proto here. The main innovation of Cap'n Proto serialization compared to Protobuf is that it doesn't copy anything, it generates a nice API where all the accessor methods are directly backed by the underlying
647.
▲
by
kentonv
3y ago
Ian "zenhack" Denhardt, a major Cap'n Proto contributor, was working closely with the ocapn effort to try to ensure some level of compatibility. Tragically, he passed away in July, leaving that effort (and so much else) in li
648.
▲
by
kentonv
3y ago
> Does protobuf or capnproto have good tooling support out in the world? Buf (author of the article) has made it their mission to build out that tooling and support for Protobuf. I think they're doing a good job. Cap'n Proto&#x
649.
▲
by
kentonv
3y ago
I'd encourage independent open source maintainers to remind themselves that they don't owe anyone anything. If someone asks for something, it's perfectly reasonable to tell them "Sorry, I don't plan to work on this&
650.
▲
by
kentonv
3y ago
Wow I thought the author just forgot to go back and replace these placeholders once they confirmed the right number but you're right, Google shows all kinds of articles across the internet referring to the XNUMXth century, what the hec
651.
▲
by
kentonv
3y ago
Thanks. FWIW Sandstorm was always an open source project, even as a startup, so technically my blessing wasn't actually required here. :)
652.
▲
by
kentonv
3y ago
Sandstorm and Docker are really totally different things. https://sandstorm.io/news/2014-08-19-why-not-run-docker-apps
653.
▲
by
kentonv
3y ago
Just in case anyone is wondering, sandstorm.org represents the continuation of the Sandstorm community project, as opposed to sandstorm.io which was the startup that I co-founded. The company has been dissolved, and the community project ru
654.
▲
by
kentonv
3y ago
The post is about getaddrinfo() specifically. It just struck me as odd to call that one out when there are far more common C library calls that use getenv().
655.
▲
by
kentonv
3y ago
Doesn't almost every C library function potentially call getenv()? printf()ing a number requires checking the locale which can be configured via the environment, after all. I'd say you shouldn't be calling setenv() at all onc
656.
▲
by
kentonv
3y ago
Looking at the details here I have to say it sure looks like the glibc people were asking for trouble. GLIBC_TUNABLES is apparently an environment variable that lets you turn various performance knobs affecting glibc internals: https:/
657.
▲
by
kentonv
3y ago
(Quick background for others reading this: Previously, Workers had two pricing plans. The "bundled" plan was priced purely on number of requests but had an enforced 50ms CPU time limit. The "unbound" plan was priced on r
658.
▲
by
kentonv
3y ago
Note that when allowlisting Cloudflare IPs as a defense mechanism, it's also important to make sure your web server only responds to requests whose `Host` header actually specifies a host in your domain. Otherwise, an attacker can set
659.
▲
by
kentonv
3y ago
Edge compute platforms aim to take care of all that for you.
660.
▲
by
kentonv
3y ago
Postgres is great at what it does, but it is extremely inefficient for storing a small amount of data, e.g. kilobytes or a few megabytes. sqlite, on the other hand, scales nicely all the way down to a few kb. This matters for cloud in that
More ›