Hacker News new | past | comments | ask | show | jobs | submit | mulle_nat's comments login

I have been using https://github.com/marty1885/landlock-unveil on Linux for about two years now on my stock Ubuntu kernel. I am not sure, why this hasn't become more popular. It's also rootless sandboxing (and it does `unveil` like OpenBSD I guess). I use it to confine builds of third party software with success.


Frankly yes, though I still prefer text editing in Sublime Text.


I am using fnv-1a to hash Objective-C method selectors, which are generally just identifier characters and zero or multiple ':'. At the time of my research, fnv-1a had the least collisions over my set of "real life" selectors. I think, it could be worthwhile some time, to try out other constants for maybe even less collisions. Is your list of good primes available ? (And maybe also those that are not quite perfect)


Everything is in the source code. I highly doubt any of the good hash functions listed in smhasher3 (ie all tests passed) would collide over identifiers.

So they should all have zero collisions, meaning there’s no ‘least’ among the good quality ones - they’re all equally collissionless (they differ in other tests).

Sounds like an interesting project. What’s its purpose?


Cool. I forgot to mention, that I am truncating the hash down to 32 bits to hopefully generate tighter CPU instructions. At these few bits, collisions are still rare enough, but they are a concern.

Now my understanding of the choice of prime is that, you are "weighing" the input bits and the computed bits, that will form the hash. So in case of identifiers its very likely that bit 7 of the input is always 0 and say maybe bit 4 is statistically more likely to be 1 by some margin. The other input bits would have some entropy as well. I would expect that certain (imperfect) primes would then aid me to get a better use of the 32 bit space and therefore less risk of a collision for my Objective-C runtime.

You can check out the project here: https://github.com/mulle-objc.


Ah, that's interesting. 32-bits yes you would get some collisions even from good hashes just statistically.

Also now I understand your constraints. Very interesting, so you are designing a custom hash function to use in this specific domain of keys with specific probabilistic properties, and you are thinking that there would be some way you could multiply by a certain prime that would ideally fan out these keys to be evenly distributed over the space?

mulle-objc looks fascinating: fast, portable Objective-C runtime written 100% in C11. I encourage you to post a Show HN I'm sure people here would like it.


Actually I already did, a few years ago: https://news.ycombinator.com/item?id=13030568


Hahaha! :) Good on you. Nothing to stop you posting again :)

Truly I have much experience with Posting Show HN's. There's very little quality difference between something you post that gets 3 points and something you post that gets 300 points. A lot of it depends on time, current dynamic audience, and other posts at the time.

Repeat post to get a better idea of the true interest in your work. I encourage you to do it again!!! :)


Spooky also has some good results on common identifiers.

But fnv-1a is in a completely different league. It's recommended for hash tables with other security measures than hash function security. This hash is a typical hybrid, but not universal. umash would be the perfect hybrid: insecure, pretty fast, passes all tests, universal


Thanks for the umash tip.


I think for sports, I could wrap all the various mulle-sde and mulle-bashfunction files back into one and make it > 100K lines. It wouldn't even be cheating, because it naturally fractalized into multiple sub-projects with sub-components from a monolithic script over time.


I tried it on two of my git repositories, just to see, if it could do a decent commit summary. I was very pleasantly surprised with the good result. I was unpleasantly surprised, that this already cost me 175 credits. If I extrapolate this over my ~100 repositories, that would already put me at 8750, just to let it write a commit message for release day. That is way out of free range and basically would eat up most of the $99 I would have to spend as well. My subscription price for cody is $8 for a month. Pricing seems just way off.


When I benchmarked it, I saw no difference between [ and [[ when using bash, so I assume [ is handled (now) by the shell as well.

The syntax inside [[ is different though.


The dash shell is supposedly four times faster than bash, and dramatically reduced Ubuntu's boot time.

The [[ test syntax is not implemented in dash. It is listed as a future reserved word in the POSIX shell standard, but is not (yet?) specified.

(Google: POSIX shell)

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V...

If you pull the HTML file off the above link, you will get a directory listing of all of the POSIX.2 utilities (tar, sed, awk, etc.). The options that you find in the specifications are maximally portable.


Who is "we" ?


You and me and other people we know.


))<>((


back and forth forever


Leave me out of it, I have other plans :)


I would assume this is completely standard. The ear doctor I went to, and that guy was noone "fancy", did this and that must have been more then 10 years ago.


In my experience, they're actually playing a super high frequency gradient and it's listening for the echo/feedback. It's how they do hearing tests on newborns too.


You can use `act` to run github actions locally. But its still unpleasant and there is still some friction (like: use sudo, or don't use sudo)


After 10m of using act I gave up, because of the millions of "oh so slightly different" environment than github actions.


They use their own variant of wine (https://github.com/ValveSoftware/Proton)


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: