A: For small arrays. I would add: particularly if you need a stable sort algorithm, which is either complex (Block Sort) or uses O(n) space (Merge Sort).
There is stable in-place merge sort [1], which is O(n*log(n)^2) and not that complex or hard to implement (about 80 lines, and that includes the ~15 lines of binarySearch, which you might need anyway).
Education and believably honest offers of support are needed to navigate the world, which is ugly and evil in some parts. Restrictions are really just counterproductive because curious young people are drawn to restricted stuff, and age restrictions build a sense of 'us (the young) against them (the adults)', so it's hard to convince that you actually offer honest support. Restrictions also focus on the bad parts, while we should instead focus on the good parts, the advantages of a global network of anything, which is totally amazing. Restrictions are counter productive.
Humans need to learn to live here, and it starts when we're young and curious.
Ok, now we have no restrictions. Timmy just got his driver’s license at 13 and is on his way to 7-11 to pick up a 24 pack because he’s young and curious.
Concerning hash algorithms, for me, it was cuckoo hashing that blew me away. The algorithm is so simple and yet has O(1) guaranteed lookup complexity, i.e., it is better on theoretical level than other open addressing. It is also versatile by having a configurable trade-off (the number of buckets) between time constant and fill ratio. Most impressive is its simplicity combined with that it was invented only so recently (2001).
> ... Anyone who designs UI for the real world already knows people barely read text ...
Then they are wrong. And are bad UI designers following folklore instead of sound ergonomy.
I absolutely hate icons, and parsing and remembering them causes great cognitive load on me. Also, icons like to change with each revision of the apps, with styles etc., and are not uniform across apps. This makes them completely useless to me. Maybe I can cope with an '[X]' to close a window, but that's about it. Even very common functions like 'Save' or 'Add' usually have completely arbitrary and confusing icons. 'Add' is not a long text. It works. I need text. Without any icons. I want to switch icons off so that the text can have maximum space to be reasonably large to be seen and read easily.
People are different is what UI designers should know instead.
Any experience with Codeberg + F-Droid after migrating from Github? I.e., is it possible to have F-Droid auto-detect releases on Codeberg like it does on Github?
Complex, but as far as mechanical calculators go AFAIK not over complicated. Or is there a simpler mechanical calculator design that packs the same functionality in such a handy package?
I would forgo handy package part. I think someone built a 3d printed Curta and it turned out 3-4 times the size of the original so much for being "handy". Maybe we should try a Odhner or Brunsviga or some other design.
Well, many or even most non-Americans generally look up to America to learn. The USA are regarded as the pinnacle of world culture, industry, and commerce by the world. Even in non-western countries, and even if daemonized by certain leaders, the common people generally know that there are the greatest achievements in the USA. A few people may not do so, and may know how bad some corners are cut and how rotten some things are, but that's a minority. Also, if a powerful US politician farts, it is on all the front pages of all media outlets around the world. There's no escape, US news are pushed into all corners. And politicians in the world see that the thug model has worked quite effectively, and so strategies are taken over to do the same everywhere else, like ignoring science and instead citing 'common sense'.
All this BS that's currently going on spreads into the last corners of the world as ultimately good ideas, as truths, and the thugs are role models for the world.
It is not good. How to explain future to my kids? Yeah, sorry, I am also using the 'kid' argument now.
FWIW, JSON with `#` comments and redundant comma before `}` and `]` is already supported by many programming languages, e.g., Perl's JSON module (the 'relaxed' option). The advantage is that correct JSON also works, i.e., that JSON module just make it less error prone for humans, but otherwise sticks to the existing format.
> This is why I based my MAML on top of JSON. I fixed things that were a little bit annoying for me inside JSON.
And now it's incompatible with JSON, which is the worst part of the idea.
Instead, maybe propose a patch to your favorite programming language's JSON module to accept the same extensions for humans that the Perl module already supports, and maybe someone uses it for their JSON config files. This moves us together instead of further apart.
It's all about the angle. I am sure that just outside of the camera frame, there's a mobile phone shop, a Burger King or MacDonald's, and other trivially universal city commerce. :-) Let's see...
The point I was addressing from the parent comment was the implication that Hamelin is located in southern Germany. It could be rewritten to, as you pointed out: