I won’t accept a second engine
Yes I do. As long qs it can work in a cqrs kind of way, where the crdt can emit command and receive responses
I won’t accept a second engine
Yes I do. As long qs it can work in a cqrs kind of way, where the crdt can emit command and receive responses
drive the DOM from its own model while the CRDT also wants to
This is not whzt happened. The issue was the sync of tne datastrores + the strong coupling between the rendering engine and its datastore
lesson I keep relearning is the same one: one reactive engine, no more
No I don't. Maybe two can pove together but I did not find the good combo. We can also mention the podczdt note where it is totally useless, the server keeping overwriting my local data
framework, no JSX, no build pipeline.
What i see below is old school js like we did in 2000. That's not good at all
persistence and mergeable sync built in.
Another criterium is the accessïbilty of the store from python
document.querySelector('[data-
This is not LoB at all
empty-state is rendered statically, then revealed by the first render pass —
The iùportant thing here is "hidden"
clear_state(page)
Link to the def
withdraws the moment anything is recorded: the next chapters introduce two kinds of rows (boxes, items), and the presence of either is what ends the empty-state.
Useless
function render(){
Needs an introduction
The render body isn’t written here. Each feature chapter contributes its own slice (an empty-state reveal, a boxes list, an unassigned section) under :noweb-ref js-render-body; the wrapper below stitches those slices into a single function at tangle time.
Useless
HLC
What ?
At boot: Create the store and bind an IndexedDB persister (rationale in Persistence). await persister.startAutoLoad() — replays the stored state. Wire store.addTablesListener(render). Call render() once. await persister.startAutoSave() — every later mutation hits IndexedDB. Set data-app-ready — tests’ single “ready to drive” signal.
That's readback
grounding it once here saves naming store.setRow or MergeableStore further down without context.
Useless
TinyBase
Links
The pick
"Let's try". We tell a story
On top of that, this is a line-of-business app — lists, forms, CRUD over labelled boxes — and the friction floor of React (components, hooks, effect dependencies, build pipeline) buys nothing at this scale.
What the point ?
framework’s reactivity and the CRDT’s reactivity are not the same animal
Add link
une marque contraire
À définir
la voie du titre est fermée. Re
Kezako
les deux tableaux d’entrée
Bcp de mots pøur des évidences
#+CALL ci-dessous appelle
C'est pas exporté
Comment Savoir S'il Y a Eu Un Bornage Autour De Ma Propriété ?
Toc
Pour le rôle plus général du SPF, voir comment savoir à qui appartient une maison ?.
Pas sensé petre influencé
acte de propriété et ses annexes répond directement à la question dans une part importante des
Blabla inutile et non sourcé
colindants
?
The goal is to fill all my 5L cans in a single pour: water
The painpoint: I don't lile the idea of using eau potable for so many use cases that don't require it (like flushing the toilet). So I récupère l'eau de pluie. But I'm fed up with waiting for each can to fill and have to manually rrplzce them one by one. That leads to my need
Let’s see what comes out.
Don't say it always like this.
into the MIEUXA neck at the bottom. The transition between the two diameters is a conical frustum
Rationale: we want stuff to fit snugly, so either cone into cylinder or cylinder into cone. And we already are const'ained by the neck to have a cylinder femelle, so we decide to have a cone male
From that bridge, two lips cantilever down and cover the tongue’s wall top. Push
The doc is infested with readbacks. The prose should be waaay smaller, state the issue : how to have water go into all the can without wasting. It lust qualitatively state the what : a set of overlappçng gutters with funnels that fit snugly in the necks. Most of the prose here either readbacks or describes useless stuff
Hanging below the tilted slab, the funnel and downspout would print only with supports — and supports leave a rough surface exactly where the downspout seats in the can’s neck. S
Too long. Just say we don''t want support
bed_plane = cq.Plane( origin=(-RAMP_FLOOR_DEPTH * math.sin(slope_rad), 0, RAMP_FLOOR_DEPTH * math.cos(slope_rad)), xDir=(math.cos(slope_rad), 0, math.sin(slope_rad)), normal=(-math.sin(slope_rad), 0, math.cos(slope_rad)), ) slab = slab.rotate((0, 0, 0), (0, 1, 0), -slope_deg) slab = cq.Workplane(
every chapter describing a part must end showing the part
The slab spans the gap between two adjacent cans, with margin. Its slope balances the two limits from the introduction. The drain sits midrun; with the trough open on both ends, the exact spot doesn’t matter much.
Useless. Maybe replace with a draft drawing
The ramp is a slanted slab — a constant-thickness prism tilted by the slope. Constant thickness keeps the filament budget close to a flat slab’s, regardless of how long the ramp gets. We sweep the U-shaped cross-section along the ramp’s length axis-aligned, then tilt the result. The trough runs the slab’s full length, open at both ends: water arrives at the high end, runs down the bed, drops through to the can when there’s room, and continues past the low end onto the next ramp once the can is full.
You are basically describing a gutter. Let's rename ramp into gutter and avoid that blabering. We may have a quick note about the fact the squre U-shape (instead or round) eases printing
We sweep the U-shaped cross-section along the ramp’s length axis-aligned, then tilt the result
That is readback
Constant thickness keeps the filament budget close to a flat slab’s, regardless of how long the ramp gets.
Useless rationalisation
This design uses CadQuery
I tried build123d and openscad. Finally, i feel much better with cadquery
Two issues killed it:
A tgird one is the difficulty to read openscad
Once the can is full, the water overflows past the
With a bit of ptfe, that should do it
The simpler design replaces the funnel with a slanted ramp pierced by a hole.
Let's try a simpler option
The body uses the sleeve
Not anymore
cq.exporters.export
Move all those blocks in noexport
A parallel inner loft carves the hollow. Its top square’s inset matches the trough’s side wall — so the funnel’s wall is the trough’s wall continued straight down through the bed,
That's readback
but nothing holds it there.
wtf
propriétaire du fonds surplombant peut opposer la prescription acquisitive 6.
Source
Not every short conversational line is noise, though. A single sentence like “let’s see what this gives” just before a block that produces something visible — an image, an exported model, a plot — synchronizes the prose with the reader’s impatience to leave abstraction and see a concrete result
It's even encouraged. Yet short, those help glue prose together. We don't simply state facts one after another, but tell a story, with its narrative, maybe some challenges to overcome, supsens, emotion and a grand final. Of course, this ljst not shadow the real information. But without the Ethos, the Logos doesn't count much.
This is the weaving
Is it what weaving actually means in lp ?
The reading flow is sacred
Or maybe something like the "cognitive" flow? Even if the reading makes sense, how things are written may result in a bored reader or an engaged one. Ideally the reader should feel the thrill of the writer and long to read the rest to find out how this all chain of thoughts ends. Becauce of our lot of cognitive biaises, style matters.
The reader should glide through the prose uninterrupted, glancing at a code block whenever they want to see how a sentence is concretely coded
therefore, the longer the sentence, the more dilluted the message. The writing must be as short as possible, while still conveying the message. Remember that humans have a very short capacity to focus.
Often, something visual like an image, bullet points is easier to read than convoluted sentences.
If a gap appears, either a paragraph is missing, or an existing paragraph was only paraphrasing a block rather than advancing the reasoning — and needs to be rewritten accordingly.
Not a sentence
An audit against these principles takes the form of a table: every observation cited by file and line, classified under the principle it tests. The conclusion follows from the table; it is not stated alongside it. An uncited verdict is a guess; a cited verdict has done the reading
This looks like witchcraft spell
The final artifact should betray no trace of the debugging path that led to it.
Again, the reading flow is sacred
When a bug or oversight surfaces during implementation
Or a change of mind, or a change of code due to a recent upgrade and a breaking change in a lib, or ...
These asides should be rare
And when we feel the need for an aside, it may mean that there is a gap between what can express human language and computer language, but it may also mean that the code is poorly written or may need some refactoring. The structure of the code in no way must follow the structure of the prose. We have the power of noweb to put the code back in the correct order during tangling, so we mustn't write a poorly designed code with the excuse that the prose went one way and not the other
Each named symbol earns its own introduction
Not necessarily. The code split is arbitrary (one block per symbol, several symbols per blocks, several blocks per symbol...). Explaining every getter and setter of a boilerplate java code is useless for instance. By contrast, writing several non related functions with only a vague prose about general ideas with no clear way to guess the links with the functions calls for a few more sentences to explain or splitting the code block. What rules is that the reading flow is the most important. If the reader needs to stop and say "wait a minute... what the hell are those functions for? i was reading about nice abstract things and I don't understand the connection with the code i'm reading", it means that we broke the flow
never a readback of the code.
Sometimes, a short readback makes sense if that is needed to understand how the code is a translation of the prose. It's an aside see below
standalone “test paragraph” separated from the main narrative: if a behavior is worth testing, it is worth stating in the narrative, and the test follows naturally
This sometimes happens because the agent was confronted to a bug and added some mitigation. It then adds an extra prose and test to explain it without integrating properly. We may want to emphasize that in that case, the prose itself may need refactoring so as to become coherent again. Simply adding a hack with a test and extra dumb prose may make the testing green, but in no way it is acceptable.
A paragraph whose only purpose is to describe the block that follows (“this function does X, it takes Y as a parameter…”). Prose states the need, not a paraphrase of the code
This is ambiguous and may confuse the agent. There is prose about the code
This order reflects the fact that we know what we want before we know how to achieve it.
No, it reflects the way we address another human being. LP brings human comm at the center of coding
selected the quote
Good catch! We may want a bias selection mitigation. We want a neutral report, not a confirmation biased doc. Maybe that is related to the formulation of the objective?
adversarial
Link to the kanheman's podcast
When a primary source is reachable through a dedicated MCP tool
This is important, but we are drifting from "generic principles" to "agent instructions". How to get the better of both?
code of the system under discussion
Add the blog post or forum anwser from a well know and respected actor of the domain
chain is the audit
What does that mean?
reading happened
Of the source
create_scrutin
Mettre une phrase introductive et lien vers le code de ça
partagé = un téléphone qui tourne, per-device = chacun vote depuis chez soi. À la va
Bullet points
voteStore
Première fois qu'on parle de votestore. Il aurait été bien d'avoir une introduction
entrées vivent en localStorage (condorcet.past-scrutins, tableau de {url, title, at}) parce que c’est local par appareil par essence : ce que ce navigateur a vu, pas ce que tous les utilisateurs du scrutin ont vu.
Readback. Et même pas pertinent pour comprendre le test qui suit
est en IndexedDB sur cet appareil.
Trop technique
désoriente
...ent ?
On ne réinvente aucune roue
On peut mentionner ça vite fait, mais cette section va en annexe
n votants / m inscrits
Inscrit ici est utilisé pour dire ce que votant veut dire ailleurs...
pour qu’on ne puisse pas reconstruire l’ordre soumis par le précédent à partir de la position initiale.
C'est aussi pour éviter le biais cognitif qui tend à préférer le premier choix
, il ne voit aucun
" il ne doit voir aucun"
localStorage scopée à l’URL du doc
Readback.
sync est assurée par le serveur automergesync via WebSocket Automerge.
Readback
Skip propre si Docker n’est pas disponible pour lancer le serveur de sync de test.
Non !!!
mode per-device, chacun vote depuis son propre appareil — mais on doit pouvoir simuler ce flux sur une seule page de test pour ne pas dépendre d’un serveur de sync : Alice s’identifie, vote, puis on efface la clé d’identité du localStorage, on recharge, et on revient à l’identity-screen où Alice apparaît grisée (déjà votée) et Bob peut prendre sa place.
Trpp hack
manchon-commun-params
Non exporyé
même manchon vu dans les deux postures rend le compromis évident : à gauche debout, les couches se déposent à plat, la calotte se referme doucement en haut sans appui ; à droite couché, la surface ogivale surplombe le vide et réclame un peigne de supports.
Partie et graph inutilrs
Bambu Lab A1 mini6, buse 0.8 mm déjà montée. Combinaison bed-slinger + grosse buse : les extrusions épaisses masquent le ringing en Y7, et l’adhésion inter-couche reste excellente en haute flow (tests Prusa 0.4 vs 0.6 : +25.6 % d’impact sur la grosse8). On garde la 0.8.
Indigeste
import math import warnings import build123d as _b123d from build123d import ( Align, Box, BuildLine, BuildPart, BuildSketch, Color, Compound, Locations, Mode, Plane, Pos, RadiusArc, Line, Rot, add, extrude, export_gltf, fillet, make_face, ) warnings.filterwarnings
Détails techniqurs
risquent de se briser en impression
Wtf
cavity_positioned = Pos(0, 0, manchon_length - insertion_depth) * cavity_part.part L
Lié au graph du dessus ?
hauteur cible, niveau, compensation asymétrique — invariants ok
Sors de nul part
Son dessus doit être à z = 420 mm, donc son dessous à z = 420 - épaisseur.
Faux
paroi (wall = 3 mm) est le minimum recommandé en FDM
Source !
l’article 663 fixe la hauteur maximale à 2,60 m (villes de moins de 50 000 habitants) ou 3,20 m
Minimale ?
cf. tentative de résolution amiabl
Source
grillage mitoyen sont deux ouvrages juridiquement indépendants
Source
selon le PLU, une clôture de plus de 2 m peut nécessiter une déclaration préalable en mairie
Source
, même en retrait de quelques centimètres
Source
L’article 653
Uselesss
Any bump violating this is simply omitted.
That may lead to unwanted results
if an ID token is intercepted and the system doesn’t validate it properly, attackers can impersonate users.
Same for access tokens, if not validated correctly
user has granted a permission for the client to get an ID token, but she didn’t imagine that the permission would enable the client to call APIs of the irrelevant resource server.
For a first party scenario, the user is likely not aware of the notion of resources. Per simply use an application
client that has no relationship with the resource server can access APIs of the resource server using an ID token that the client has legitimately obtained in an utterly irrelevant context.
No, the resource server can check that the proper client (azp) is accessing the resources
your ID token will not have granted scopes
In the first-party scenario described above where the access is binary, that's ok
API shouldn’t accept a token that is not meant for it. If it does, its security is at risk. In fact, if your API doesn't care if a token is meant for it, an ID token stolen from any client application can be used to access your API
While this is true, it is not the only option. If the resource server checks that the token was indeed issued TO one of its known clients, that excludes the risk of accepting ALL the possible ID Tokens
If your API accepts an ID token as an authorization token, to begin with, you are ignoring the intended recipient stated by the audience claim
You can still check it, make sure it was intended for YOUR client and your client alone.
REST must be the most broadly misused technical term in computer programming history
Scrum !
"be conservative in what you do, be liberal in what you accept from others"
Related to Stoicism
scientifique doit tout savoir sur ce qui est attendu avant de pouvoir être surpris, et cela nécessite de l'expérience sur le terrain.
Effet Dunin Kruger ?
best way to estimate is to do ranking.
See Olivier Sibony
The only way in which one can know the world is through the means by which they know the world; a method cannot justify itself. This argument can be seen as directly related to Wittgenstein's theory of language
Lien avec Achille et la tortue ?
Nudges steer people towards a particular behaviour by creating environmental conditions that trigger a given heuristic strategy. In contrast, boosts change behaviour by fostering people’s decision-making competences
IOT, nudge rely on some supposedly existing state of system 1 while boost educates the system 1
Loaded language (also known as loaded terms, emotive language, high-inference language and language-persuasive techniques) is rhetoric used to influence an audience by using words and phrases with strong connotations.
Associé à synonymes à connotation opposée
Scrum makes visible the relative efficacy of current management, environment, and work techniques, so that improvements can be made.
. It does not make your life easy. It puts your hand on the helm and makes it a positive adventure.
— https://gettingthingsdone.libsyn.com/ep-53-an-overview-of-gtd
{ "kind":"reveal", "source":"tz1WmhTgcckoDagACbXAxatWMKy7yesY349p", "fee":"0", "counter":"1527770", "gas_limit":"10000", "storage_limit":"0", "public_key":"edpkva47oZEvUyhonx13xfBBVckJDYHWXHUZmdoz7gxiZE8tW45FjK" }
Fee = 0
REST concentrates all of the control state into the representations received in response to interactions. The goal is to improve server scalability by eliminating any need for the server to maintain an awareness of the client state beyond the current request. An application's state is therefore defined by its pending requests, the topology of connected components (some of which may be filtering buffered data), the active requests on those connectors, the data flow of representations in response to those requests, and the processing of those representations as they are received by the user agent.
Hateoas ?
REST components perform actions on a resource by using a representation to capture the current or intended state of that resource and transferring that representation between components
Hateoas : the hypermedia os the way the state is communicated from the client to the server
model application is therefore an engine that moves from one state to the next by examining and choosing from among the alternative state transitions in the current set of representations. Not surprisingly, this exactly matches the user interface of a hypermedia browser.
Hateoas. It dpes not say that the server rrsppnds with the lonks
application state is controlled and stored by the user agent and can be composed of representations from multiple servers
The state is user agent's business and may even overlap several servers ontologies
REST is defined by four interface constraints: identification of resources; manipulation of resources through representations; self-descriptive messages; and, hypermedia as the engine of application stat
Hateoas
// Create a wallet const wallet = arianee.fromRandomKey();
Example of ambiguity around the term wallet nothing tells whether here wallet means "private keys on your computer" or "account at arianee"
one can subscribe to an RSS/ATOM feed of annotations
Awesome. Thanks!
Contrairement à l'enregistrement, aucun des services susmentionnés ne nécessite un agrément obligatoire pour pouvoir exercer
Agrément != enregistrement
Remembrance Agent
Funny how the acronym is also the one of Reticular Activating System, that David Allen, in the gtd, claims to be the part in the brain responsible for similar associative memory triggering.
what is the goal of a scientific experiment at hand? If the goal is to establish a discrepancy with the null hypothesis and/or establish a pattern of order, because both requires ruling out equivalence, then NHST is a good tool
Occam's rasor
The figure was prepared with G-power for a one-sided one-sample t-test, with a sample size of 32 subjects, an effect size of 0.45, and error rates alpha=0.049 and beta=0.80. In Fisher’s procedure, only the nil-hypothesis is posed, and the observed p-value is compared to an a priori level of significance. If the observed p-value is below this level (here p=0.05), one rejects H0. In Neyman-Pearson’s procedure, the null and alternative hypotheses are specified along with an a priori level of acceptance. If the observed statistical value is outside the critical region (here [-∞ +1.69]), one rejects H0.
IIUC, Fisher's p-values tests H0's significance while Neaman&Pearson's alĥa, beta compares the relative significance of H1
A note that is not connected to this network will get lost in the card file and ill be forgotten by it.
A good idea for a review for expiring notes: use the degree and the date of the note as a hint. An old unconnected note may be forgotten to avoid polluting the system. A good companion capable of discussion and surprising us should (IMHO) also be capable of forgetting fading stuff, like I do.
There are two possible ways to assemble a draft with the help of notes from the archive: Copy and paste everything into a single document and rewrite later. This creates a strong relationship between your draft and your notes right away. If you change the notes in the process, the changes won’t be reflected in your draft. Reference notes instead of pasting their content. This is a much weaker relationship. You don’t rely on the content of a note itself, but on the note’s existence
Can we do both with org-transclusion?
don’t like wikis for knowledge work
Like confluence
Middle Layer: Structure Notes
With org-transclusion?