The more I code, the more I love my rice cooker

They are stuff that used to be easy to do in life:

  • set up an alarm on a clock;
  • buy a good and have warranty magically working;
  • playing a video;
  • finding and listening to music.
Since the day of webapp, thousands of wannabee bill gates are reinventing alarm on phones.

The one that are following your sleep patterns taking light exposure into account, the one that synchronize with your MyProvider(c)(tm) calendar interoperable with an obscure IETF standard in draft mode, the one that have a nice interface.

But nothing that actually increased my chances of waking up on time.

My dreamed life, my real life, and all the mistakes coming in the middle

So the other day my lady forgot to put her alarm clock and nearly got fired.


We missed in the 5th steps ot the UI enhanced experience of the alarm clock apps after the 4th steps of validation... but we already had managed to do the 4 steps of task switching while tired.

Then we bought an old fashion 2 steps "I can set an alarm" clock and our problem disappeared.

I like to rant, and I will rant: our so called improvements are shit.

We add levels of indirection on a phone to handle a task it is not supposed to do: can you really trust a clock with 24 hours autonomy in the first place for waking you up every morning of the year?

And then we add way more tasks in a phone in the name of progress....

Sure we have enough memory and power to do everything but can we do it well?

And then I made a fondue with my rice cooker

I may be disappointed with computers, but I still believe in progress. And tonight I discovered I could use my rice cooker to cook fondue.

When I was a kid I loved this shit: thou shall melt cheeses together and shall eat them with dried crunchy bread you lovely applied garlic on (and a tinge of olive oil with basil (and you shall drink a wine that complements with it or you shall rot in hell)).

I am pretty sure it is the lost eleventh commandment of Moise.

The problem was finding the very specific pans and heaters to make it that were costing a lot when I was a kid. The time for finding this stupid stuffs we used once a year in the attic was half of the mission. And had we not these artefacts the ceremony of the fondue would be cancelled. Leaving our friends in tourments worse than hell.

And then I discovered I could put the cheeses in my rice cooker, use the cook button, and like god on earth descending to atone for my sins, a perfect cheese fondue would be there.

What the rice cooker says about our code


With a rice cooker that same state machine/interface make it for a lot of awesome use:
  • cooking rice;
  • cooking al dente amazing brocoli and asperges;
  • making bread;
  • making savoyarde and vietnamese fondues ...
With a dazzling amazing interface : cook // keep warm.

One button to cook them all...

On the other hand in my code every time I make a new feature I have to add a new distinct routing options with at least a new YES/NO branch (that can be implicit).

I must admit in terms of UI, I am freaking jealous of rice cookers: with one interface they solve more than one problem, and me, I have to add new branches every time a new choice is made and I make the application weaker.

Rice cooker should be the model of UI we are aiming for going the other way than smartphones:

Whereas smartphones acquire new capacities by making interface more complex, rice cooker are so well designed that with the same interface can cope with more than one problem.

I am french, making fondue when feeling homesick means a lot to me...

I have an infinite respect for these eastern geniuses that devised the smartest versatile device I never used decades ago and for which I can still find new use.

I wish my code was a rice cooker.

KISS: how to tell a democracy from a republic?

Once upon a time in Athen several hundred years BC there were great thinkers. Using simple words and concepts to try to build a democracy.

In order to avoid that the cities' interests might be used by a few, Solon came with the idea of the boulée in order to have an assembly that looks like all the citizens. It is a random pickup of the representant that was obligatory for the whole citizens (poors & richs).

Periclés before Athen became the expansionists empirialistics bastards we knew of, and -what an irony- would turn the totalist regim of Spart into the saviour of the oppressed... was preventing the citizens from the incidence of letting the powerful decide of the fate of the city.

The problem is a so called philosoph that was invited to the banquet of the wealthiest had coined a term of something that looked like democracy, but was not a democracy in order to help the wealthiest have the power without the people noticing it. It was called Republic. The problem in a republic is that a minority that as the power (be it by «merit», «religious virtue», «God», «birth») are the garant of the power) enforced by a minority calles the Guardians (watchmen). But who watches the watchmen?

