Youtube hearted comments of Christian Baune (@programaths).
-
1500
-
52
-
2
-
First year in school: Compute the volume of a cone...in assembly!
Most student were blocked on the division!!! That's when the learn overflow AND underflow.
I do not remember the in and out, but the division gives you a good ride if you didn't pay attention to the curriculum.
Then that's when you are doing your work that you realize that registers can be split in different way, that there is a flag register too.
At that time (15 years ago), there was "help PC" with nice explanations of all of this...
Another difficulty of assembly is that it's "verbose". In higher language, "if" is identified as is. In assembly CMP+JNE,JEQ,JZ,JNZ,JNP.
And even conditions with conjunctive or disjunctive becomes challenging.
Another nicety was using the stack for local variables instead of trying to guess which register is safe to use ^^
It's a bit cloudy, because it's far away now. But that wasn't that easy! It's a gymnastic on its own!
But overall, whatever is the language, programming is really complicated.
It's all about solving problems and expressing the solution as code...And most of the time, the problem to be solved is also to be found!
2
-
When I was in primary school, they didn't segregate subject yet. So, you had two parts. Morning and afternoon. Both 4 hours sitting.
The exam was a booklet with seemingly random texts, various figures and then a list of questions. You had to use knowledge spanning multiple subjects just to solve some items. And some of the required knowledge was buried in the texts.
I remember an infamous question where you were asked the frequency of a dragon fly flaps and in the text about the dragon fly, you could read that it does a full flap in x seconds. So, you had to convert frequency to period length ^^ Stupid question, but mostly badly answered. The relation between frequency and period was given somewhere else (mind that we where 11 years old and not yet exposed to ration and real physics)
The exam was too hard and got replaced by folders targeting each subject individually so students didn't had to read the whole thing multiple time. Also, 8 hours of exam is now considered inhumane, so they have breaks and only half days.
And yes, it was rough, because even the teacher discovered the exam and the questions were quite different than those from the teacher. Now, this is simply disallowed, pupils can only be questioned on question types they already saw and no new material can be introduced within the test. Also, questions have to be self contained AND without sub items.
So, it's way more easier now ^^
At the same time, at 12, you were considered quite autonomous...That was the goal of primary school, full autonomy. It got pushed to the end of secondary school.
2
-
16:00 D'où l'intérêt des études. J'ai eu un car où ça m'a mis 5 minutes pour expliquer la solution à un problème qui avait fait galérer les sys-admins/dba.
Ils avaient une base de donnée de plusieurs GB non indexée et ils voulaient supprimer les plus vieilles entrées pour ne garder qu'un an.
3 semaines pour étudier différents plans, y inclus celui d'avoir deux DB en parallèle pendant un an, puis switcher 😅 (pas faisable, mais solution quand-même)
J'entends parler de ça, donc je vais les voir puis je leur explique que l'ID (rowid) et la date sont corrélés. Quand l'id croît, la date aussi. Du coup, tout ce qu'ils ont a faire, c'est de trier par ID puis effectuer une recherche dichotomique sur la datte. Soit, une dizaine de requêtes pour obtenir 1ID. Chaque requête prenant moins qu'une milliseconde.
Puis, une fois les deux id obtenus, un petit delete. Rapide et propre. Je rigolais tellement c'était basique. Et les devs impressionnés à qui j'ai répondu que c'est "from the book".
Zéro réflexion pour trouver ça! Problème de recherche sur un critère qui est dans une liste triée accessible par un index ? --> recherche dichotomique en log(n).
Et il y a plein de truc comme ça.
Par exemple, quand je dois valider une saisie où les regex font pas l'affaire --> machine a état.
Alors oui, c'est 3 ans d'études, mais avec des profs qui prennent le temps de te mettre devant des problèmes récurrents et les théories idoines pour les résoudre en 5 secondes.
Le but des études, c'est de s'armer d'outils de base plus rapidement. Donc ça devient attendu, qu'à un certain niveau d'étude, on se retrouve inspiré par ce qu'on a étudié.
Après, là où c'est gênant, c'est quand on a fait des études où on a pas été exposé à assez de variété. (Il y a des profs qui ont un dada et qui du coup négligent le reste!)
On avait un gar qui voyait du Horner et Pythagore dans tout les problèmes. A un moment, même le prof n'en pouvait plus! Le plus comique, c'est qu'une fois, la méthode d'Horner était utile, donc le prof a fait aller le gars au tableau pour qu'il puisse enfin se faire plaisir...le gars s'est fait démonter et on a bien rigolé🤣
En plus, tout confiant et tout 😂
À force, on le prenant pour un expert 😅
J'ai déjà eu la blague aussi, où le prof propose un défi, puis je dis au prof "aller, directement au tableau" et en pleine résolution, je me rend compte que ça coince et je dois rétropédaler ^^
Mais là le prof ne casse pas et reconnaît que ça fait partie du procédé de résolution ^^
Enfin, bref, quand on fait de bonnes études, elles servent ^^ Et quand ce n'est pas directement la matière, c'est la méthodologie. On apprend aussi a rechercher, poser un cadre de travail, une structure et a être flexible aussi. Chaque prof ayant sa vision et chaque sujet nécessitant différents moyens.
Par exemple, quand je faisait électromécanique, je passais un temps fous dans des calculs précis (symboliques). Puis le prof m'a fait remarquer qu'on travaillait avec des composants ayant des marges de 10% à 30%. Et quand tu fais tes calculs d'erreurs une erreur d'un facteur 10 peut largement passer. (Calculer 100 ou 1 à la place de 10)
Donc du coup, tu commence a faire des trucs du genre: "10+1=10" car ça t'arrange pour tes calculs. Tu regardes la spec sheet et tu vois une belle quadratique que tu considère linéaire car c'est plus simple etc.
Puis après, tu passes au traitement du signal où même respirer à côté de ton circuit pourrait être problématique et où tes délais de propagation sont en femtosecondes et donc utiliser une table de lookup (PAL) pourrait être mieux que d'utiliser plusieurs portes logiques. Et tu te retrouves à tester, tester, tester ^^
Pourtant, dans les deux cas, tu travail dans l'électronique. Mais dans le premier cas, à la louche, ça passe.
Et même en automates, tu peux te retrouver dans un cas où l'autre. Par exemple, des portes automatiques qui se referment sur quelqu'un, c'est pas la mort. Donc le truc est surtout mécanique et lent à réagir, mais tu t'en fout. Pareil pour la gestion de consignes pour le chauffage. Là ou tu t'en fout moins, c'est quand tu programmes un bras qui fait partie d'une chaîne d'opération, le truc doit être synchro avec le reste et le plus rapide possible, un petit accroc est c'est la cata ^^
Et encore une fois, quand t'arrives au boulot, tu fais assez vite l'association avec ce que tu as vu durant tes études et c'est un bon point de départ!
1