Very old project: driverinf

❝A very old project, used extensively during my teens for retrieving installed drivers (files) on Windows-systems.❞ I recently found one of the first (useful) programming projects that I wrote. I worked at a small computer-shop in town for a few years as part-time job next to my studies. The one constant was asking .. almost begging .. for people to search for their driver-CDs. They would bring their computers, ask us to solve their problems and if a reinstallation was necessary, then we would need to have a very specific driver for the device, actually even more specifically the exact device identifiers, of that piece of hardware.


Read more ...

Prevent linux system freezes because of dm-crypt

❝dm-crypt does not always handle I/O gracefully when slow storage devices are involved.❞ TL;DR dm-crypt is designed to include (global) workqueues for its processing of block I/O operations. The design is somewhat aged, and consequently some effects are mostly undesirable, because block devices and layered filesystems have evolved past the need. Workqueues can be disabled with a configuration option. This avoids freezes because of device-mapper operations on slow media. This seems to be an issue that, although recognized and investigated, remains largely unknown. This is unfortunate, because the fix is available and fairly simple.


Read more ...

Indicators for human advancement [Part 1]

❝My exploration and re-envisioning of a core idea from ‟The Third Industrial Revolution” by Jeremy Rifkin❞ TL;DR I propose a different triple. One that matches closer with human progression: any kind of handling of energy, information, physicals. The pattern itself is trivial and broad. Things become more interesting when considering how these classes interoperate. The triple energy-communication-infrastructure (by Jeremy Rifkin) can be used to select, together with knowledge of real-world events, the right combination of developments as they are happening. “Shifts in human conciousness happen when new energy revolutions converge with communication revolution.


Read more ...

Analysis: the right angle

❝Differences in preference may be trivially explained if approached from the right angle.❞ TL;DR this post goes into how big the difference is for a transportation enjoyer and the car industry. The enjoyer needs only look at the benefits (and possible costs and trade-offs), while the car industry has to adapt a complete supply-chain to a shifted balance of qualities. It is fully understandable that this is easier on the enjoyer than the industry. However, it also shows how trivial it is for genuine benefits to persist once they are proved possible, and consequently hard to reject/resist, and almost impossible to deny.


Read more ...

The Venus Project - resource-based economy

❝Why Jacques Fresco's ideas on the resource-based economy in The Venus Project may be closer to reality than we might realize.❞ In “The Third Industrial Revolution (VICE)”, Jeremy Rifkin points out that – in general – things change for the better. Humans are (generally) better off than before these advancements. However, he also mentions that we are at an interesting point in time, because we have attained certain advancements that do not interoperate well with the framework of capitalism. He mentions two aspects: “zero-marginal cost” and “resource-sharing economy”. The former is about products or resources that have no practical cost to be (re)produced after its initial creation so that people do not want or expect artificially high costs.


Read more ...

The imploded (third?) industrial revolution

❝Did or did we not already transition through the third industrial revolution?❞ TL;DR In The third industrial revolution it is said that the third industrial revolution is still to come. I argue that it has already passed, a roughly 20 year period, and we just lived through it. Furthermore, I find that the triple energy-communications-infrastructure alone is not suitable to recognize all such disruptions, and I explain which events have contributed significantly to this, and the nature of the events in general. The main idea being: “secure communications enabled the internet to develop into an integral part of society and (uniquely) enhances it”.


Read more ...

Human Advancements: Introduction

❝Introduction to the series on human advancements❞ Introduction In 2018, fairly soon after it was published, I found a conference talk by Jeremy Rifkin on a resource-sharing economy. In the talk, he discusses the past industrial revolutions, a set of indicators that were present for the past industrial revolutions (and other similar events), consequencies for our economy, society and politics, and a triple that he used for classification: significant in past industrial revolutions, and possibly an indicator for what the next industrial revolution would be.


Read more ...

Engineering: The unified OOP paradigm

❝Resolving conflicting, divergent notions of OOP with a unified OOP paradigm❞ disclaimer I mention a few names of other people, but please understand that this is my interpretation of their work and the various concepts involved. Furthermore, I am taking quite a leap in this attempt to unify different notions. I might be wrong. I believe that we cannot master OOP programming languages until we comprehend the (design) capabilities of OOP. TL;DR Three distinct OOPs, The unified OOP paradigm, Foundation, Conclusions.


Read more ...

Engineering: The “minimal-objects” approach to OOP

❝Understanding the role of simplicity in object design (Object-Oriented Programming)❞ A few years ago, I looked into Object Oriented Programming and in particular object orientation – the paradigm – in a series of articles that look into Object Oriented Programming. These articles look primarily at the use of OOP in programming, identifying and discussing key points on how OOP works, should work, and deviations from how it is typically used. This focuses on the individual class, the way it is designed and implemented, the characteristics, and the benefits you get from doing it right vs.


Read more ...

Engineering: References

❝References on simplicity in software engineering❞ These are references that I have used over the years to build up a mental model. This is far far far from complete. These are just the ones that came to mind. In particular, there must be 10+ references missing regarding OOP programming, the do’s and don’ts, the good and bad. Topics Inter-process communication mechanisms, (enterprise) patterns, software, considerations ZeroMQ, In-memory message queues, Caches Concurrency/parallelism coroutines user-space scheduling, threading Python generators (many sources) concurrency vs parallelism, design vs execution blocking vs non-blocking channels in Go async/await, promises/futures Why OOP does/doesn’t suck Error handling: exceptions, monadic, assertions, abort/panic checked vs unchecked exceptions value of crashing/aborting/panicking sentinel return values for errors insight into errors, information the nature/place of error handling in control flow Architectural and design decisions of open source projects: prioritized features distinguishing features/aspects Function programming: monadic patterns Maybe / Option / Optional Trade-offs, mitigating trade-off-forced decisions: persistence or performance limited use of language features, memory sources, etc.


Read more ...