Just for the record it is after Athen turned into a de facto republic that it begun trying to rule the Peloponese resulting years of fighting resulting in the disparition of the greek civilization.

My proposal is to prove we can mathematically have a way to know if we live in Republic or Democracy.

First I am opiniated: I believe (I think given enough time I could prove I am right, but I don't have the time) in democracy. However I think a safe indice on which we could all agree for distinguishing democracy from republic is a good idea.

Because my beliefs maybe wrong I want to have tools that are not opinionated :).

That said: here are the axioms:

Axiom 0: there exists registers where we can have access to all the variable per category in demographics (heigth, weight, sex...), education, access to resources, place of birth, langages spoken, income, social position, economical positions, religion ....

Axiom 1: there are 3 categories : rulers R, guardians G, the rest of the populations E (else). Rulers have political power they edict and set the strategy of the system (MP, kings, religious order...).
Guardians are to enforce the decisions of the rulers (administratives of every scale)

Idea 1: the more there is a concentration of power for the interest of the minority the more it will cluster in the distributions of the registered datas per categories (RGE)

If we make the assumptions the ruler belongs to small minority ruling for its interests than the more clustering we will see because of the causation.

Example: if we are in a country with scarce access to food, if the minority is ruling in its own interests, therefore they will have more food.
Enough food on the long run will tend to appear on over distribution in other categories (weight, heigth, living alive longer, athletic results ...) if the advantage had time to long last enough...

Idea 2: The more the clusters the more it had lasted.

If you take a competitive advantage that lasted long enough (education for instance given to child for instance) it will results on a cumulative effect that will have a tendency to induce more and more correlations (age of the first child, women's income given the age of first child, probability of being a single mother without education...).

Idea 3: detecting clusters

2 non recovering at sigma2 gaussian distribution should be considered defining a cluster on a specific dimension.

We are searching for bimodal gaussian repartitions.

Since we know what we look for, *for once* bayesian probabilities are usable.

Idea 4: Correlations are not causations.

1) the cause happens before the effects;
2) time of propagation has got a delay of propagations;
3) the less saliva the better

Idea 4: making indexes of variable

Each environments and times are different. They results in different pressures: for instance if you kill 10% of the girl at birth at a certain time, the pressure for mating will have a noticeable cumulated impact later.

Thus relevant signs of clustering evolve and they depend from both space and time.

You can make any subset you want of any sets of variable and see how much clustering exists.

On the space phase of all the possible configurations there are 2 mega clusters: the on that almost don't change, and the other one. But if you sample enough of these you will detect sets of indexes that will provoke an abrupt transitions.

The environment also has its set of clustering dimensions... (people living in mountains may cluster on the concentration of hemoglobin per liter of blood).

The geometrical spaces have 3 possible interesting domains:

- Set of variable of clustering that moves slower than the environment
- another one that provokes instability (moving faster)
- and in the middle a region of slowly moving transition.

 These subsets of indices that provoke the places where there are non recovering bimodals are called the intransitive sets.
It is called intransitive because it states that on an arbitrary direction there is a rule such as if x belongs to non empty Set(R|G|E) & Y belongs to not precedent Set => X > Y

Index is a space defined by all the dimensions in which you have bimodals.
Ex {P heigth, P wealth, P.....}

In the space phase of the nth dimensions provoking intability you can define a volumic domain. The more lucky you are, the mode probability you have you can find a surface (n-1 dimension volume) where the area on which you project the volume has a symmetry or a causality. Bingo, replace the symmetry or the causality.

Ex: if you make a system based on being the best athlete (why not?) you will have the biggest fitness at the age where it matters, then you can drop the fitness index (for the ruler category and replace it with the weight in calculus of P Ruler by 2).

