HNHacker News
TopNewBestAskShowJobs

Arech

383 karma · joined October 26, 2019

submissionscomments
Arech··on How to give a senior leader feedback without getting fired
Exactly this. Somewhat an issue here though, that this is essentially a matter of a person's culture. What you've said is most likely true for WEIRD (acronym) people, but for other cultures where retailiation is quite possible, one either have to dance that silly dances, or indeed polish their CV.
Arech··on Unit Testing Numerical Routines
Honestly, I was expecting to see suggestions for testing for numerical stability. This might be a super annoying issue if the data is just right to hit certain peculiarities of floating point numbers representation.
Arech··on Effect of a giant meteorite impact on Paleoarchean environment and life
Likely it isn't, because the Solar system today and 3Bln years ago are two very different systems.
Arech··on Effect of a giant meteorite impact on Paleoarchean environment and life
To the best of my knowledge not everyone agrees to that hypothesis. One of the strongest arguments against it is that paleontological evidence is always incomplete. Holes in it that are treated in favor of the hypothesis are actually smaller or comparable to holes that appear just due to incompleteness.
Arech··on Horse – The Organized Browser
Firefox + Simple Tab Groups addon is all you need.

Seriously, a browser is much more than just another program. It has become a foundation of lots of computer interaction experiences, and therefore requirements to it, especially to its security, are super high. I wouldn't expect "professionals" understanding all of this would want to ditch vendors they trust just because they can't keep up with tabs... Never had this problem since I discovered Simple Tab Groups, btw...

Arech··on Revealing causal links in complex systems: New algorithm shows hidden influences
Thanks. This should be the actual submission instead of the marketing-speak blah-blah
Arech··on Tell HN: Robots.txt pitfalls – what I learned the hard way
TLDR; I shoot myself in a foot thinking I'm shooting elsewhere. Don't do this!

Thanks for a useful info! /s

Arech··on Too much efficiency makes everything worse (2022)
And for me it was this ingenious 2019 paper co-authored by Stephan Hoyer and Sam Greydanus on doing structural optimization by employing a (constrained) neural network as a storage/modifier/tuner of the physical model describing the structure to optimize: https://arxiv.org/abs/1909.04240 Super interesting approach and very well written paper.
Arech··on Coding Font by Typogram – Find Your True Love of Coding Fonts
ah, but maybe it's the first time in a history when I'm happy with a font I've just found. Thanks for the site and for featuring the Incosolata font!
Arech··on Coding Font by Typogram – Find Your True Love of Coding Fonts
This one is good, however, for me there's always a weird problem - I choose a font I like on some site, install it, then set it in my IDE (MSVS or VSCode @Win7/10/11) and it is... I wouldn't say like sh*t, or even looks very much different, but for some reason just not as good as it was in the browser. I wonder what am I doing wrong?
Arech··on X64_dbg: An open-source x64/x86 debugger for Windows
Thanks, I've also found this, but the last commit happened long ago, so I wasn't sure the project is alive. Will try it.
Arech··on X64_dbg: An open-source x64/x86 debugger for Windows
I guess, it's a user-mode debugger? Just curious, what is the sort of current choice for a kernel-mode debugger (beyond WinDBG)? Long-long time ago, khe-khe, when trees were small, khe-khe, there was SoftIce to rule them all, but its long dead...
Arech··on Someone's been messing with Python's floating point subnormals
That's very important info for some pythonistas, thanks for sharing!
Arech··on Firefox Sidebar and Vertical tabs: try them out
A mandatory comment of the single most important tabs related feature, called "Simple tab groups" extension. https://addons.mozilla.org/en-US/firefox/addon/simple-tab-gr...

The rest IMO is just nice to have.

