deft/notes/2021-08-04--17-13-03Z--airss.org

371 lines
15 KiB
Org Mode
Raw Permalink Normal View History

2021-09-15 07:12:29 +00:00
:PROPERTIES:
:ID: c7768cbd-7515-4a0b-953e-c6504bbba42c
:END:
#+Title: AIRSS
#+Author: Yann Esposito
#+Date: [2021-08-04]
#+LANG: fr
2021-09-15 07:12:29 +00:00
- tags :: [[id:2a7fef5e-3dec-48fc-a2cc-182d252dc746][idee]]
- source ::
* Intro
Idée de départ déjà existante mais plus avancée.
Aller à l'étape suivante de la présentation d'informations.
Une intelligence artificielle qui va récupérer les contenus du net et vous
les présenter tous les jours selon une logique qui convient à ce que
l'utilisateur souhaites.
1. constituer une archive (ou piocher dans les archives) des articles,
contenus du web
2. Découvrir les nouveaux contenus via RSS (ou RSS + scrap)
Ensuite, en utilisant des techniques soutenues par le Machine Learning,
avoir une présentation à l'utilisateur en fonction de sa demande.
2021-10-18 08:42:08 +00:00
Cela pouvant être, des news, des leçon/cours, fabriquer un chemin de connaissance.
Certaines difficultés;
- déterminer la qualité des articles/sources
- présenter la bonne source
Déterminer la qualité pourrait se faire avec un système de notes, plus ou
moins avancé en fonction de ce que les gens souhaitent.
Proposer des thèmes.
Mais l'idée de fond importante serait de ne pas proposer que des articles
récents, mais aussi de vieux articles.
Ajouter un système qui affichent les réponses entre articles pour savoir
qui critique our mentionne l'article que vous venez de lire, etc...
2021-10-18 08:42:08 +00:00
Cela implique un système centralisé qui va faire cet effort d'archivage et
de fabrication de graphe.
Ce qui justifie un système non décentralisé tout en étant agnostique du
2021-10-18 08:42:08 +00:00
degrés de décentralisation du Net, ou si pas totalement agnostique,
préfèrent une nature décentralisée.
Le système de "mention" serait impossible à promouvoir par
twitter/FB/etc...
qui souhaitent conserver leurs articles/données.
Google pourrait être intéressé par ce système, mais une part importante
serait d'être transparent sur ce que ce système souhaite optimiser.
Et au lieu de proposer un système qui optimiserait l'interaction (comme
twitter/FB/etc...), il faudrait au contraire proposer un système qui fasse
une promotion de la qualité, potentiellement en réduisant les interaction,
les notifications, et avec un pre-accord de l'utilisateur qui pourrai
configurer sa manière préférée d'interagir avec le produit.
* Mentions
Il faudrait avoir un système de "small" web.
Comme avec lobste.rs mais du coups décentralisé.
Le site ferait office de vision centrale, avec une API libre pour afficher
les commentaires.
Si ça déraille on pourrait virer les gens comme via lobste.rs par l'arbre entier.
1. recevoir une invitation, créer son compte en renseignant son RSS (question, full text ou pas?)
2. Filer une API + iframe pour afficher les backlinks (pas des webmentions)
Centralité, mais en même temps simplicité.
Filtre sur une communauté de gens "bien".
Des dev probablement.
Ça donne donc un fil temps réel de tous les articles de blogs.
On file aussi un moyen d'héberger son blog sur ce serveur pour pas cher.
On utilise les préférences des gens pour faire:
1. filtrer des mots/regex
2. proposer des thèmes
3. organiser par AI le "feed"
Celà va produire un lobste.rs automatique.
Je peux ajouter des RSS sans compte associés pour les sites sympas.
Ajouter tout un système via l'UI/UX pour minimiser les anti-patterns et
tirer la qualité des conversations vers le haut.
* Notions
** Les Chemins de la connaissance.
Ne pas utiliser les news, mais au contraire avoir une notion de niveau de
chaque individu pour chaque catégorie.
L'utilisateur peut donner un niveau de difficulté d'un article en face de
sa perception de compétence.
Je comprends le sujet au niveau X (de 0 à n)
Il dit si il a tout compris de l'article, si il était bon et s'il veut des
articles de niveau plus élevé ou pas.
L'idée serait d'avoir une notion de niveau d'expertise des articles ainsi
qu'un niveau de qualité de ces articles.
Ainsi, vous pouvez venir sur le site et déclarer, je voudrais apprendre
Python j'ai le niveau newb 0.
Ainsi, on pourrait fournir un *chemin de connaissance* pour maîtriser
Python.
Le niveau pour python irait probablement de 0 à 5, pour Haskell ce serait
de 0 à 20 ;).
En tout cas à partir d'un certain niveau d'expertise, la connaissance se
sépare en branches d'expertises. Et si l'on détecte qu'une personne se sent
experte d'un domaine, on peut lui procurer des articles plus proche des
*news* avec des flux RSS de qualité très élevée, des articles
scientifiques, etc...
Un auter aspect important serait d'avoir une partie qui serait un système
de spaced repetition pour les meilleurs articles.
Ceux auxquels on souhaite être réexposé de temps en temps.
*** Stratégies de présentation
- avoir un système d'AI/stat qui permette de décider quel serait le
meilleur prochain article à montrer.
Prenons une catégorie spécifique, l'user est /détecté comme newb/[fn:detectnewb], on
sélectionne tous les articles de cette catégorie pour les newb.
On regarde le *score* en utilisant HN/reddit/Google/etc...
On a ensuite une liste =[(URL,score)]=
[fn:detectnewb]: il faut une stratégie pour déterminer le niveau d'un
article. AI ? Nombre de code, formule mathématique, longeur, etc...
* Monétisation
Malheureusement, il faut essayer de penser un chemin de monétisation.
Pas besoin de devenir milliardaire, mais, pouvoir subvenir aux ressources nécessaires.
Un avantage / inconvénient, c'est qu'il faut avoir un système central pour
ça.
Ou tout du moins, la centralité du système donne un avantage.
Sans cette centralité, il sera difficile d'accomplir le même résultat.
Un des avantages à la centralité, c'est qu'on peut aussi centraliser les
accès des gens, et donc justifier d'un certain volume.
Le problème c'est que pour monétiser aujourd'hui l'"incentive" est donc
d'augmenter le temps que les gens vont passer sur le site ce qui va tirer
vers les mauvais usage que ce site essayera précisément d'éviter.
Ainsi comment dépasser ce problème ?
Tout d'abord, il faut être bien conscient qu'il faut prévoir les phases de
croissances.
En 1, il faut faire venir le maximum de monde et remplir de plein de données.
En 2, il faut ensuite retourner le système pour séparer les utilisateurs
qui favorisent la richesse du système et pour les autres il faut les faire
participer d'une manière ou d'une autre.
Donc soit, ils ajoutent des sites, remplissent des questionnaires.
Soit, ils payent pour avoir toutes les features.
On peut aussi imaginer avoir des gens qui vont fournir des chemins de
connaissances tout prêt (des formations quoi) et donc prendre une participation.
** Idées
*** Split entre participants actifs et passifs
Les actifs ont un accès gratuit, ils travaillent pour le site.
Les passifs on un accès limité ou payant.
Les passifs, se prennent des pub non ciblées via leur usage mais seulement
via les tags qu'ils suivent et propres.
*** Centralisation des offres d'emploi de personnes hautements qualifiées
*** Middle Men de Cours/Formations en ligne avec les experts du domaine
* Architecture Fonctionnelle
Tout d'abord il faut distinguer plusieurs parties.
Une partie doit s'occuper de la partie administrative classique d'un site
web.
Une partie doit s'occuper de la partie, workers dans le backend.
Le travail à faire va ressembler un peu à ce que ferait un search engine,
mais sur un ensemble de données beaucoup plus restreint et contraint, ce
qui devrait rendre l'effort beaucoup moins complexe.
De plus, si un site ne s'indexe pas facilement, ou pour lequel le scoring
n'est pas évident, tant pis, c'est à l'auteur de ce site de faire de son
mieux pour s'intégrer avec le site principal.
Le but est de toute façon de se limiter aux site qui ont de bons principes.
- Le HTML doit être facile à lire, pas bloqué par du js.
- Les RSS devraient contenir les articles entiers.
- etc...
** Structure des utilisateurs
Le but étant de créer une communauté restreinte le système d'invitation me
semble le meilleur.
Chaque compte d'utilisateur possède un compte qui l'a invité.
Les invitations peuvent être limitées, si un compte déconne, on peut check
les invitations et couper la branche.
Pas forcément de notion de follow user/friends, etc...
J'y suis plutôt opposé car le follow donne une notion de news avec la
sensation de peur de perdre des news (FOMO).
** Structure de données
Il faut pouvoir représenter une carte des connaissances, expertises d'un
utilisateurs.
Chaque utilisateur va posséder une liste de domaines auxquels il a été
exposé.
En fonction de ce que l'on détecte ou qu'il exprime, nous allons évaluer
son expertise dans chaque domaine (et tous les sous-domaines de façon
récursive).
Pour les articles, il faut aussi essayer d'établir une notation de la
difficulté, et de l'utilité, pour renforcer l'expertise (ou au contraire
renforcer la capacité à être plus générique).
La recherche pourra se faire soit en profondeur, soit en largeur, soit
selon d'autres types de stratégies, du style, profondeur sur un certain
aspect, mais avec apprentissages des aspects connexes moins en profondeur.
C'est-à-dire, qu'il faudra pouvoir choisir les dimensions que l'on
cherchera à optimiser.
Soit avoir une vision globale d'un domaine, puis pouvoir se focaliser plus tard.
Il faut si possible trouver un moyen de monétiser ceux qui écrivent des
articles.
Pour la science c'est facile, les gens sont payés pour ça.
Mais pour Internet, c'est un peu du tout gratuit :/.
Mais ça a pour effet de dissuader les meilleurs experts d'investir dans
l'écriture d'articles expert de haut niveau.
** Récupération des données
Tout d'abord, récupérer les top blogs en checkant les articles top (>500 votes)
de HN, mais en faisant pareil avec lobste.rs, /r/programming.
Le score devrait donner une indication de la qualité d'un article. Mais la
popularité ne fait pas tout.
Il faut si possible faire une analyse plus fine du contenu.
Tout d'abord avec des notions simples.
La taille de l'article, est-ce qu'il contient des blocs de code, des
formules de math, etc...
Est-ce qu'il s'agit d'une image, etc...
Il faudrait avoir une bonne passe manuelle pour vérifier que les sites ont
des flux RSS de bonne qualité, que le site n'est pas du style bloatware
avec des tonnes de cookies/js.
Éviter les sites non personnels si possible pour avoir une sensation de
site privé entre expert.
** Data sources
*** Find a strategy to siphon HN/Reddit/etc..
- HN
- =/r/programming=
- =/r/clojure= etc...
**** Strategies
On veut des articles facile à récupérer / extraire. Si le contenu est
derrière un paywall (ou d'autre type de wall) on peut considérer que ce
n'est pas du contenu ouvert pour tous. Pas de pb, mais ça n'a pas notre
place dans le cercle.
Si possible des articles longs, et en profondeur pour essayer de gratter la qualité.
Si possible des blogs personnels et pas des articles de gros systèmes de news.
Si possible chercher pour du RSS, vérifier qu'il contient tout.
Si possible des articles apréciés.
Checker la qualité des commentaires pour vérifier qu'il ne s'agit pas de
politique (au sens large, type discussion d'opinions, etc..)
Préferrer les articles qui statuent qui apprennent, etc... Pas qui posent
des questions d'actualité.
Peut-être essayer de statuer sur certains mots qui ont tendances à être
utilisés pour favoriser des articles d'opinions.
Un petit tf/idf, c'est à voir.
*** Manual list
**** Blogs
***** Randomly chosen
- http://sivers.org
- http://www.paulgraham.com
- http://zenmoments.org
- https://www.joelonsoftware.com
- https://daringfireball.net
- https://johnresig.com/category/blog/
***** From https://news.ycombinator.com/item?id=3120380
- http://prog21.dadgum.com/ -- swegr, fp theory
- http://www.johndcook.com/blog/ -- swegr, fp theory
other advanced swegr blogs. we're not talking atwood and joel, here, that stuff is for college kids.
- http://blog.tmorris.net/ -- swegr, fp/tactics
- http://james-iry.blogspot.com/ -- fp/tactics
- http://playingwithpointers.com/ -- philosophy, fp/tactics
life
- http://www.jasonshen.com/ -- "Art of Ass Kicking" (life)
- http://www.sebastianmarshall.com/ -- "Strategy, Philosophy, Self-Discipline, Science. Victory." (life)
- http://dilbert.com/blog -- politics & life
--
- http://prog21.dadgum.com
- http://www.moserware.com
- http://ridiculousfish.com/blog
- http://wingolog.org/
--
http://stevehanov.ca/blog/ -- Updates infrequently. Very good programming articles.
http://duartes.org/gustavo/blog/ -- Updates infrequently. Good articles on Linux and Programming. Start here: http://duartes.org/gustavo/blog/best-of
http://catonmat.net -- He doesn't update much anymore since he's working on his startup but the archives are still good. Mostly unix tools and CompSci stuff IIRC.
http://chneukirchen.org/trivium/ -- Curates unix and plan9 articles and some lower level/systems programming stuff with a few other peculiarities sprinkled in.
http://www.foldl.org/ -- Curated programming/compsci stuff from certain subreddits. Didn't last long, archives still have some gems.
http://lambda-the-ultimate.org/ -- I actually don't read the articles that often anymore but I scan the titles as if it were a ticker of what's going on in the programming world.
If someone could point me to more curated sources like foldl, I'd appreciate it.
Non-programming:
http://ryanholiday.net -- http://www.ryanholiday.net/an-introduction-to-me/
http://thelastpsychiatrist.com/ -- I skip the pharma articles that are way over my head. Cultural deconstructionism.
--
http://www.igvita.com/
http://ejohn.org/
http://codingrelic.geekhold.com/ (Denny covers assembly and networking issues often in great detail)
http://buhrmi.tumblr.com/
http://elegantcode.com/
http://72lions.com/
http://kellabyte.com/ (mobile-ish dev)
http://lambda-the-ultimate.org/
http://ihumanable.com/blog
http://4loc.wordpress.com/
http://www.maxogden.com/
http://till.klampaeckel.de/blog/
http://www.quirkey.com/blog
http://www.mikealrogers.com/
http://cocoawithlove.com/
--
http://dorophone.blogspot.com/ ;; elisp/picolisp stuff. monads, sexp, fexpr. inspiring.
http://okmij.org/ftp/ ;; general cs ftw. too deep.
http://john.freml.in/ ;; nice http server perf in clisp.
http://www.learningclojure.com/ ;; get the most of clojure in terms of cpu cycles. refreshing.
http://vanillajava.blogspot.com/ ;; perf, lo-level details about java. refreshing.
***** Less Wrong
https://www.lesswrong.com/tags/all
**** Single articles
- https://www.gamasutra.com/view/feature/4111/dirty_coding_tricks.php?print=1
#programming #game
- http://www.georgehart.com/index.html #math
- https://jacquesmattheij.com/be-consultant/
- http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html #programming-lang
- https://www.sbf5.com/~cduan/technical/git/ #git
- http://paulbuchheit.blogspot.com/2009/10/applied-philosophy-aka-hacking.html #hacker
- https://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html
(why gnu grep is fast)
* Architecture Technique
** Structure de données