Enterprise Architect vs Solution Architect

Remedios Vario -- The Juggler -- 1956
Remedios Vario — The Juggler — 1956

What an Architect is not?

There are organizations making a mistake of not clarifying that one. Alienating in that oversight, a lot of good architects.  An illustration? To illustrate this “knot-weed of legacy thinking and contemporary errors”, that can grow out of fertile misunderstandings of architectural roles in a real-life organization, perhaps this might be one sobering example. Reading this amazing (hilarious?) job description, one might think, for a single person, even “Neo” has no that much powers, as they ask from a poor architect.

A good introduction to the following question. Continue reading “Enterprise Architect vs Solution Architect”

How to avoid implicit conversion in C++

Exact types of Fasteners
Exact types of Fasteners

nothing_but<T>

Value Handle to Avoid Implicit Conversions in standard C++

Introduction

“… C++ is not a bad language per se. It’s just, well kinda suffers from bloat. In the words of Richard E. Gooch, “It seduces the programmer, making it much easier to write bloatware“…”
The source

Continue reading “How to avoid implicit conversion in C++”

Simple matrix for the rest of us

The Introduction

“…There are issues such as dynamic memory allocation in C/C++, which is forbidden, under the DO-178B standard, in safety-critical embedded avionics code…”
The source

Before knowing the above, the other day I have developed a handy little template to hold and provide, a plain 2d array, completely on the stack (aka the “matrix”).

It is also fully “compile time capable” with the full static internal presentation.

It is very handy to gently enforce company-wide C++ policies and to give some useful functionality in return. I am calling this approach “almost a pod”. Continue reading “Simple matrix for the rest of us”

C++ Inheritance easily grows out of control

Interface inheritance is good.

Inheritance
Parts of your behaviour are inherited from your parents. That is  “interface” inheritance. The interface of your parents defines the part of  your behavior. Just like yours defines the parts of the behaviour of your children.

Update

Just stumbled upon this excellent and succinct short text on how not to use inheritance. In C++ in particular, and I am adding: in general.

The purpose of inheritance in C++ is to express interface compliance (subtyping), not to get code reuse.

That text is precisely about differences v.s. the Objective-C, but it is priceless if and when you spot the growth of the weed of inheritance. Continue reading “C++ Inheritance easily grows out of control”