19,433 karma · joined February 4, 2013
I don't think that number is correct…
Just to clarify where I started from: JS has the notion of String Primitives and String Objects[0], and concatenating two string primitives results in another string primitive. It's as if it always calls .intern(). Except, since from a user perspective there is no option to not intern it, JS implementations are free to do optimizations that don't seem available to Java. Like avoiding heap allocation for provably short-lived strings in the first place, and not interning them if they are never compared (I don't actually know if it does those optimizations, but I imagine it shouldn't be too hard to prove these things with many short functions).
[0] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
Wait, why would interned immutable strings require more instructions when doing regular string access? You can still point to the start of a zero-terminated C-string, it just requires storing extra metadata like lenght and a string hash somewhere. Which can be done at the negative indices of said pointer.
Or do you refer to the extra rolling-hash pass needed when concatenating two strings to verify if it would result in an already-interned one? Because yes, that's one extra rolling hast pass over the appended string the first time a string is constructed, but after that doing so again likely saves memory and construction time, because any concatenation that would result in an already interned string would avoid actual memory allocation and copying of the string's characters.
Plus string comparisons become cheap O(1) pointer comparisons this way, which is really nice in many use-cases.
And that's not even considering more advanced tricks like interning short strings in the 64-bit word of the pointer to the string itself, relying on the fact that modern memory allocators never return an address with the lsb set, so it can be used to flag it as such[0].
Millennials catching strays I see.
That's E and Self erasure.
The funny thing is that apparently "cucumber time" also existed as an expression in English for a while in the 18th century. One suggested etymological origin for the Dutch "komkommertijd" was as a loan work from the English around the same period, except ttat it survived after the English stopped using it. According to some sources cited on the Dutch wiki page the expression was mainly used by German tailors in London.
If the goal is to create a paintlery illusion then there are undoubtedly ways to mitigate this lack of texture though.
[0] https://observablehq.com/@jobleonard/a-fast-colored-stipple-...
And thank you for looking into the accessibility issue regarding links!
So interestingly, one distinguishing difference between oil paintings and acrylic paintings is that the former has more translucency, whereas the latter can be more easily layered on in a way that covers up the lower layers. This is what, according to one of my mentors in art school who was a painter, allows oil paintings to copy the feeling of real skin so well: it allows a painter who mastered the medium to create a similar subsurface scattering effect. That's also another reason why paintings in real life can look so different than images on a screen, aside from the much greater gamut than even the best color screens we have and the actual surface texture of the paint strokes. The downside is that any mistakes made on deeper layers will come through in higher layers. Especially if you paint using the techniques used by the old masters.
Anyway, this suggests your gaussian splats essentially are closer to "oil painting"-like. Makes me wonder if you could also encode this subsurface scattering and texture somehow, so that viewing the splats in 3D would recreate some of that missing effect of looking at a real painting!
Also, on the other end of the spectrum: do you think the algorithm could be modified to create SVG output? Then it might be useful as an artistic "upscaling" filter too.
(Also, speaking as someone with protanomaly, I'm guessing the links have some kind of turquise or light teal color to them, but it is effectively bright gray to me. And since they have almost the same brightness perception as the white text I genuinely cannot tell where the links are (except when the text calls them out). Since this is likely to affect anywhere between 5% to 10% of all men visiting your blog that might be worth changing.)
It's like… the way a trained human would paint feels kind of like how MSB radix sort makes an array look more ordered, going from crude to refined. The way your algorithm builds up an i|age feels like I'm looking at a radix sort that alternates between a stable MSB and LSB radix sort, which is weird as heck. It's fascinating, really.
> But when it comes to a "post-politics that is neither right nor left," the definition I turn to most often comes from science fiction writer Steven Brust, who once told me:
> "Left" and "right" have had the same meaning since the French Revolution. If you want to know if someone is on the left or the right, ask them, "What is more important: human rights or property rights?" If they say "Property rights are a human right," then they are on the right.
> That's it. That's the crux. If you think that property rights are a tool for achieving human rights, then you're on the left. You might support the right of farmers to block attempts to expropriate them via eminent domain in order to build a data center, or the right of people to not have their homes or devices searched by cops, or a library's right to own and archive digital books, even if the publishers insist that ebooks are never "sold," merely "licensed."
https://pluralistic.net/2026/07/08/wilhoitian/#human-rights-...
Somewhere in the afterlife, Max Weber proudly sheds a tear of happiness while whispering "this guy gets it", hahaha (of course his whole philosophy depends on the rules being as fair as possible, and also that they are enforced uniformly and fairly, but let's not get too lost in the weeds here).
Anyway, lovely article and congrats on finding a place where you feel home!
Having said that, the categories that shrank all did so by a big enough percentage to also shrink in absolute number of words, so at least that isn't a problem.
EDIT: I remember now that the first time I came across his work was over 15 years ago when I was trying to interpolate between two vector shapes, and always had to deal with twists between them. I ended up reading a paper by him showing the fix for Catmull-Rom splines[0]. Ever since I've sounded like mad-man for complaining that 3b1b should have used "centripetal parameterization" for manim, haha, because it also often has these twists when interpolating.
Anyway, the main uses case I see for these playground sites are:
1) small hand-crafted replications of suspected browser CSS bugs or the like, and testing possible workarounds. That often involves sending them to other members in the team (because I use Linux and Android, two colleagues in the team use Windows, and two using Apple products)
2) trying out some idea for how to make a particular component. Which is effectively almost the same as above, since that needs to be tested across browsers.
So I don't need bells and whistles beyond a simple text editor with code folding. That might not apply to everyone else.
Also, the exact same line of thought applies to js benchmarking sites, which is why I use jsbenchit (which is jsgist but for benchmarks). It also seems to be one of the few benchmarking sites without spurious de-opts of JS code, or noise from GCs triggered by the website itself in the middle of a benchmarking run.
[0] https://jsgist.org/, https://github.com/greggman/jsgist/
[1] https://jsbenchit.org/, https://github.com/greggman/jsbenchit/
(also, the sister site jsbenchit[1] has been one of the more reliable microbenchmarking tools among the various sites I've tried - most end up triggering deopts or introducing "noise" in a way that makes the output less reliable)
IMO Ron Gilbert's biggest weakness as a writer is mainly that he has a tendency to use fourth wall breaking for everything, including the final plot twist in most of his games. It was there in his originally planned ending for The Secret of Monkey Island. That ending sort of came back as the actual ending of Monkey Island 2. Then Monkey Island 3, which didn't involve Gilbert, soft-retconned the previous game's ending, then three games later Ron Gilbert came back for Return to Monkey Island and basically retconned everything to use the original ending he planned for the first game!
And I think the main problem with it is that it tends to make the writing feel like the author doesn't dare to admit that they love the world that they created. It's kind of like how some teenagers discover sarcasm and use it everywhere because it makes them feel more "mature" than younger kids who don't understand it yet, without realizing it actually makes it very obvious to everyone else that they are masking their insecurities by acting "edgy".
To me, Gilbert's tendency for 4th wall breaking often ends up feeling similar, like the story is trying to be self-deprecating to mask insecurities about its own writing (and also, it just feels like a total cop-out to avoid writing a ending that ties all the absurd plot threads together into a satisfying pay-off).
Thimbleweed Park had that problem for me, and it kind of soured me on the ending.
Now, I don't want to suggest that the meta stuff is inherently bad. In fact, the ending of Return to Monkey Island actually was pretty satisfying to me. Mainly because of Elaine. At some point there is a very blatantly fourth-wall breaking dialogue you have with her, but unlike other times it feels more like an honest reflection on nostalgia for old adventure series, its stale tropes, how that represents growing older and having to accept that things change or be stunted forever. And it comes back at the ending in a way that makes it very clear that the implied message is "yeah it's all make-belief nonsense, it has flaws, and it's also fine to admit that you love it anyway". You're Guybrush Threepwood with a loving wife who keeps you grounded despite yourself, and the fourth wall breaking doesn't take that away. It's meta but it's sincere meta.
So I guess Gilbert's a fine writer as long as he manages to keep the fourth wall breaking grounded in sincerity. Return to Monkey Island came out five years after Thimbleweed Park, so maybe Thimbleweed Park 2 will have a similar nuance to it. I hope it does.
Also makes me wonder if this will have uses outside of graphics? Bézier curves are used in other contexts too, aren't they?
> Yuksel [2024] explained how Seiler interpolation can be used to evaluate polynomial curves, including B´ezier curves, and noted that GPU linear interpolation could be used for the initial linear interpolation steps, with the remaining interpolations done in shader code.
> In this paper, we present the details of evaluating Bézier curves using hardware-accelerated linear texture interpolation and show how to perform all interpolations on the hardware, using both the de Casteljau algorithm and Seiler interpolation. We also compare performance and accuracy against curves evaluated as polynomials in shader code.
Per your linked article:
> But then comes the adjustment the viral chart skips entirely: when Ritchie controls for population, expressing both figures as rates per 100,000 people, the picture shifts. "Gun deaths in the US are now slightly larger than European heat death rates," she wrote.
> I think this comparison is a bit silly," she wrote, "but sympathize with the overall sentiment." Fewer gun deaths in America would not make European heat deaths acceptable, or vice versa. What the data is actually showing, she argued, is something simpler: status quo bias. "Both places take the status quo as a given"—a high-mortality situation in one domain that each society would never accept in another.
Sounds like the most interesting part would be learning what approaches the LLM did use to see if that's reusable elsewhere. I'm guessing that's what the rest of the article is about? Because I also couldn't follow the maths any more.
I distinctly remember being amazed that it would just iterate until it reached equilibrium (maybe we had to change some setting somewhere first though, I never really used Excel before or after that). I think you could change a value mid-iteration, and the grid would just continue on with the previously calculated cell values, instead of start over from scratch. That's basically "weakly connected", isn't it?
(anyway, the real challenge is to find a practical use for Excel's hidden fractal powers https://www.youtube.com/watch?v=b-Fa6HtvGtQ)