Since our exercice is to guess if we are in a system based by the ruling of a minority we should favour the replacement of any dimension by P(R|G|E). We should also keep track of the operation for replacement because they are funny to interpret.

Causation: Feedback loop with delay => sigmoids

Some effects of a long standing homogeneous set of intransitivity is that it will reinforce itself: education correlates on a lot of other factors such as health and finance. But feedback loop have a tendancy to change the slopes of effects it often sharpen and unsharpen slopes at the same time there are antagonists and agonists directions. The cool point with sigmoid is that they are easy to  detect. So we will not care of anything more than the sigmoids.

The second point is that unless you do something irreversible (like killing a lot of people very fast), causality tends to take decades to propagate (cumulative generation effects such as inheritance) but it propagates abruptly.

Mathematical conclusion

By searching randomly and systematically in a given sets of measures (given they are trustable) you can cound the number of dimension in which there are bimodals.

The reduced set of number of times where being a Ruler a Guardian or Else intervene tells you the number of assymetries in the system.

It does not tell you the relative importance or the positive impact it has on the population of each sets, it justs gives you something that can be measured other times (given the measure can be corrected to be constant in signification) or places.

Physical conclusions

Symmetries reduces the degrees of liberties. The interpretation of the use of the expansion of every time we reduce a dimension of clustering to its relationship to G|R|E is telling you what a ruler is. Of course, by using all variables at hand you will have stupid results such as being a ruler is prefering cherries to strawberries. But what is important is to remember opinions are good.

I count the summation of R+G substitutions for a given space «power».
Power if the capacity for X to do something Y can't do (X > Y). Thus the intransitive set.
The directions of the superiority DOES not matter. Being the rulers oppressed by the people, be the dimensions ordered the wrong way, it does not matter).

It is just a tool for comparison.

We can tell for sure that if you search for it, you will find it; you can prove anything given enough time and resources.

With my method you can prove that a capitalist system is good or a monarchic or a repuclican or a democratic system is good, given the good sets of dimensions on which you compare. You can even prove the people are superior to the rulers.

Physics and mathematics tells you nothing about good or bad. It justs gives you a way to discuss problems in a way that everybody can check.

Before hand there are results we can predict:

the more a system is clustered, the bigger the dimension in the space phase of the intransitive space, the more the system is sensitive to change.

The bigger the difference of substitution in favour of 1 or 2 categories the more the sigmoids.
Sigmoids being the sign of abrupt changes, it is also the sign of instability.

As a result: a «good system» by definition should change according to the environment, but not more. The more energetically efficient ways tending to be reversible, we should prefer the more stable systems that changes with less sigmoids possible.

Randomness introduces clusters : there is an incompressible level of clusters, due to the cluster of environments (continents, weather conditions)... there is also a speed of change of the clusters that should reflect in the systems (new clusters should logically appear when a system change its culture (like health in regard to age).

The problem is finding what are the values that defines the good domain...  and if more than one domain is possible all is about finding the good size of clusters and clusters of clusters. A set of good system should map hierarchically with the less effort possible of adaptation at every level of indirections (efforts will be required, perfection does not exists). The less level, the better.

Plus environment and feedback loops changing the world, a «good system» is a moving target. There seems to be no silver bullets of organizations.

My idea are:

- there is more than one environment, there are more than one system that are able to adapt;
- if we aim at adapting/changing the world better, we should expect cluster appearing with time (like in a better world maybe kids should be happier than their parents);
- we should get rid of inefficient systems because we can;
- «One size fits all» will provoke more clustering than environmental causes can explain and thus is not optimal;
- But, there maybe ways of evaluating if systems fits the clusteral environment of humans living on earth;
- the same cause producing similar effects we maybe able to build a better world with systems closer in their structures to one another, and having tools to reason is more important than having the results of the reasoning.

Final word geometry beats analysis for you can pack more informations in your brain by avoiding the cost of parsing formalism. It is not formalism that matters because we build maps. Maps are to have at least less complexity than the real world since we already cannot understand the real world. So we should always try to be stupid.