Arech··on C++'s `noexcept` can sometimes help or hurt performance
perfect again, thank you!
Arech··on C++'s `noexcept` can sometimes help or hurt performance
It would be super interesting to read the paper. Please post a link or some more details if you will remember them.
Arech··on C++'s `noexcept` can sometimes help or hurt performance
but to me these are - again - a user induced problems. I'm interested if a user doesn't do stupid things, should they still afraid that a standard extern C code could throw? Say, std::sprintf() which if I'm not mistaken boils down to C directly? Are there cases where C std lib could throw without a "help from a user"?
Arech··on C++'s `noexcept` can sometimes help or hurt performance
a perfect answer, thank you!
Arech··on C++'s `noexcept` can sometimes help or hurt performance
Interestingly, AUTOSAR C++14 Guidance (https://www.autosar.org/fileadmin/standards/R22-11/AP/AUTOSA...) had a "Rule A15-4-4 (required, implementation, automated) A declaration of non-throwing function shall contain noexcept specification." which was thankfully removed in MISRA C++2023 (the latest guidance for C++17, can't give a link, it's a paid document), - it mandates it only for a few special functions (destructors, move constructors/assignments and a few more).
Arech··on C++'s `noexcept` can sometimes help or hurt performance
Yes, true, thanks. I confused "will it throw given inputs&state?" with "can it potentially throw?".

I wonder, why compilers don't expose that information? Some operator returning tri-state "this code provably doesn't throw | could throw | can't see, break the compilation" could help writing generic code immensely. Instead we have to resolve to multi-storey noexcept() operator inside a noexcept qualifier which is very detrimental for the code readability...

Arech··on C++'s `noexcept` can sometimes help or hurt performance
Yes, my mistake was in confusion a run-time question "will it throw?" with "can it throw in theory?". The latter if I'm not mistaken again only requires a throw statement somewhere in a non-dead code, which is totally possible to find out for a code compiler could see.
Arech··on C++'s `noexcept` can sometimes help or hurt performance
jfc... Can you give more info how did you learn this and to which lib implementation this applies?
Arech··on C++'s `noexcept` can sometimes help or hurt performance
> in practice there is a ton of code marked extern "C" which throws

Obviously, a random programmer could do any evil things, but does that apply to standard code, such as C standard library used from C++?

Arech··on Everybody gets a star: Yelp's effect on restaurants and reviews
> If you see lots of people in a place and it’s crowded it’s probably good.

McDonalds? it's even called a "restaurant"...

Arech··on C++'s `noexcept` can sometimes help or hurt performance
Ah, that's a great correction, thank you! Yes, indeed, due to a drift, in order to discern second+ (?) differences on different machines (or same machines, but different OSes?), one definitely needs to use a wall-clock time, otherwise it's comparing apples to oranges. There's a lot of interesting questions related to that, but they out of the scope of the thread. If I'm not mistaken the author has also timed some individual small functions, which, if correct, still poses a problem to me, but for measuring huge long running tasks like a full suite running 10+ hours, they are probably right in choosing wall-clock timer indeed.

However, before researching into results any further (for example, -10% difference for `noexcept` case is extremely interesting to debug up to the root cause), I'd still like to understand how the code was run and measured exactly. I didn't find a plausible looking benchmark runner in their code base.

Arech··on C++'s `noexcept` can sometimes help or hurt performance
Eeeermm... I haven't heard an explosion, but 4+ hours has passed. Are you alive there, dude?

Jokes aside - I'm always happy to be corrected, so please go on if I made a mistake somewhere.

Arech··on C++'s `noexcept` can sometimes help or hurt performance
No, it can't do that. My speculation is that likely it is so because in general case this might be a NP hard problem similar to the halting problem https://en.wikipedia.org/wiki/Halting_problem.

The best it can do is to say whether a given function is qualified with `noexcept` (see noexcept() operator https://en.cppreference.com/w/cpp/language/noexcept)

Arech··on C++'s `noexcept` can sometimes help or hurt performance
That's quite interesting and a huge work has been done here, respect for that.

Here's what has jumped out at me: `noexcept` qualifier is not free in some cases, particularly, when a qualified function could actually throw, but is marked `noexcept`. In that case, a compiler still must set something up to fulfil the main `noexcept` promise - call `std::terminate()` if an exception is thrown. That means, that putting `noexcept` on each and every function blindly without any regard to whether the function could really throw or not (for example, `std::vector::push_back()` could throw on reallocation failure, hence if a `noexcept` qualified function call it, a compiler must take into account) doesn't actually test/benchmark/prove anything, since as the author correctly said, - you won't ever do this in a real production project. It would be really interesting to take a look into a full code of cases that showed very bad performance, however, here we're approaching the second issue: if that's the core benchmark code: https://github.com/define-private-public/PSRayTracing/blob/a... then unfortunately it's totally invalid since it measures time with the `std::chrono::system_clock` which isn't monotonic. Given how long the code required to run, it's almost certain that the clock has been adjusted several times...

Arech··on rr – record and replay debugger for C/C++
And, I guess, before that, there was AMD SymNow, which was plug-in extendable and gave a plugin full control over CPU being emulated. I wonder if something like that is available somewhere?
Arech··on Gpu.cpp: A lightweight library for portable low-level GPU computation
Very interesting... I wonder, how does code performance compares to raw Vulkan?
← PreviousPage 2 of 8Next →