umap : Uniform Manifold Approximation and Projection
▻https://github.com/lmcinnes/umap
un concurrent à #tSNE pour la réduction de dimensionnalité
▻https://gist.github.com/Fil/4169006a1492cedd390d04ee4489364b
umap : Uniform Manifold Approximation and Projection
▻https://github.com/lmcinnes/umap
un concurrent à #tSNE pour la réduction de dimensionnalité
Dans l’attente du papier annoncé quelques rudiments de principes de la méthode exposé par l’auteur
▻https://www.reddit.com/r/MachineLearning/comments/6m9rlk/p_umap_uniform_manifold_approximation_and
(j’ai pas tout compris…)
En attendant, une explication détaillée des autres algorithmes #tSNE, #PCA et #AutoEncoding :
▻https://medium.com/towards-data-science/reducing-dimensionality-from-dimensionality-reduction-techniques-f658aec24df
(j’ai ajouté un notebook UMAP en commentaire)
#merci !
Excellente présentation. Je découvre et ça me laisse… #perplexe. Je veux dire, bien sûr, qu’il me faut bien choisir mon niveau de #perplexité :-D
d’autres algos sont possibles :)
j’en ai collecté 4 ici
▻https://gist.github.com/Fil/e0ecb37c181b7c960a33316375f0a002
Ah ouais ! t’as bien continué à bosser sur les législatives 2017 !
Mais il y a des résultats qui sont un peu strange… (cf. UMAP) il y a (beaucoup) de boulot pour l’interprétation, j’ai l’impression.
GTM est sympa aussi :
▻https://ugtm.readthedocs.io/en/latest/visualization_examples.html
Association des Maires Ruraux de France : des maires au service des maires des communes rurales
▻http://www.amrf.fr
La #rétention de noms de #candidats n’est pas acceptable. Il n’appartient pas au #Conseil_Constitutionnel d’apprécier le bien-fondé ou non d’un #parrainage, mais seulement sa validité formelle. Il y va du respect et de la considération élémentaire dus aux élus de la #République.
▻http://www.amrf.fr/Portals/0/0_Liens%20fonctionnels/03%2003%202017%20Publication%20des%20parrainages%20pour%20l'%C3%A9lection%20pr%
comme suite de ▻https://seenthis.net/messages/573561
Quel est le problème ?
Le site du CC précise qu’il publie tous les parrainages validés.
►https://presidentielle2017.conseil-constitutionnel.fr/les-parrainages/tous-les-parrainages
Tous oui mais dans quel ordre ? Le CC peux-t-il être submergé et ne pas tout traiter tout de suite ? Pour ma part je ne sais pas ce qui est sous-entendu par l’Association des Maires Ruraux de France.
Pour l’instant...
Mmh, sur les 2400 communes, il y en a 61 de (strictement) moins de 50 habitants, 171 de 50 à moins de 100, etc.
Pour info, la plus petite a 4 habitants (dans l’Aude) et parraine Marine Le Pen, la suivante en a le double (dans la Haute-Marne) et parraine Nathalie Arthaud et font partie du premier lot (du 1/03)
La plus petite du lot du 3/03 en a le triple (12) et parraine Jean Lassalle.
Réponse du CC (du 6/03)
Communiqué du 6 mars 2017 - Conseil constitutionnel présidentielle 2017 - Conseil constitutionnel présidentielle 2017
▻https://presidentielle2017.conseil-constitutionnel.fr/communique-6-mars-2017
Plus d’une semaine après l’ouverture de la période de recueil des présentations – ou « parrainages » – des candidats à l’élection présidentielle, le Conseil constitutionnel rappelle les éléments suivants.
En premier lieu, les formulaires de parrainage adressés au Conseil constitutionnel par les élus habilités à parrainer un candidat ne peuvent ultérieurement faire l’objet d’une modification ou d’un retrait. L’envoi d’un parrainage au Conseil constitue un acte définitif et irrévocable.
En deuxième lieu, les parrainages publiés par le Conseil constitutionnel sur son site internet deux fois par semaine sont ceux dont la validité a été vérifiée. Le décalage provisoire qui peut être observé entre les parrainages parvenus au Conseil par voie postale et ceux publiés sur le site internet s’explique par les délais nécessaires à l’instruction et à la vérification de la validité des parrainages.
Tous les parrainages enregistrés au Conseil constitutionnel sont traités en continu, dans les meilleurs délais. Tous les parrainages validés par le Conseil constitutionnel sont publiés sur son site internet, le mardi ou le vendredi suivant immédiatement sa décision. Dans l’instruction et la publication des parrainages, aucune distinction n’est effectuée selon que la personne parrainée a ou non déclaré être candidate à l’élection présidentielle.
Conseil constitutionnel - Anomalies graves sur la parution des parrainages de maires ! | Le Club de Mediapart
▻https://blogs.mediapart.fr/eau-du-robinet/blog/040317/conseil-constitutionnel-anomalies-graves-sur-la-parution-des-parrain
Un total de 1438 parrainages a été validés ce jour-ci, là où 1717 avaient été validés le 1 mars 2017. En soi, les résultats semblent normaux, sauf pour deux candidats : François Asselineau et Philippe Poutou*
Plus de 200 parrainages officiels en faveur de François Asselineau, président de l’UPR et candidat à l’élection présidentielle 2017 n’ont pas été comptabilisés par le Conseil constitutionnel le vendredi 03/03/2017 !
[…]
C’est avec étonnement que l’NPA avait constaté que le Conseil constitutionnel n’avait reçu qu’un parrainage pour Philippe Poutou entre mercredi soir et vendredi 03/03/2017. D’après leurs comptages, ce sont au moins 65 parrainages qu’il aurait dû recevoir, nous devrions en être à environ une centaine de parrainages au total ce vendredi.
(article très largement basé sur le communiqué de l’UPR)
un grand #merci, mais
<rouge_avec_la_honte>le CC a rendu finalement accessible le fichier csv complet</rouge_avec_la_honte>
beaucoup de grands #merci @simplicissimus @fil @seenthis
:-)
recompress jpg files on the fly · GitHub
▻https://gist.github.com/Fil/d5c57c49ef07f6ff4400cdcdf8b5051c
Un proxy (en php) pour servir les images jpeg optimisées par jpeg-recompress (cf ►https://github.com/danielgtaylor/jpeg-archive). Inclus un système de cache et la gestion des en-têtes pour ne pas recompresser à chaque hit.
A intégrer en plugin SPIP ? (merci Fil !)
#php #jpeg-recompress #github #optimisation #jpg #jpeg
le plus délicat c’est l’installation de jpeg-recompress, qui fait partie de #jpeg-archive évoqué ici ▻http://seenthis.net/messages/464503
#D3.js en ligne de commande, avec ou #phantom.js
▻https://gist.github.com/Fil/fe6c5681a6102ec483c7
tile-stitch
▻https://github.com/ericfischer/tile-stitch
Stitch together and crop map tiles for a specified bounding box
#carto #mbtiles (j’ai codé l’équivalent en PHP ici : recolle.php
▻https://gist.github.com/Fil/8d5490a1b205a77809e0 ; à la différence que mon script marche avec des numéros de tuiles et pas des coordonnées)
#charsethero : Mixed ISO-8859/UTF-8 conversion
▻https://gist.github.com/Fil/61fc715b9aab8133c603
je suis parti du script ci-dessous et j’ai rajouté un simple while(<>)
autour pour que ça soit utilisable. Pour @resf ça a permis de récupérer une base de données où certains contenus étaient encodés en iso-latin, d’autres en utf-8.
▻http://www.perlmonks.org/?node_id=642617
I had a problem with an application that produced a horrible mixed UTF-8 and #ISO-8859 encoded XML output. I found this way to transform it to pure UTF-8 without double-encoding the #UTF-8 sequences that were already there. I know this will not work in all cases, but it has been helpful.
au passage je note aussi qu’il a fallu changer un vieux longblob en longtext pour éviter que SPIP n’applique une deuxième phase de conversion.
#newton function to solve f(V)=0
* Newton's method for finding roots
*
* code adapted from D.V. Fedorov,
* “Introduction to Numerical Methods with examples in Javascript”
* http://owww.phys.au.dk/~fedorov/nucltheo/Numeric/11/book.pdf
*
* Usage: `Newton.Solve(Math.exp, 2));` => ~ log(2)
* `Newton.Solve(d3.geo.chamberlin(), [200,240])
une petite contribution #javascript pour savoir où on clique lorsqu’on joue avec #D3.js et des #projections_barrées (cf. ▻https://github.com/mbostock/d3/issues/1765 )
De la bonne grosse #algèbre_linéaire en Javascript, mais qu’il est fort ce @fil !
Si j’ai bien compris, ça permet d’"inverser" toute fonction (appliquer une approximation de la fonction réciproque, plutôt), et dans le cas d’une carte avec une projection bizarre créée avec D3.js, de convertir les pixels en latitude/longitude.
Pour commencer à décentraliser un peu #seenthis j’ai bricolé un système d’import/export des seens .
Export : j’ai choisi, après avoir pas mal hésité, un format « email », avec l’idée de pouvoir importer les messages dans un client mail ou news, et en espérant que ces derniers sauront refléter les fils de discussion.
Import : l’import d’un email se fait si ce dernier n’existe pas dans ma base (l’identifiant étant un UUID attribué par seenthis, et reflété dans le champ Message-Id
) ; ou si la date de modification du fichier est plus récente que la « date_modif » du message dans la base.
(Je n’ai pas traité la suppression, j’imagine qu’on ajoutera un entête ad-hoc disant « message supprimé », mais je n’ai pas regardé s’il existait un standard pour cela.)
A titre d’exemple, un message (ici une réponse) ressemble à ça :
Message-Id: <52d3ae2a-7440-4c6c-b4b1-f4cbecc31efa>
Date: Mon, 13 Jan 2014 10:13:14 +0100
From: <fil@seenthis.net>
Subject: Hello World
In-Reply-To: <52d3a4a7-2db4-4bf6-9211-efe4b236d063>
Hello World http://rezo.net/ cool
Comme on voit le « subject » est calculé à partir du contenu, comme le « title » des pages seenthis ; mais il est uniquement là à titre décoratif — lorsqu’on réimporte seul le body est pris en compte.
J’ai commencé à programmer le fait d’exporter aussi la version HTML en parallèle (via multipart/alternative
) mais il fallait réfléchir à la question des images, qu’il serait sympa d’avoir en local, mais qui demandent un peu plus de programmation. Je préfère savoir d’abord ce qu’en pensent les gens qui s’y connaissent mieux, je pense notamment à toi @stephane).
J’ai posé le script ici : ▻https://gist.github.com/Fil/8407898
Au quotidien je me demande quel usage on pourra faire de ces exports :
– un backup complet en synchronisant tout
– une version décentralisée en synchronisant tout en bidirectionnel
– que chacun puisse avoir une copie de « ses » seens par un rsync bien choisi (?)
– que chacun puisse s’abonner à son flux par IMAP ?
Par ailleurs, je pense qu’il faudra traiter la possibilité de répondre par mail et que ça vienne s’afficher sur le site.
Mettre en favori depuis l’email comme on met en SPAM en SPIP 3.0 + notifications aussi serait cool.
Avoir un statut « A lire plus tard car semble vachement cool mais là j’ai pas le temps » aussi que l’on mettrait depuis le mail ou l’interface... mais bon je suis peut être le seul à ne pas trouver de temps...
Ah non @kent1, je confirme, car actuellement on est plusieurs à utiliser le favoritisme pour divers besoins totalement différents, càd :
– soit garder un fil d’une autre personne dans sa boite à soi
– soit dire qu’on est d’accord avec la personne ou qu’on veut la mettre en avant
– soit garder en mémoire des choses à lire plus tard !
Et c’est ce dernier point qui est problématique à mon avis, car je pense que le favoritisme ne devrait pas servir à ça : il ne devrait servir à mettre des choses dans sa liste que quand on veut vraiment les garder. Alors que « lire plus tard » c’est autre chose.
Enfin bon, c’est plutôt un autre fil de discussion à faire pour ce besoin je crois, car ça n’a pas trop de rapport avec la sauvegarde. Mais je plussoie quand même carrément pour qu’apparaisse cette fonctionnalité.
+1 pour un machin spécifique pour les fameux articles à lire plus tard (ahahah).
Pareil que @baroug, @kent1 et @rastapopoulos
En parlant de fils et d’emails, dans mon client mail, je ne vois pas les mails de seenthis par thread, ce qui serait bien pratique. Si je comprend bien, il suffirait d’ajouter In-Reply-To (comme décrit par @fil) dans les mails envoyés par seenthis à chaque nouveau commentaire, ce qui permettra au client mail de recréer le thread.
À propos des Message-ID, @fil, tu proposes un UUID. Pour info, GitHub utilise qqch qui ressemble beaucoup plus à une URL, par exemple :
Message-ID: <openlayers/openlayers/pull/1055/issue_event/57699872@github.com>
In-Reply-To: <openlayers/openlayers/pull/1055@github.com>
Pour le coup, ça ne va pas trop dans le sens de la décentralisation, mais c’est plus explicite.
Et sinon, je plussoie pour le choix de l’email comme format pivot.
Et plus généralement, je me dis que l’email (grâce à #IMAP) est certainement le format le plus adapté et utilisé pour la conservation des données personnelles (messages, photos, documents) sur le long terme : ça reste des années, on ne perd rien, on peut déplacer d’un serveur à l’autre, les clients mails indexent tout très bien.
@kent1 :
Avoir un statut « A lire plus tard car semble vachement cool mais là j’ai pas le temps » aussi que l’on mettrait depuis le mail ou l’interface... mais bon je suis peut être le seul à ne pas trouver de temps...
+1 et #seenthis_demande
Oui on a un peu fait un putsch, vive l’import/export et #merci
L’idée d’un seenthis décentralisé voire avec plusieurs implémentations possibles m’intéresse énormément. Il faudrait que chaque serveur parle avec chaque serveur pour récupérer les derniers messages. ça le parait possible mais assez complexe, en particulier la découverte de serveurs seenthis. Mais au niveau de la décentralisation ce serait juste super. Est-ce que chacun peut avoir son propre serveur seenthis pour l’instant ?
Ce qui risque d’être lourd c’est le dialogue entre les serveurs. D’une part tous devront dialoguer constamment pour synchroniser leurs messages, d’autre part ils ne devront récupérer que les derniers posts/les posts modifiés/supprimés.
Il faudrait également mettre l’adresse du serveur dans le message id.
Il faut gérer pas mal de choses en même temps en effet, notamment :
– comment définit-on les UUID et les id d’auteurs
– comment envoyer les nouveautés d’un serveur à un autre
– comment envoyer le « stock »
Cela dit, plus la réflexion avance, plus j’ai l’impression que le jeu de fonctionnalités dont on a besoin est couvert par #NNTP ; il ne manque, me semble-t-il, que la possibilité de modifier un contenu (je crois que NNTP ne propose que la possibilité d’annuler [cancel] un message).
Sinon, avec cet export, une base seenthis n’est qu’un tas de fichiers au format email (donc, à la base, au format texte). Ca peut se synchroniser avec #BTSync, #rsync, d’autres trucs basés sur HTTP, etc : là c’est juste une question de choix. Il me paraîtrait quand même contre-productif d’inventer un énième truc over PHP si on peut employer des logiciels déjà existants et qui ont fait leurs preuves.
Pour les ids c’est juste une question de choix. Personnellement j’aime bien la notation de Github : people/emersion@seenthis.net ou message/uuid@seenthis.net
Effectivement NNTP me semble très adapté ! ▻http://fr.m.wikibooks.org/wiki/Fichier:Sch%C3%A9ma_usenet.jpg
C’est juste parfait, il ne reste plus qu’à trouver des bibliothèques qui sont capables de la faire. J’avais vu Ratchet en PHP qui pouvait effectuer ce genre de choses. Je peux creuser plus l’idée au besoin.
Sinon il y a git qui pourrait faire des choses pas mal. Mais rsync aussi effectivement.
Seenthis n’est pas open-source ?
oui oui, seenthis est bien libre
►http://seenthis.net/messages/153905
c’est le boxon car on est très mal organisés, mais il est possible d’en installer soi-même une instance indépendante : on est déjà deux à l’avoir fait :)
je me demandais s’il était possible de faire un export de tous mes posts sur seenthis, et je suis tombé sur ce @fil ...
... sans vraiment avoir de réponse. est-ce toujours un projet en cours, ou ai-je loupé quelque chose ?
En attendant la réponse de @fil, @erratic, sache que je me sers personnellement de ce script qui fonctionne très bien : ►http://seenthis.net/messages/30043
je vais regarder ça, en attendant. merci !
ça a l’air utile, j’espére réussir à l’utiliser, la programmation et tout autour est loin d’être mon day-to-day.
AutoMySQLBackup
▻http://sourceforge.net/projects/automysqlbackup
AutoMySQLBackup with a basic configuration will create Daily, Weekly and Monthly #backups of one or more of your #MySQL databases from one or more of your MySQL servers.
Other Features include:
– Email notification of backups
– Backup Compression and Encryption
– Configurable backup rotation
– Incremental database backups
quelqu’un connaît ? ça semble aussi simple que apt-get install automysqlbackup
et ça remplacerait mes scripts persos
Connois pas, mais veux bien un feedback si tu t’y colles :D
#automysqlbackup
Utilisé sur tous mes serveurs sans histoire. Par défaut, il fait 7 sauvegardes quotidiennes, 5 hebdo et 12 mensuelles. Les restaurations se passent sans heurts (c’est ce qui sort d’un mysqldump classique).
Alors @fil tu as testé le bouzin ? Tu peux partager ton script perso ?
Ça pourrait être l’occasion de regrouper les différentes recettes de backup des seenthisien⋅ne⋅s.
non je suis resté sur mes scripts, et puis finalement je les ai désactivés (parce que mon hébergeur a mis en place un truc à lui) ; mais ça marchait très bien, tu peux jeter un œil :
▻https://gist.github.com/Fil/735b9fd355e9f272acfc
Ok, merci pour le script, voici ce que j’utilise de mon côté. Deux ty scripts sh lancés en cron chaque nuit. Le premier s’occupe de générer le backup des bases de données et du répertoire /var/www :
▻https://gist.github.com/brunob/68f48ddcf4205aec0b97
Le deuxième script s’occupe de transférer les fichiers de backup sur un serveur distant en utilisant lftp, puis il supprime les fichiers locaux :
▻https://gist.github.com/brunob/41c2959b0503ad98dd80
Tout ça est améliorable, mais ça fonctionne.
Hier je suis tombé sur #backupninja qui semble être une solution intéressante. On peut le décrire comme une interface centralisée de configuration et de planification de plusieurs outils de sauvegarde.
▻https://labs.riseup.net/code/projects/backupninja
Un article de présentation par ici : ▻http://blog.admin-linux.org/administration/backupninja-sauvegarde-libre-local-distante
Pour info, je viens dé créer une variante des scripts précédents qui utilise rsync pour les fichiers et lftp pour les dumps des bases :
▻https://gist.github.com/brunob/2861a663967ba5796d89
Explications par ici : ▻http://labo.eliaz.fr/article136.html