Recent submissions

Comment · 1 month ago
Being charming and persuasive is legitimately one of the core skills of a CEO or any leader, though!
Comment · 2 months ago
At the current pace of innovation, the 2020s might even see us catch up to where Google Wave was in 2009. Exciting times.
Comment · 4 months ago
HLA
Comment · 4 months ago
Comment · 5 months ago
git let me make changes to local files without fear, since version control let me undo those changes easily.

jj let me make changes to my git commits without fear, since version control of the git state itself let me undo those changes easily, too.

Comment · 5 months ago
That’s, uh, exactly how jj works!
Comment · 6 months ago
Comment · 6 months ago
With jj worktrees, you can even have agents working on each of those sub-megamerge branches in parallel.
Comment · 6 months ago
Comment · 6 months ago
You’re still not getting it. Duck typing comes from the phrase “if it looks like a duck, and quacks like a duck, then it must be a duck”. The Wikipedia page contrasts it with nominative typing that requires a declaration, and calls out that duck typing does not need the adapter pattern. What you are calling duck typing is just “interfaces”.

Also “tasks.create” is morally a route. Eg grpc has web transports and autogenerated CLIs too; even without those, there’s no particular reason why the OBI “client layer” couldn’t just be, say, gRPC under the hood, with the OBI specs just being used to codegen adapters from the source protocol to gRPC. It would then immediately have a much more widely understood and supported client layer, with better performance, while remaining as simple to implement as the adapters to this new custom OBI runtime protocol.

Comment · 6 months ago
Artificial intelligence predates computers.
Comment · 6 months ago
Ad-hoc duck typing—“if it looks like a duck[…]”—is the only kind that exists! The point of the term “duck typing” is that it doesn’t require explicit declaration of the contract by implementers, it’s not synonymous with polymorphism or with interfaces in general. Haskell type classes are not duck typed, nor are Swift protocols; Go interfaces are.

OBI is a boilerplate generator for the adapter pattern for service communication; its contracts are just another set of their own paths, payload shapes, and protocols. The distinction between “protocol” and “contract” in this context is nonsense.

Comment · 6 months ago
Comment · 6 months ago
Might makes right; brains hold reigns.
Comment · 7 months ago
Sure—but that’s a property of the inferred types moreso than the mere application syntax. It can be hard to revisit or understand the type of JS or unannotated Python expressions, too—but unlike those cases, the unknown-to-the-reader type of the Haskell code will always be known on the compiler/LSP side.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton