Recent submissions

Comment · 8 days ago
Ah, finally real AI programming
Comment · 18 days ago
Comment · 22 days ago
Much like humans, language models have context limits. Abstractions exist for a reason, and good abstractions simultaneously make code easier to read for humans and easier to process for language models
Comment · 25 days ago
In any field of characteristic 2, every element is its own negative. So on the surface this makes sense, notwithstanding the unintuitive enum corner case behaviour
Comment · 26 days ago
There's a relatively popular point of view amongst Haskell programmers that explicit recursion is the goto of functional programming; a dedicated folding or traversing function provides more clarity on what exactly the function intends to do. The extreme end of this is recursion schemes and memes like zygohistomorphic prepomorphisms, which are almost certainly overkill on lists proper but might be useful when traversing bigger recursive structures. Personally, I almost always prefer to find a monoid to map the list elements into, and use `fold :: (Monoid m, Foldable t) => t m -> m`. It's essentially the equivalent of using `sum()` instead of `reduce()` in python
Comment · 26 days ago
Comment · 1 month ago
Kubernetes but for agents :(
Comment · 1 month ago
Even in the world of functional programming, there's an argument to be made that `fold` is a bit of a code smell, in a similar vein as `while` being slightly smelly in an imperative code base. There's good reasons for each to be used, but they are such low level iteration primitives that you might be better off with a higher one (e.g. for loops or iterators in imperative programs; in FP you might reach for monoidic reduces (as opposed to folds where the accumulator is a different type from the list element), monadic traverses, or recursion schemes). Even though you can implement iterators or for loops in terms of while loops, you probably shouldn't, and similar for functional traversals.

In languages like python or Java though, you don't really have access to many of the higher power functional traversals however. So that puts you into a similar kind of bind as working in a language with only while loops

Comment · 5 months ago
I've really enjoyed playing around with https://github.com/markqvist/nomadnet and the reticulum protocol in general as a peer-to-peer alternative to www
Comment · 5 months ago
Matrix multiplication introduced before vector addition... the "Linear Algebra Done Right" in me is screaming inside.

That being said, it is definitely cool to have a Jupyter-notebook based set of examples of practical linear algebra

Comment · 8 months ago
Comment · 1 year ago
Hi David and Amanda! Followed you guys from the very beginning, glad to see Recall.ai get so big!
Comment · 1 year ago
Obligatory mentions of cuelang and dhall here. I've used both for kubernetes and other large configs in multiple software teams and both are significantly more of a joy to work with than HCL or yaml
Comment · 1 year ago
Haskell already supports deriving Functor and Foldable

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton