#laboratoire
Publications relatives à cette étiquette
PageCrypt
J’y ai passé ma soirée mais j’ai un truc qui fonctionne pour une démo. Ça ressemble beaucoup à un patchwork de bouts de code récupérés ici et là puis aussi là pour la partie Python.
Il y a encore pas mal de travail — notamment pour rendre la page suffisamment accessible — mais au moins la partie crypto / boîte noire semble fonctionner à la fois du côté génération en Python et consommation en JS. C’est la partie qui me faisait un peu peur et sur laquelle j’ai un peu patiné car c’est bien au-delà de mes compétences et que je ne veux pas prendre l’initiative de trop adapter sans comprendre les enjeux niveau sécurité.
Le dépôt est par ici. Il faut encore que je décide si le formulaire pour le mot de passe devient un web component dédié et/ou un sous-composant, je ne suis pas satisfait du couplage implicite actuel. Itération, itération.
En bonus, il est possible d’accéder directement au contenu de la page en mettant le mot de passe en ancre de l’URL. J’ai appris au passage que ce fragment d’URL n’était pas transmis dans la requête et ne restait que dans l’historique du navigateur.
Si tu n’as pas honte de ton premier commit, tout ça… la suite demain.
Les mots ont un impact et, inconsciemment, quand vous ne les utilisez pas dans la bonne manière, vous minimisez mon handicap et donc vous faites moins d'effort que nécessaire.
Autre point, dit-on « personne en situation en handicap » ou « personne handicapée ? »
Là, encore, il y a une subtilité.
Je vais à un événement tech où les conférences ne sont pas sous-titrées. Je suis en situation de handicap puisque les conférences ne me sont pas du tout accessibles.
Je vais à un événement tech où les conférences sont toutes sous-titrées. Je ne suis pas en situation de handicap puisque les conférences me sont totalement accessibles.
Voici la différence. Être en situation de handicap, c’est subir la situation faute d’accessibilité.
Cette page ne contient pas le contenu du HTML qui s’affiche et ça me rend triste car j’en apprécie le contenu qui m’apprend des choses / me fait réfléchir.
Un autre angle de l’accessibilité ?
So don’t publish for the world.
When I write something here on my website, I’m not thinking about the world reading it. That would be paralyzing. I do sometimes imagine that one person is reading it; someone just like me who hasn’t yet had this particular thought, or come up with that particular idea.
I’m writing for myself. I write to figure out what I think. I also publish mostly for myself—a public archive for future me. But if what I publish just happens to connect with one other person, I’m glad.
My goal, for this digital place I’m creating, is to make you go away. And that’s not because I want to be left alone but because I hope to help you discover new digital places to explore. If I see you again, it’s because you decided to come back, and not because you got lost and trapped inside the digital walls I erected.
🌱
Simple
We can bring that into RSS by treating any interaction as content. If you post something, thats an entry in your feed (as before). If you comment on something, thats also an entry in your feed. If you like something, thats another entry in your feed. If you follow someone (which would mean subscribing to some RSS feed), thats also another entry in your feed. To mark that interactive nature of some feed entry, we can simple extend RSS a bit
Tout est dans le simple
🙃.
Rédiger une spécification comme Media RSS n’est déjà pas trivial mais alors faire en sorte que cela soit adopté et devienne un standard c’est une autre paire de manches.
RSS originated in 1999, and has strived to be a simple, easy to understand format, with relatively modest goals. After it became a popular format, developers wanted to extend it using modules defined in namespaces, as specified by the W3C.
RSS 2.0 adds that capability, following a simple rule. A RSS feed may contain elements and attributes not described on this page, only if those elements and attributes are defined in a namespace.
Beaucoup de personnes ont envie de faire davantage avec RSS, c’est la diffusion à une échelle non anecdotique qui est difficile. Peut-être qu’un acteur comme Mastodon pourrait peser dans la balance d’une telle initiative.
Another feature area I would think about is interactivity. I’m fascinated with Google’s work in Gmail around “Inbox Actions” – basically the one-click buttons to perform an email action like RSVP, or reviewing a bug. Here’s an explainer with some examples.
Let’s call it Feed Actions. Feed Actions could also be an RSS extension.
Three requests for the Google Chrome team as they experiment with RSS
[archive]
J’ai deux communautés dans lesquelles c’est même devenu un running gag de créer un outil qui explorerait de nouvelles possibilités.
Suivez-moi et vous n’aurez plus jamais faim ! Gniarkgniarkgniark 🦁⚡️
Véhicule
John Burroughs est d’avis que l’étude expérimentale des animaux en captivité est totalement futile. Leur caractère, leurs habitudes, leur appétit changent complètement lorsqu’ils sont arrachés à leur habitat naturel. Comment pourrions-nous donc envisager les potentialités de la nature humaine alors qu’elle est confinée dans un espace restreint et contrainte quotidiennement à la soumission ?
Seuls la liberté, l’épanouissement, la chance et, par-dessous tout, la paix et la sérénité peuvent nous renseigner sur les véritables facteurs dominants de la nature humaine et toutes ses merveilleuses possibilités.
L’anarchisme représente donc essentiellement la libération de l’esprit de la domination religieuse ; la libération du corps du joug de la propriété ; la libération de l’individu des entraves et des restrictions du gouvernement. L’anarchisme représente un ordre social fondé sur le regroupement volontaire des individus en vue de produire une véritable richesse sociale ; un ordre qui garantira à tout être humain le libre accès à la terre et la pleine jouissance des nécessités de la vie, selon les désirs, les goûts et les inclinations de chacun.
Ce que l’anarchisme représente vraiment, Emma Goldman, 1911
L’exercice Scopyleft du jour était d’imaginer et de partager le véhicule que représente la coopérative pour chacun·e d’entre nous aujourd’hui. J’ai été agréablement surpris que nous proposions tou·tes quelque chose de différent. Les questions n’ont pas besoin d’être très élaborées pour apporter des éclairages personnels sur une même situation.
Your AI-free Content Deserves a Badge
Artificial Intelligence (AI) is trained using human-created content. If humans stop producing new content and rely solely on AI, online content across the world may become repetitive and stagnant.
If your content is not AI-generated, add the badge to your work, with pride.
De même qu’hier, je m’interroge beaucoup sur le notion de plagIAt. Je copie-colle des citations, j’explore des idées déjà connues, je crée un patchwork quotidien, quelle différence avec un algorithme suffisamment bien nourri ?
Depuis plus de dix ans, l’Ouvre-Boîtes a mis en place les prêts Coopitalistes. Le principe est simple : des citoyennes et citoyens ou associations investissent de l’argent à l’Ouvre-Boîtes pour sept ans.
En captant cette épargne solidaire, la coopérative se créée une banque interne qui finance des projets comme :
- Des projets collectifs : travaux pour aménager un lieu à disposition des entrepreneur·es (le Grand Bain),
- Des investissements pour des entrepreneur·es qui en ont besoin pour lancer leur activité : vélos, voiture, appareil photos, ordinateurs, outils de jardinage…
- Des besoins exceptionnels de trésorerie
Les alternatives existent, elles sont moins faciles à trouver mais elles existent. Et elles inspirent.
Injection
It’s fun to think of other possible uses… Perhaps you could pull in HTML modules along with their relevant CSS link. Or embed a tweet or code examples in documentation or a blog post. It could probably even be used to load and apply a regular rel=stylesheet
link asynchronously, and at a low priority, which is otherwise surprisingly hard to do (note: I didn’t test this idea much to say for sure).
J’ai cette page ouverte dans un onglet depuis littéralement des années. C’est Alexis qui me l’a rappelé en partageant htmz aujourd’hui qui va un tout petit peu plus loin.
Voilà le code en question :
<iframe
src="/static/david/2024/test-injection.html"
onload="
this.before(
(
this.contentDocument.body||this.contentDocument
).children[0]
);
this.remove()
"
hidden>
</iframe>
En résumé, on prend le code l’iframe
et on l’injecte au chargement dans le document en cours. Voici un exemple (pas sûr que ça fonctionne depuis un agrégateur…) :
J’ai ajouté l’attribut hidden
à la proposition initiale pour éviter le flash. Si vous inspectez le code, vous constatez que le paragraphe précédent tout à fait classique alors qu’il s’agissait d’une iframe
(sauf si vous avez une extension qui bloque les iframe
bien sûr). Jusque là c’est une forme d’inclusion
[archive] mais rien de bien utile.
Ce qui devient un peu plus fou serait de pouvoir injecter un Web Component de cette façon ! Le problème étant que le this.remove()
est exécuté avant le chargement du script de l’iframe
… et si on le retire on conserve cet élément hidden
dans le document. Ce n’est pas critique mais ce n’est pas très élégant non plus, d’autant que cela signifie que le composant est défini et instancié deux fois.
Il y a probablement des choses qui m’échappent mais il se fait tard.
To be continued…
Découvertes du jour : <base>
et globalThis.
Aussi, il n’est pas forcément indiqué de générer une SECRET_KEY
avec Django, il vaut mieux le faire en Python directement :
[depuis un shell]
$ python3 -c 'import secrets; print(secrets.token_hex(100))'
So, what’s the fun of writing on the internet anymore? Well, if your aim is to be respected as an author, there’s probably not much fun to be had here at all. Don’t write online for fame and glory. Oblivion, obscurity and exploitation are all but guaranteed. Write here because ideas matter, not authorship. Write here because the more robots, pirates, and single-minded trolls swallow up cyberspace, the more we need independent writing in order to think new thoughts in the future — even if your words are getting dished up and plated by an algorithm.
What’s the fun in writing on the internet anymore?
[archive]
Rester (et alimenter la machine) ou quitter (et laisser l’espace à la machine).
Je n’aime pas beaucoup la métaphore de la forêt noire [archive] ces temps-ci car j’apprécie un peu trop les forêts pour ça. J’aurais davantage l’impression de faire partie d’une haie alors qu’il y a beaucoup de monoculture aux alentours. Avec les double sens que cette méta·phore implique.