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.


Bringing Architecture of Operating Systems to XXI Century – Part III. Basic Ideas

Quote: “everything in the system should be a Finite State Machine (FSM)”
Another Quote: “‘OS’ is not understood as ‘OS kernel’, but rather is defined by the apps which can run on it”

Bringing Architecture of Operating Systems to XXI Century – Part II. Desirable Improvements

Quote: “low-end versions of the new OS should be lean enough to run on a ~$1 MCU (these days ~=4K RAM, 32K ROM)”
Another Quote: “last N minutes of the life of the production program before crashing, should be replayable on my development box.”

Bringing Architecture of Operating Systems to XXI Century – Part I. Changes in IT Over Last 50 Years

Quote: “we’re using operating systems which were designed whopping 40-50 years from now”
Another Quote: “Do not communicate by sharing memory; instead, share memory by communicating.”

Programming Languages As a Social Network

The Idea Recently, I was thinking about visualizing relations among different programming languages, and a thought has crossed my mind: Methodology I took quite a few more-or-less popular programming languages (33 to be exact); however, I explicitly restricted myself to more-or-less general-purpose programming languages. This eliminated DSLs such as R, as well as all dialects […]

Java vs C++: Trading UB for Semantic Memory Leaks (Same Problem, Different Punishment for Failure)

Quote: “with all due disrespect to mutable static/global data, I have to say that the problem of semantic memory leaks is NOT restricted to statics”
Another Quote: “semantics of good code is about the same regardless of Java/C++ choice”

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”