#askFedi#fediHelp Is the following pattern known and does it have a name?
I have a number of classes (call them C1, C2, etc) that all derive from the same class B. I have a superclass (template, actually) D that derives from C1, C2 etc. To have a single B, the standard solution is to go with virtual inheritance to close the diamond (so far, so good).
In this particular case, however, I can do something a bit crazy (it works because of how the classes behave): I can change the diamond inheritance into a “chain” of inheritances, by making the Ci classes into templates whose parent is their template parameter.
So for example, instead of D<C1, C2> that derives virtually from B and then from C1 and C2, I can have D<C1<C2<B>>, and in this chain D derives from C1, that derives from C2, that derives from B.
(If it helps, these classes are needed to model a pretty sophisticated iterator; B is the base iterator, C1 and C2 are specializations, and D is a class that needs to iterate as C1 up to a certain point, and then as C2. Replacing the diamond inheritance with the chain means that the iterator increment simply falls back to the next iterator in the chain after it has done its job).
I've honestly never seen this pattern used or documented before, but I'm not exceedingly familiar with the literature, and I don't know how to look for it. Since I've been asked «is this novel?», I'd like to be able to say something more than «to the best of my knowledge, it is».
@simontoth thank you very much. Does it have a name and/or is there a reference where I can find more information on it (and on the policy-based design you mention)?
@simontoth Thank you very much. Apparently we're actually using policy-based design in much of our code already (without knowing what it was called 8-D), although obviously not for the case I mentioned. I'll see if we can adapt our code to use this same approach. Thanks again!
@gepi@bluberrycookie secondo me a modo suo è geniale (pur rimanendo stronza). Ma soprattutto è indicativo come tutte le attenzioni al linguaggio sono inutili, perché la gente troverà sempre il modo per esprimere il concetto.
Stavo guardando con l'altro account delle belle foto di "dandelion" che è il termine inglese per "tarassaco" anche detto "dente di leone" - che tutto sommato a "dan-de-lion" ci assomiglia, mi chiedo (ma non ho voglia di cercare) se c'entra il francese...
In ogni caso mi è venuto in mente di rovinarvi tutta la poesia della cosa e informarvi che qua a Verona li chiamiamo "pissacani", che suona esattamente come "pipì di cane" (e forse vuol dire proprio quello). 🤭🤭🤭
@eniko the whole point of the Fediverse is to make this madness unnecessary. At this point in time, any new social network that is born without ActivityPub support built in should be considered a trap.
For a more balanced take, @davidrevoy has the the most on-point I've seen so far:
OK, la #traduzione in #italiano di #NodeCore è ora completa al 99%. L'unica cosa che manca per raggiungere il 100% è la traduzione di “gated prism” dove “gated” va inteso nel senso dei circuiti. Un prisma “gated” è “bloccato” nel senso che non lascia passare la luce, ma non ho idea di quale sia il termine tecnico corretto in italiano. Un aiutino è ben gradito.
OK, #Italian#NodeCore#translation are now at 99% completion. The only thing missing for 100% are three strings pertaining “gated prisms”. Gating here is to be intended in the circuit logic sense (a gated prism is one that doesn't let light through). I'd rather use the proper Italian term here but I have no idea what it is. If anybody know, please do let me know #fediHelp#translationHelp
@mcc jokes aside, Cheese is actually one of the GNOME apps I don't hate with a passion. I don't know if it's the best camera GUI on Linux, but it's definitely my go-to solution. I wonder what the alternative is supposed to be.
(riassunto delle puntate precedenti: il downgrade del kernel risolve il problema di avvio, ma...)
...come previsto a rifare l'upgrade si ripresenta il problema questo perché grub per qualche motivo è convinto di dover cercare i moduli del kernel vecchio.
...dopo un paio d'ore di bestemmie sono riuscitə a rompere tutto e rimontare tutto arrivando con soddisfazione a vedere di nuovo il vecchio errore sul modulo vfat.
comunque per gli amanti dell'ex Windows Commander che ora si chiama Total Commander, sotto Linux con interfaccia grafica posso suggerire Krusader e Double Commander (doublecmd). Quest'ultimo è praticamente un clone di TC.