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.


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.”

How to consume an HTTP API

Quote: “Programs are not the self-contained, self-reliant, self-sufficient things they once were.”
Another Quote: “I highly recommend you log every HTTP request you send and every HTTP response you receive.”

Unchecked Exceptions for C++

Quote: “‘unchecked’ std::errors are treated as ‘something which should never ever happen, but in practice MAY occur as a result of potentially-recoverable bug'”
Another Quote: “Failing-Fast does NOT mean we should necessarily Fail-Hard(!). In certain (production!) cases, Failing-Fast-AND-Soft IS a substantially better alternative.”

App-level Developer on std::error Exceptions Proposal for C++. Part II. The Discussion.

Quote: “having an ability to associate extra information with std::error is important for us – both for our own std::error exceptions, and for conversion from existing C++ exceptions”
Another Quote: “I think that current C++ standard is Badly Lacking(tm) a concept of ‘segfault’ (which is supported by CPUs on VAST majority of modern systems with modern C++ compilers)”