The thing I'm mostly proud about cocoon and its community is the fact that it learns from other communities' mistakes. Every community, at some point, has made a mistake. Design, society, infrastructure, politics, economics... I can name an open source project for each sin category... not all of those mistakes were fatal (some were, some are going to be) but for sure all of them were energy consuming.
This is a very strong community, and I like it. I just wish I was still working on projects where I can focus some attention here again.
Cocoon did one big mistake: the revolutional 2.0 transition. If I was to do it over again, I would have added SAX pipelines to 1.9 and today we would have cocoon 1.10.4... it would have saved us at least 6 months.
So, no 3.0 in sight: darwin guides us in small incremental steps... and where they are not small, they still are incremental: they can be rolled back without problems.
I kind of figured this. Like I said, It will most likely eventually come, but not for a long time yet.
You cite the third law of thermodynamics, but you miss one fundamental concepts: entropy increases only when the changes to the system are not reversible.
Irreversibility is the problem, not changes.
Changes are necessary, and any change is a change in energy potentials. Where energy used to exist in one form, it is now transformed into another form. Can that be reversed? In some cases, yet in every transfer of energy there is some loss. It is inevitable. I am not going to argue deep things which I only have a surface knowledge of, but suffice it to say that ensuring reversable changes is a smart use of energy. It is how we can maintain order over time.
The big thing I was getting at was the huge hurdles that must be overcome when due to past mistakes, the initial design was more chaotic than it should be. Such designs are hard to correct.
I understood that a few years ago and since then I tried to guide all my software and architectural design in the light of simple and reversible steps. Even complex beasts like Cocoon Blocks have phases that can be reversed and changed without impacting the overall system... it took more effort to design them this way, but I'm sure this will give benefit.
Right. The result is that the energy transfer from developer energy to written code is done much more efficiently in this way.
There are efforts where this 'reversibility' was not taken into consideration... and this is where entropy explodes and lots of energy has to be put back into the system to give back order to things.
Exactly--and perhaps this should have been brought out more clearly in my essay. The thing that pissed me off is the addition of a "standard" that was designed and developed by one individual without any collaboration, and then told that if I did not use this "standard" that my work was invalid. The amount of energy to force my work into their "standard" would be far more than the amount of energy to do it into another format--one which would be easier to leverage in many different systems.
With reversible steps, the amount of order does not decrease, it just changes its balance. This means that no additional energy has to be placed into the system to balance the changes.
Well that is in theory any way. In most systems as energy moves from one state to another, there is a level of loss in the transfer. For example if the reversable steps to convert H2O from solid to gas were a linear (or even logarithmic) then there would be no "stair steps" in the thermal energy required to convert from one state to another. Nevertheless, there are. There is a certain amount of energy loss in the process of moving from solid to liquid to gas, and back again.
However, that amount of energy is typically more manageable than say what would be required to perform nuclear fission or nuclear fusion where an element of one type is changed to an element of a completely different type.
So your point is well taken, and is theorhetically correct. But don't be deceived, there is energy expended to convert from ad hoc cocoon systems to one based on blocks. There will be energy lost in the conversion, no matter how careful we are to move from liquid to solid. There will also be energy lost if we had to switch back. Though not nearly so much as if blocks were written with backwards compatibility thrown out the window.
Of course, not all changes are transparently reversible (especially those who build on one another), but it's a good mental model to keep in mind.
-- Stefano.
--
"They that give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
- Benjamin Franklin