Posts

Showing posts from August, 2019

Radio Strobl (hacked)

En Norvège, l'eau du robinet est aromatisée au saumon sauvage. Cele explique la densité de groupes géniaux. Pour n'en citer que 3 : Solefald, Leprous, Madder Mortem, Atrox, Vulture Industries, Djerv, Manes, In Vain, Age Of Silence, Windir, Ásmegin, Trail of Tears, Dismal Euphony, Green Carnation. Si vous ne connaissez pas ces groupes à 50 ans, vous avez raté votre vie. Et puis, voilà qu'au détour d'un camp d'été, Khonsu. Quelle sauce ! Et quelle saucée ! Rares sont les groupes arrivant à intégrer autant de styles et d'idées pour créer une ambiance unique et cohérente. https://khonsu.bandcamp.com/album/the-xun-protectorate

Comment ne **pas** utiliser __new__ en Python

How **not** to use __new__ in Python

Markdown pense-bête (collapsable)

Collapsed.

5 Ab Exercice Mistakes

Summary of Jeff Cavaliere's video . 0. 0:24 Not getting nutrition in check. Fat levels determine whether we see the abs at all. 1a. 0:48 Cheating by pulling the neck. Put the hands barely touching the head instead. 1b. 1:08 Cheating by rolling or using the hands in low abs exercices. Get the legs up by contraction only. 2. 1:36 Not breathing properly (BLOATED ABS). Exhale as you tighten down and make the waist smaller. 3. 2:53 Not enough hanging exercises. Requires a lot of stabilization just to hang. More challenging, so more effective. 4. 4:10 Not training frequently enough. Short sessions of 4 to 8 minutes but ideally once a day. 5. 5:15 Neglecting rest of the core (obliques, serratus, etc). E.g. Squeeze your thighs together for the windshield wiper to include abductors. Morale: focus on quality rather than quantity (doing fast reps is another mistake).

Anton Symmetry is back (or why related concepts should have the same number of letters)

Bayes' theorem in 1 minute

MetaPostNote: No summary of embedded gist. Must find a better solution.

One source of truth (or how not to be tied to a publisher platform)

Meta: For gist.github to match your theme, you'll need to override css which is both tedious and brittle. I'm looking for a better solution.

In Dart, A ∪ B != B ∪ A

The title is misleading, other languages are prone to this gotcha. At least that's less deceptive than "Hot mathematician refutes conjecture with a weird trick". Be amazed People stop me in the subway arguing it's contrived or even ill formed. Stepanov answers (*) that basic math properties should be respected, all the more nothing forewarns the possible asymmetry of the addAll operation. If it's ill formed, shouldn't the langage tell you? C++ would reject that at compile time. Model consistency You could consider this behavior as perfectly fine since the respective models of d1 and d2 (sensitivity to the case) are preserved. Nevertheless, the commutativity of union isn't, breaking the consistency. Julia Belyakova's paper notes that dependent types allows models consistency by letting the comparer be a part of the type. Does it suggest that C++ templates can encode dependent types? If not, it means that models consistency relies on a sub-

Why does my blog stink?

For Christmas, I wanted a lot of features for my posts to be as enjoyable as possible to write and to consult:  Embedded editable and runnable code snippets.  Inline comments.  Private comments (for todo or links to private notes).  Translations.  Semantic tagging.  Versionning.  Ontologic search (that's not even a thing).  Minimal ressources consumption (both client and server side).  Accessibility.  Free vegan protein snacks (no vegan included). That being said, it's my first blog ever, and didn't want to inverse priorities and fall into the infinite stream of prerequisites. How is it called, already? So those things will be fixed incrementally over time. It was recommended by my postman to cure perfectionism. As a bonus, an unrelated quote: “There is nothing so useless as doing efficiently that which should not be done at all.” — Peter Drucker

Example of CSS customization in Blogger.

Having slept too much, I wanted to have separators for my html tables. Google explains here how to add custom css. I introduced an arbitrary class name so it isn't applied to the blog theme itself, only inside posts when explicitly stated. table.withborder { border-collapse: collapse; } table.withborder td { border: 1px solid #624A93; } Then in the HTML editor simply annotate: <table class="withborder"> Implicit approach To avoid adding withborder  everywhere, leverage the class used by blogger (there is no guarantee it won't break at some point, though). div.post table td { border: 1px dashed RebeccaPurple; }

Rosetta Monad Did It Again

Let e be an expression (e.g. x*x ), m a monad instance instance (e.g. [1, 2, 3] ) and M its type ( list here). Here is a small translation table, found buried in Memphis under a pill of pizza boxes: Haskell, list comprehension [ e | x <- m ] Haskell, do notation 1 do {x <- m; return (e)} Haskell, bind m >>= \x -> return (e) Scala, yield for (x <- m) yield e Scala, flatMap m.flatMap(x => M(e)) Scala, map m.map(x => e) In the same spirit, let’s paint the monad laws in different colors. Left identity Right identity Associativity Haskell, list comprehension [ x | x <- m] ≡ m Haskell, do notation do {x <- [a]; f x} ≡ f a do {x <- m ; x} ≡ m do {y <- do {x <- m; f x } g y} ≡ do { x <- m; do { y <- f x; g y }} 2 Haskell, bind return a >>= f ≡ f a m >>= return ≡ m (m >>= f) >>= g ≡ m >>= (\x -> f x >>= g) Scala, yield for (x <