Recent submissions

Comment · 1 month ago
Comment · 4 months ago
I see that https://en.wikipedia.org/wiki/SRGB#Translation_to_integers implies what I would call node-centered sampling ("standard" or "mid-tread" in the post), but are you aware of sRGB documentation that precisely specifies the quantization semantics?

Most of what I've read about sRGB focuses on the semantics of continuous (floating-point) R,G,B channels.

Comment · 5 months ago
This is like a 1D version of what a scientific computing person might describe as the distinction between node-centered ("standard" or "mid-tread" in this post) vs cell-centered ("alternative", "mid-riser") samples: do consider values to be at the middles of bins (or middles of triangles, or middle of tetrahedra), or the boundaries between intervals (or vertices of triangles, or of tets).

In a scientific computing setting it would be insane to start doing data processing without knowing how to interpret the values. In the context of audio signal processing, if you just get a stream of integers, you'd have to know the representational intent of those integers (mu-law encoding or linear?) if you're going to compute anything about the underlying signal. The meta-data accompanying the values would hopefully provide the answer.

But with 8-bit pixel values, absent any meta-data from a competent file format that can communicate the representational intent, we're adrift and there's no right answer (like the author says). Certainly no one can fault you for picking whichever one seems to be give better results for your application, but you can raise awareness that bits without context have had their meaning undermined.

Comment · 5 months ago
But traversing the prototype chain (to figure out method dispatch) is also potentially slow without static typing, and we're managing that ok, no?
Comment · 5 months ago
Comment · 5 months ago
This is very cool! I would love the ability to scribble arbitrary smooth curves (like a little right hand, or a comma, something asymmetric to highlight the symmetries in play) and see how they are repeated.
Comment · 5 months ago
Yes, if it included a spanx-like thing to contain my belly. Otherwise it would not look flattering, on me at least.
Comment · 5 months ago
Thanks for highlighting this. I've seen a lot of popular press about Magnifica Humanitas that notes the slavery apology. It does make some sense with this (recent, as you note) humanist push, but shoe-horning a centuries-overdue apology about actual terrible slavery into a consideration of how AI might metaphorically enslave us feels a little weird.
Comment · 7 months ago
Comment · 7 months ago
I like this justifiation of NaN != NaN; it emphasizes that NaN has representional intent, more than just some bit pattern.

We take for granted that (except for things like x86 extended precision registers) floating point basically works the same everywhere, which was the huge victory of IEEE 754. It easy to lose sight of that huge win, and to be ungrateful, when one's first introduction to IEEE 754 are details like NaN!=NaN.

Comment · 7 months ago
Thank you for the background info, and sorry for me explaining CFFI (I just wanted to be sure we were talking about the same thing). Being ignorant about PyPy, I honestly had no idea until now that there was a personnel or purpose overlap between CFFI and PyPy. I am very grateful for CFFI (though I only use it API mode).
Comment · 7 months ago
Sorry can you explain more the connection between PyPy and CFFI (which generates compiled extension modules to wrap an existing C library)? I have never used PyPy, but I use CFFI all the time (to wrap C libraries unrelated to Python so that I can use them from Python)
Comment · 8 months ago
Is there any visibility or accountability to record exactly what it did and not look at? I doubt it. So we're left with a kind of Rorschach test: some people think LLMs follow rules like law-abiding citizens, and some people distrust commercial LLMs because they understand that commercial LLMs were never designed for visibility and accountability.
Comment · 8 months ago
Sure, a license can't create new legal understanding of "derived work", but I think the intent of what Splinelinus said still works: a license outlines the terms under which a licensee can use the licensed Work. The license can say "if you train a model on the Work, then here are the terms that apply to model or what the model generates". If you accept the license, those terms apply, even if the phrase "derived work" never came up. I hope there are more licenses that include terms explicitly dealing with models trained on the Work.

Also, for comparison, both GPL and LGPL, when applied to software libraries (in the C sense of the word), assert that creating an application by linking with the library creates a derived work (derived from the library), and then they both give the terms that govern that "derived work" (which are reciprocal for GPL but not for LGPL). IANAL but I believe those terms are enforceable, even if the thing made by linking with the library does not meet a legal threshold for being a derived work.

Comment · 8 months ago
but I came here for amusement, not existential dread.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton