swiss tables were invented by engineers working at google's zurich office, hence the name
im surprised that go, a programming language also from google, wasn't using them!
for an excellent talk on the development of swiss tables i highly recommend this talk by Matt Kulukundis at CppCon 2017: "Designing a fast, efficient, cache-friendly hash table, step by step"
https://youtu.be/ncHmEUmJZf4
Go is much older than Swiss Tables. Since the hash table is a widely used container type and Go aspires to having a sort of "kitchen sink" stdlib I assume Go 1.0 had a hash table, and it can't be a Swiss Table because those weren't invented yet.
It's the "map" builtin. Go has a scripting-language-esque attitude of "you can build most things with arrays and hash tables". It doesn't completely preclude getting deeper but that's the general starting point.
The Rust std lib HashMap is powered by the hashbrown crate which is also a port of Swiss Tables. At a brief glance Ruby/Python don’t use this approach but I don’t see any reason why they couldn’t.
Python's hash table type, dict, promises that it remembers insertion order. If you put the mapping 5 => "dog" in first, then when we ask what is in the dict we'd get told 5 => "dog" first, duh.
Historically Python had a more conventional but very, very badly implemented hash table type, the "I can't believe it can sort"† of hash tables. Somebody wanted a hash table type which remembers insertion order because Python programmers have a bad habit of writing "Golden tests" in which that order matters even though in a good modern hash table type it's not guaranteed, so they built one. But because the built-in hash table type was garbage, this new OrderedDict type was much faster and much smaller despite solving a more difficult problem.
For a little while it was unclear if Python would decide to rewrite their dict type to have decent performance or just embrace this new better alternative and then they decided that because it's beginner friendly they will just embrace the OrderedDict and require that this type has ordering.
However, a good hash table doesn't inherently have this property, and that goes for the Swiss Table the same as other common designs. So they can't swap dict out for a Swiss Table without breaking their own promise that the dict type preserves insertion order.
If you're used to a language where this doesn't happen such as Rust, or C++ or Java or any number of other programming languages, that insertion ordering rule seems crazy, but if you've never used a programming language at all before and have never even wondered how dict works it seems obvious that this is how it should work.
Yes, Ruby also has the same self-imposed constraint on insertion order. I agree it makes it more complicated to change the hash table implementation but it seems it wouldn’t be impossible to adapt Swiss Tables to support this. For example, by storing the “insertion number” (an incrementing integer) in each bucket, and possibly using table groups (as Go does) so that you only need to sort the buckets in a group, not the whole table, in order to yield entries in order. But this is just a naive sketch and I am not an expert on hash tables!
ihtabs preserve iteration order and have performance competitive with swiss tables (while not requiring as high a load factor): https://github.com/vnmakarov/ihtab
I do think it is worth questioning why an entire thread is filled specifically and exclusively with cartoon character avatars. Pick a thread, pretty much any thread on bsky with 20+ replies and I believe you'll have trouble reproducing these results. I have had trouble finding one.
Feel free to locate some and point them out to me. Let me know how many threads it took you to find one. I am genuinely curious.
My guess is they are hobby artists who think that AI and piracy are the only things preventing them from making it big. There’s more of these out there than you would think.
If you look at the quality of their avatars it becomes clear why they aren’t making money as artists.
I didn't quite want to say it myself since I've been so negative sometimes lately. But it was something I noticed and picking a random profile to view was pretty stomach turning.
But I get there is backlash. Not everyone lives in the bubble HN does. Not even everyone here is accepting of AI. I don't even know where I stand many times. But something feels off about this response. It's certainly looking brigaded.
On my home feed was another AI announcement. Few comments. Zero hate. And I definitely expected more there.
Paint.NET is (partially) art software. The art community has a negative view of AI. Therefore announcements of AI use in Paint.NET get a negative reaction, more so than something like AI startup #491000
I see your point, but I always got the impression that Paint.NET was a barebones image/photo editor for power users. Typically something full featured like Photoshop, Krita, or Illustrator would be more in the art software camp, IMHO.
A basic AM/FM radio does receive radio, but you wouldn’t lump it in with a Yaesu or even a Baofeng.
I’m just surprised to see so many strong opinions from people who probably don’t even use the software (although they pretend they do).
no, the fragment shows kling is completely blinded by his own privileges as a cisgender white guy and completely missing the point of diversity by instead making it all about himself and other cisgender white dudes
its unfortunately very common for privileged people to not realize how good they have it compared to people with less privileges. you have to live it to really know what its like
diversity efforts being seen as "discrimination against [privileged group]" is exactly how we don't fix the problem
In the 2020's, this is just another genre of petty hatred. As time goes on, one "type" of person's historical privilege becomes less and less valid as a reason to reduce them in any way, as compared to anybody else (giving the benefit of the doubt that it ever was "valid"). Similarly, "diversity efforts" are laudable in theory, but in practice they are frequently just discrimination in the opposite direction of what is typical.
None of this has anything to do with "white replacement", or being "blind to privilege". You're stretching a totally reasonable viewpoint into "evil racism" because you don't agree with his point of view.
So you try to slander and discredit anyone who thinks differently than you. Same playbook every time, so boring.
You might think differently, but I think hiring someone based on their race to meet arbitrary racial quotas is insulting.
Once people start saying things like “his own privileges as a cisgender white guy”, that’s a red flag in my book—someone who writes like that, in my experience, doesn’t have real empathy for others, and uses “privilege” as an excuse to not have empathy or caring towards someone because of their gender or the color of their skin.
i couldn't find any information about it but i still see an AGENTS.md file at the root of the source tree so: how much AI was used in the making of this? how was it used?
Since early 2026 it's mixed AI and handwritten. Before that it was mostly written by hand. Quite a lot of the code goes back to 2018 even. Typically, I do back and forth with Claude Code agents on new features and bug fixes, reading and editing code along with it.
shouldn't we focus on human accessibility first? it also makes things more "machine accessible" as a byproduct, but at least humans remain the main focus
also, openshot is foss. can't you just give the source code to your clanker and let it mod itself in the app?
> shouldn't we focus on human accessibility first?
This is the big question for designers, how much of the future of software will be human-oriented UIs vs a human typing into a chat window (or as a temporary bridge, telling an agent to operate existing GUIs).
For now I believe agent-driven software is still pretty niche, something for highly technical users, but that will change as it mainstreams. Early adopters demand early adopter software features.
> a chat window is actually HORRIBLE for many tasks. i really strongly hope this isn't what the future of software looks like
I strongly concur - I don't want to "tell" the app to level the audio between several clips only to have it level everything to 0 and then take five minutes to undo etc
Everyone always views it through the current UX when I say stuff like this. The way I see it is we're in the DOS/UNIX era of LLMs where you're just staring at an empty text input box, it's slow, breaks often, GUI integrations are non-existent or primitive, etc.
Yes we should. Still UI is for telling the software to do meaningful work. Which means that every well designed UI software will have ready to expose api lurking just benath the surface.
if 99 poor effort/quality projects have a readme that reads in a particular style, then you expect the 100th project with a readme in the same style to also be of poor effort/quality
statistically, it only makes sense for your expectations to immediately be low when you encounter this writing style because there are just so much slop out there
the author is free to keep that writing style but they should be aware that this will—at least on the surface level—make their project look exactly like the metric ton of slop we see posted everyday everywhere
That's like saying a large percentage of X-colored people are criminals, therefore when we see an X-colored person it's reasonable to expect him to be criminal. As a society we have decided that heuristics like this, and prejudicing individuals based on statistics of the group, are not acceptable.
Also, what do we call it when people don't look beyond the writing style, such as at the code, or at the rigorousness of the tests, or at other substances beyond writing style? Slop assessment?
im surprised that go, a programming language also from google, wasn't using them!
for an excellent talk on the development of swiss tables i highly recommend this talk by Matt Kulukundis at CppCon 2017: "Designing a fast, efficient, cache-friendly hash table, step by step" https://youtu.be/ncHmEUmJZf4
reply