Heh, in 2017 I was writing a C++ framework to use with my custom Wasm runtime (Gate). It was also called Spin. However, I abandoned the work as Rust's Wasm support improved.
I don't remember how I came up with the name - perhaps the "in" was for interface.
Always having https removes the need to consider the security implications of unencrypted transport on case-by-case basis.
I have been using HTTPS Everywhere extension and currently Firefox's HTTPS-Only feature in strict mode for a long time. Nowadays few links fail to work for me, so the failing ones stand out.
I've envisioned Gate's network resource abstractions to work at a higher level, using symbolic references (such as URLs) and message-oriented protocols rather than keeping TCP connections alive. It's not ideal, but decouples the program from the environment - which is the goal.
The title is misleading if one doesn't know that Cloudflare Workers are a thing. I honestly thought that it was about Cloudflare employees sharing food recipes with each other.
The distinction is that you don't first declare a few all-encompassing interfaces and then their concrete implementations, but piecemeal interfaces for each API that takes those implementations - only the bits of the interface that the API in question needs.
That makes it actually even easier to do unit testing, because for a narrow test you don't need to implement irrelevant methods.
I suspect Go will never be an ideal choice for creating libraries which are supposed to be used from any programming language. Even while the C-compatible-library-story of Go is developing (which is great), it brings runtime machinery that just isn't there with languages like C, C++ (especially with exceptions disabled) and Rust.
AFAIK the bulk of link time optimization happens in the linker. The parallelizable compiler invocations just store extra information in the object files.
The linker invocation is a single make job, which is the unit of make -j parallelism.
> LTO fixes the "source analysis and optimization across compilation units problem" by annotating object files with intermediate representation so source-aware optimizations can be carried out across compilation units at link time (this slows down the linking process noticeably, but make -j helps).
make -j doesn't help linking speed, unless multiple binaries are begin built.