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 IV. First Draft

Quote: “While L3 kernel can STILL run on MMU-less RAM-constrained MCUs, it provides responsiveness which is comparable to that of multi-stack kernels.”
Another Quote: “multi-coring is essentially a special case of balancing shared-nothing nodes”
[]

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