228 private links
A little robot that throws gummy in your mouth.
Guest Lecture at Saarland University, on June 25th, 2024
Kiosk: Un poste en libre service, souvent avec un navigateur en plein écran, avec des restrictions: temps de session, accès aux sites filtrés, verrouillage de fonctionnalités.
Réalisé par l'entreprise Atos. Le projet est libéré et donc disponible pour tout autre.
Et si les études n'étaient que la réalisation
Vers la vingtaine et après, toutes les décisions doivent être prises. Ne rien faire, c'est aussi un choix, et pas souvent le meilleur.
La vingtaine c'est voir des amitiés s'effacer. Certaines amitiés aussi forte qu'elles soient ne sont pas éternelles.
Le travail prend un poids de plus en plus important, ou alors directement à jongler entre 9h-18h. Il reste ensuite peu pour le temps libre, ou passer du temps en famille. Le travail pompe ton énergie, ta motivation et parfois même tes rêves.
Nous ne pouvons pas toujours prendre la bonne décision, mais nous pouvons faire en sorte que chaque décision devienne la bonne.
💯
Source code: https://github.com/rust-adventure/lets-code-cli-config/blob/main/src/main.rs
Idea from the comments: Look into unwrap or default and implement the default trait, it cleans up the clutter from where you call unwrap_or
Recommendation of the video
Avoid
- folders
- inline properties and tags
Use
- wikilinks
- properties
- tags
As always it depends on the needs, but using only wikilinks, properties and tags can be practical and encourage better patterns.
Awesome
Great insights
Overengineered chrome game solver (T-Rex Chrome Dino Game) where a camera read the screen and set a motor to press the jump space.
Best ratio ever !
Example code is often simple because it lives in a idealized world. Use defensive programming to relates possible errors.
Scaling to power of 10s is challenging. As harmful to build for the system for the future as it is to build an inefficient system for the present.
Sources of complexity:
- leaky abstractions
- model/reality gaps: first and lastnames; unicode...
- fix it, hack around it or ignore the problem
- hyperspace: multiple runtimes, various screen sizes, multiple network speed, multiple version, etc...
- example: 3 browsers with their 4 last versions each, 3 screen sizes on 3 platforms = 108 combinations
- try to unify the environment: electron apps. Avoid NxM complexity.
- Complexity (homeostatis) over time
- some people tolerate more or less complexity
- a valuable system is worth putting up with more pain (resources, ...)
Software architecture degrades [with] changes made to the software...
Find dependencies and eliminate them
Complexity isn't always bad! i.e. Legend of Zelda Breath of the Wild's "chemistry engine"
Living with complications
- The Gordian Knot: solve your problems by changing the rules.
- Just start over
- Do less with less (reduce scope)
A head-start at the author's company?
- Local-first software: runs on your computer, but collaborates with other people.
- In-browser with IndexedDB
- Automerge (with portable versioned JSON-like data structure)