blogy

Reader

Read the latest posts from blogy.

from linarphy

I always had this project to have THE đŸȘ„ perfect tagging system, that will let hierarchical directories and files explode đŸ’„ in their stupidity. The Thing that will allow anyone to search for a study on penguins made less than 2 years ago and published in any open science libraries that I read about between two and one month. The kind of thing everyone dream about.

I first tried to implement a tagging đŸ· system as my first rust project (which didn't go very far, I admit). It showed me how hard it is to set up metadata, you have to define a grammar 🗂, that determine what data can have a metadata. Then I tried to document it, defining a set of rule to create such a system. First, by describing two concepts: tag, and relationship.

I quickly realized that you can implement boolean logic here, with set and sub-set. So I had: tags, relationships and operations, at the end. The missing piece was a taxonomy.

Then I tried to model simple system, and failed to determine which grammar would describe the best what is a resource, even what is a location of a resource (because then, you need a protocol, an authority, and at this point, you understand you just need to follow URI format, but you want to go beyond that, so you try to model authority, etc.).

Then I discovered it đŸ€©. The name of what I was thinking of. It already exists. Made by smart (weird?) people: ontology. Seems hard, but fun (at least for me, at first glance !). I'll try to experiment with that in a (hopefully) near future. I always try too much to go fully abstract/conceptual, which can be a curse. It's seem cool for this at least.

Now the trap to avoid is redefining the wheel, I hope think all these smart people already defined norm to follow. Have to find (and understand !) them now.

The more I go into this rabbit hole 🕳, the more I feel like it take a long time to get it done right. If I want to tag a document (let's say a scientific paper 📕), I have to define what metadata I CAN add to this “type” of document (and then, is “type” a metadata ?).

I have to install protĂ©gĂ© (to edit OWL and/or RDF files) to define a knowledge graph stored in a Neo4j/GraphDB database. Maybe I'll post on this kind of thing in a (hopefully 😅) near future.

At least I know where I am headed now đŸ«Ą !

 
Read more...

from linarphy

and why it should be a default for JSON and why everyone should use tab

First, let's be honest, it will be a half-troll/half-serious post.

Not too long ago, I had to manually edit a JSON file (don't ask why đŸ«ą). And like always, it took me 15 minutes to understand why things didn't work. And like always, it was because I put a comma at the end of a list
 It's 2025 ! I know about JSON5, but how it's not a default for every JSON parser ? It's crazy. Right ?

This led to me thinking of the magnificent advantages trailing commas have. How cute 😾 and dependable these , were. And how I loved them so much 💖.

In the not less beautiful language that is the noble PHP, I can put these cuties after the last element of any list, of course đŸ€­, but also after the last argument in a function call, and even after the last argument in a function definition ! The mighty PHP even allows them in use list !

Now the long awaited ode to trailing commas

I love how fast I can add an element in a long list, thanks to you ! I love how easy it is to read a commit diff, thanks to you ! I love how beautiful are my calls over 72 characters wide, now divided in several pretty lines ! How could I ever stop dreaming of you when writing JSON ? The JSON5 standard should definitely always be turned on You're the sunshine in my life, the standard of standards, the truth that everyone should listen to ! And I know you love me too !

And thanks to all the other serious language that that allows this gem to express itself every day !

That's all, folks đŸ«Ą !

And one day I'll really post a thesis about how tab indent should be the only accepted truth

 
Lire la suite...

from linarphy

AnaĂ« tira, lĂ  oĂč tout le monde le lui avait dit : elle faisait ce qu'elle pouvait. Serrant son instrument sur ses cĂŽtes, le temps Ă  l'arrĂȘt, elle se prit Ă  penser aux autres. CĂ©lot Ă©tait partie le mois dernier, tenir la ligne au nord. Celle qui dĂ©sirait tant terminer son projet devra attendre encore quelques mois. Ou quelques annĂ©es. Peut-ĂȘtre mĂȘme l'Ă©ternitĂ©, mais l'elfe ne voulait pas y penser. À l'Ă©poque, sa meilleure pote lui aurait dit qu'elle aurait bien le temps.

Mais le temps manquait depuis le dĂ©but de la guerre. En fait, le temps manquait dĂ©jĂ  avant, mais la raison n'Ă©tait plus la mĂȘme. La peur dĂ©truit tout, c'Ă©tait l'une des nombreuses leçons apprises depuis ces trois ans. Ça avait changĂ© ses proches. Comment oublier leurs regards, leur haine face Ă  une diffĂ©rence ? Elle le savait pourtant, elle Ă©tait nĂ©e dedans. AnaĂ« avait juste eu la chance de rencontrer des orcs sympas, dans un endroit sympa, dans un contexte sympa.

Elle leur en voulait quand mĂȘme, sans n'avoir rien Ă  leur reprocher. À l'Ă©poque aux orcs, maintenant Ă  ses anciennes amies. À qui la faute ? À la vie intelligente ? On lui avait dit une fois que la xĂ©nophobie Ă©tait quelque chose de “naturelle”. Aujourd'hui, elle comprenait que les gens qui invoquaient la Nature n'en n'avait gĂ©nĂ©ralement rien Ă  foutre. La haine Ă©tait pratique pour maintenir l'Ordre, un ordre qui n'avait rien de naturel. La faute ne revenait donc Ă  personne... Aucun responsables, ça voulait dire personne Ă  condamner : pour beaucoup, ça revenait Ă  dire qu'il n'y avait rien Ă  faire, comme s'il fallait dĂ©signer un coupable pour agir.

La guerre l'avait changĂ©e, elle aussi. À l'Ă©poque, tuer c'Ă©tait dĂ©truire. À prĂ©sent, massacrer Ă©tait une solution pour construire un meilleur avenir. Et l'elfe n'Ă©tait pas sĂ»re que ses idĂ©es soient les bonnes. N'imposerait-elle pas Ă  ses victimes ses propres idĂ©aux ? Cela n'avait rien de juste, surtout qu'elle-mĂȘme avait expĂ©rimentĂ© les rĂ©sultats d'un meurtre : elle ne pourrait jamais tourner la page. HĂ©las, la vie est injuste, et l'inaction tue, elle aussi.

Plus que la fin de la guerre, l'objectif de la résistance était l'avÚnement d'une société heureuse. Comme dans n'importe quel groupe terroriste. La hiérarchie était en place, les opérations bien menées, et tout le monde le savait : la victoire était proche. Le sourire était sur toutes les lÚvres, dont les siennes. Sauf quand elle doutait, revenait au réel, aux larmes et aux morts. C'était souvent en cachette, car il fallait rester forte. De toute façon, c'était la seule raison de vivre. Si elle n'y croyait plus, qui le ferait ?

L'AcadĂ©mie l'avait placĂ©e pour la premiĂšre fois sur le terrain. Finit les prĂ©parations aux baies d'Alentir et aux cendres, cette fois, c'Ă©tait sĂ©rieux. Elle ne l'avait pas voulu, et en mĂȘme temps, c'Ă©tait peut-ĂȘtre la meilleure maniĂšre de dĂ©culpabiliser. Histoire de faire sa part, pour de vrai.

L'horreur arrivait vite. Le craquement d'une brindille signala l'approche de la patrouille suivante. La main tremblante, Anaë se mit à prendre une grande inspiration. Avait-elle fait le bon choix ?

 
Lire la suite...

from linarphy

Je viens d’installer Misskey ici, et ce choix de logiciel s’est fait dans la douleur et le doute đŸ€š.

Je cherchais un logiciel regroupant plusieurs fonctionnalitĂ©s “clef”:

  1. une belle interface
  2. un développement actif
  3. des réactions aux messages
  4. une connexion avec Keycloak, mon IdP (grossiùrement mon logiciel qui me permet de m’authentifier sur tous les services du site) via openid
  5. tester encore un autre logiciel (pour acquérir de nouvelle compétence)

Avec ces points, j’avais Ă©liminĂ© d’office beaucoup de possibilitĂ©s:

  • pleroma (je trouve l’interface particuliĂšrement « vieillotte », je l’ai dĂ©jĂ  utilisĂ© et je n’ai jamais rĂ©ussi Ă  le connecter Ă  Keycloak)
  • mastodon ( toujours pas de rĂ©action en 2025 đŸ€­)
  • firefish (plus maintenu, pas de connexion avec openid en tant que client)
  • misskey (pas de connexion avec openid en tant que client)
  • gotosocial (pas de rĂ©action, pas de connexion avec openid en tant que client et je ne trouve pas l’interface trĂšs jolie)
  • les petits logiciels maintenus par une personne

De lĂ , j’avais donc prĂ©vu d’utiliser bonfire, qui remplissait toutes les conditions, mĂȘme si je n’étais pas sĂ»r que le projet soit trĂšs actif.

L’installation fut longue, laborieuse, et je n’ai pas rĂ©ussi Ă  la terminer. Pour ĂȘtre honnĂȘte, je suis dans leur discussion matrix, et le projet est vivant, mais je n’ai pas osĂ© les dĂ©ranger pour qu’ils m’aident Ă  installer ce qui est encore une bĂȘta.

Le gros point noir, c’est l’utilisation d’Elixir (comme pleroma 😔). Un langage fonctionnel, qui m’est totalement incomprĂ©hensible. Au-delĂ  de la dĂ©cision d’utiliser un langage fonctionnel pour crĂ©er un site qui me semble Ă©tonnante, les configurations se font dans le langage lui-mĂȘme.

Je n’avais donc que deux choix:

  • attendre que bonfire sorte de sa bĂȘta (ou que je prenne le temps de rĂ©ussir l’installation)
  • utiliser un autre logiciel, au moins temporairement

À vrai dire, Misskey me faisait de l’Ɠil depuis un moment, et je me suis donc dĂ©cidĂ© Ă  ignorer l’absence d’authentification fĂ©dĂ©rĂ© via openid pour le moment, et de partir sur celui-ci.

 
Lire la suite...