IT Hare on Soft.ware

Disclosure: On this site you won’t find specific advice on “how to call function xyz()”. Interpreting C++ ARM and #pragma dwim is also out of scope.

We’re treating our readers as intelligent beings who can use Google and/or StackOverflow, where all such specific questions were answered more than once.

What you will find is opinions, more opinions, and even more opinions on all the aspects of software development - and with a large chunk of them based on real-world experience too.

Your mileage may vary. Batteries not included.

 

C++: “model of the hardware” vs “model of the compiler”

Quote: “we MUST NOT care about compiler internals beyond our task definition (which is based on (a) humans, and (b) hardware, that’s it).”
Another Quote: “My problem with introducing a ‘model of the compiler’ into the picture, is that it can be used to justify pretty much anything without any relation to real-world requirements.”
[]

How Blockchains Get Attacked and How Bitcoin Got Hacked, Part II

Quote: “Armed with this information, criminals could steal user’s cryptocurrencies.”
Another Quote: “The Lightning Network is the next generation of proposed solutions to the Bitcoin scalability problem”
[]

How Blockchains Get Attacked and How Bitcoin Got Hacked, Part I

Quote: “Security is often cited as the foremost advantage of choosing blockchain technology over centralized systems.”
Another Quote: “There are recorded cases of hackers either compromising or taking advantage of loopholes in self- executing contracts on the blockchain”
[]

Too Much Unit Testing Is Detrimental for Code Quality?

Quote: “Code quality tends to be Quite Bad(tm) when there is no unit testing at all, reaching maximum when there are 0 to 10% of the unit testing methods, and degrading afterwards.”
Another Quote: “It is quite easy to get past the optimum amount of unit testing for your project. And whenever your unit testing starts to affect your code in a negative way – you should stop”
[]

CAS (Re)Actor for Non-Blocking Multithreaded Primitives

Quote: in 2017, I started to feel that the Dark Ages of mutex-based thread sync were over
Another Quote: Another issue which almost universally rears its ugly head when speaking about not-so-trivial uses of CAS is the so-called ABA problem.
[]

Testing Memory Allocators: ptmalloc2 vs tcmalloc vs hoard vs jemalloc While Trying to Simulate Real-World Loads

Quote: “if you DO want to get performance from changing mallocs, make sure to test them with your own app”
Another Quote: “in our humble opinion, overall winner so far (by a nose) is jemalloc.”
[]