Mensuel Shaarli
July, 2017
Un autre lien : http://blog.philippegarry.com/2014/10/15/pi-kiosk-mode/
Des alternatives à trello avec des exemples de GUI de boards Kanban.
Pour toi Chlouchloutte
Quelques trucs & astuces pour Kotlin
Utilisateur
** Changer le mot de passe par défaut
- Remplacer/Renommer l'utilisateur pi par un autre
Serveur SSH
- Changer le port par défaut (22) en autre chose
- Interdire les connexions SSH à root
- Mettre une clef RSA d'au moins 4096 (à partir de janvier 2017)
- Si possible white-lister les IP autorisées
- Mettre en place un fail2ban
- Désactiver toutes les formes d'authentification non supportées
Pare-feu
- Refermer tous les ports (REJECT)
OS
- Interdire l'écriture dans /tmp aux utilisateurs (à l'exception de deux exécutant des services)
- Tenir sa Raspbian à jour (apt upgrade)
-
Exécuter un contrôle d'intégrité périodique (calcul de hash régulier pour s'assurer que les fichiers n'ont pas été modifiés)
## Le script qui fait le taf (chopé sur internet) : #!/bin/bash /bin/mount /dev/fd0 /mnt/floppy trap "/bin/umount /dev/fd0" 0 1 2 3 9 13 15 if [ ! -f /usr/bin/md5sum ] ; then echo "Cannot find md5sum. Aborting." exit 1 fi /bin/cp /usr/bin/md5sum /mnt/floppy echo "Calculating md5 database" >/mnt/floppy/md5checksums.txt for dir in /bin/ /sbin/ /usr/bin/ /usr/sbin/ /lib/ /usr/lib/ do find $dir -type f | xargs /usr/bin/md5sum >>/mnt/floppy/md5checksums-lib.txt done echo "post installation md5 database calculated" if [ ! -f /usr/bin/sha1sum ] ; then echo "Cannot find sha1sum" echo "WARNING: Only md5 database will be stored" else /bin/cp /usr/bin/sha1sum /mnt/floppy echo "Calculating SHA-1 database" >/mnt/floppy/sha1checksums.txt for dir in /bin/ /sbin/ /usr/bin/ /usr/sbin/ /lib/ /usr/lib/ do find $dir -type f | xargs /usr/bin/sha1sum >>/mnt/floppy/sha1checksums-lib.txt done echo "post installation sha1 database calculated" fi exit 0 - Rendre les fichiers critiques immutables avec chattr +i
- Désactiver / Supprimer les services inutiles
Types de requêtes SQL avec la requête en dessous de son schéma pour mieux la comprendre.
Rapide, simple, efficace, pertinent.
Voici les adresses IP de la HADOPI et de KeyPeer et ce qu'il faut ajouter à un script au démarrage pour être tranquille :
iptables -A OUTPUT -d 85.159.236.252 -j REJECT
iptables -A OUTPUT -d 85.159.236.253 -j REJECT
iptables -A OUTPUT -d 85.159.236.254 -j REJECT
iptables -A OUTPUT -d 85.159.232.81 -j REJECT
iptables -A OUTPUT -d 85.159.232.82 -j REJECT
iptables -A OUTPUT -d 85.159.232.83 -j REJECT
iptables -A OUTPUT -d 193.107.240.1 -j REJECT
iptables -A OUTPUT -d 193.107.240.2 -j REJECT
iptables -A OUTPUT -d 193.107.240.3 -j REJECT
iptables -A OUTPUT -d 193.107.240.4 -j REJECT
iptables -A OUTPUT -d 82.138.81.211 -j REJECTL'égalité produit, en effet, deux tendances : l'une mène directement les hommes à l'indépendance et peut les pousser tout à coup jusqu'à l'anarchie ; l'autre les conduit par un chemin plus long, plus secret, mais plus sûr, vers la servitude.
Alexis de Tocqueville
Je forward au cas où cela intéresserait certains.
Comment fonctionne la confiance ?
À vrai dire, j'en ai fait baver à mon associée vendredi soir et si j'avais eu un peu plus confiance, je pense que la situation sérieuse qui est sur le point de se démêler tout seule n'aurait eue aucun impact négatif si j'avais su garder confiance. Ce petit site se pose à moi comme une piqûre de rappel efficace et didactique.
Je pense que cela va intéresser pas mal de monde.
Un exemple de Pitch Deck / Speaker Deck / Pitch Elevator (un peu plus) très complet de la part de Captain Train
C'est autant flippant / navrant que ça fait rigoler.
Pour Animal et Chlouchloutte
Concept
Vous avez un nom de domaine (genre localhost) et vous souhaitez rediriger le sous-domaine http://scm.localhost vers le serveur local qui tourne sur le port 8001 et http://ci.localhost vers le port 8002.
Voici comment faire avec Nginx :
- Le fichier est à créer dans /etc/nginx/site-available
- Puis il faut créer un lien symbolique dans /etc/nginx/site-enable pointant vers votre fichier de conf.
## Redirige le sous-domain SCM vers le port 8001
server{
server_name scm.localhost;
location / {
proxy_pass http ://127.0.0.1:8001; # ATTENTION : j'ai ajouté un espace entre http et :// car mon parseur Markdown déconne
}
}
## Redirige le sous-domain CI vers le port 8002
server{
server_name ci.localhost;
location / {
proxy_pass http ://127.0.0.1:8002; # ATTENTION : j'ai ajouté un espace entre http et :// car mon parseur Markdown déconne
}
}Un bon article expliquant ce qu'est le big data et les différents types de base de données à utiliser en fonction des problématiques.
# N.B : le $6$ dans le sel signifie utiliser l'algorithme SHA-512. $5$ c'est SHA-256 par exemple
# Et le sel doit finir par Salt$
python -c 'import crypt; print crypt.crypt("MON_MOT_DE_PASS", "$6$MON_SELSalt$")'Je pense que cette vidéo pourra aider certains à se protéger des pervers narcissiques.
Pour toi Animal
Oh mon Dieu... Je ne sais pas comment le prendre. Par contre, Chlouchloutte, tu vas être morte de rire !
Utiliser son mobile Android comme webcam HD en USB
Il faut faire tourner ce lien.
Voilà voilà... Ajoutez à cela la libre circulation des capitaux et des marchandises, ainsi que ma petite société paie des impôts en France parce qu'elle n'a pas les moyens de défiscaliser, il devient clair que :
- que vous soyez une personne morale ou physique
- dès que vous êtes quelques part dans la classe moyenne en rapport à votre type de personne
=> C'est vous qui paierez tout !
Voilà. Sinon Google, j'ai déjà commencé à dire bye bye à tes produits, content que tu ne te rémunères plus avec moi.
Ahhhh la privatisation des transports en commun, je dois dire qu'il était temps !
De pauvres milliardaires ne pouvaient pas gagner encore plus d'argent au détriment des pauvres qui avaient fuit les loyers surélevés des métropoles et qui prenaient les transports en commun chaque jour pour aller travailler. Et maintenant ces pauvres milliardaires qui ne souhaitaient faire que du profit finalement, vont enfin pouvoir se nourrir normalement sur ce secteur dont l'importance relève de la stratégie et de l'indépendance nationale.
Ouf, j'ai bien cru que l'oligarchie de Bruxelles ne parviendrait plus à vampiriser la France avec l'arrivée de Macron au pouvoir. Je suis rassurée :D Merci au Président que tous les médias nous vantent comme étant l'homme le plus intelligent de France, Manu t'es trop fort :D
P.S : à tous les cons, c'est ironique, ça va augmenter les prix, détériorer la qualité du service (qui n'est déjà pas mirobolante) et rendre la France dépendante d'un prestataire extérieur sur son réseau de transport ferroviaire qui est juste quelque chose de vital pour l'économie du pays.
Je cite :
Mes passages préférés :
Ce qui rend possible la coopération, c’est que les acteurs peuvent être amenés à se rencontrer de nouveau les 4 caractéristiques propres à DONNANT DONNANT :
la bienveillance :
ne fait jamais cavalier seul en premier
instaurer une relation de confiance avec les autres stratégies bienveillantes
profiter de la récompense de la coopération
dénote un certain optimisme quant à la nature humaine avec l’accueil qui ne se fait pas sur la défensive.la susceptibilité / assertivité (capacité à s’exprimer et à défendre ses droits sans empiéter sur ceux des autres) :
à la première défection du joueur adverse, le rappeler immédiatement à l’ordre
ne pas trop se faire exploiter
bonne résistance face aux stratégies provocatricesl’indulgence :
punir l’adversaire d’une peine du même ordre
l’adversaire comprenant que DONNANT DONNANT ne se laissera pas abuser, la coopération peut alors être restaurée
ce refus d’agressivité intempestive est un plusla transparence :
la stratégie est simple et clairement identifiable
L’adversaire comprend aisément qu’il ne pourra pas l’exploiter mais, qu’il pourra coopérer en toute confiance
éviter des détours provocateurs peu avantageux en termes de gains
La réputation a donc une véritable utilité dans la confrontation de stratégiesDONNANT DONNANT dispose donc de caractéristiques qui lui permettent d’imposer la coopération comme meilleure solution : elle est accueillante, digne de confiance et difficilement exploitable. Ces différentes caractéristiques ne lui sont pas exclusives mais, au cours du tournoi, c’est elle qui en proposait la meilleure combinaison.
assertivité : "capacité à s’exprimer et à défendre ses droits sans empiéter sur ceux des autres" source Wikipédia http://ow.ly/njiBP
Récupérer le PID en bash.
## Récupérer le PID du processus courant :
$$
## Récupérer le PID de la commande qui vient d'être lancée :
$!La page contenant la documentation officielle de Gitea. Attention, celle-ci est un répo Git dans lequel des fichiers de conf sont fournis à titre d'exemple. Surprenant mais efficace.
Tout est dans le titre. Ce genre d'articles est bon apprendre.
Comment utiliser simplement le GPU à la place de CPU dans un navigateur pour exécuter plus rapidement vos calculs parallèles (facteur 5 à 15 quand même).
Je ressors ce post qui date d'il y a 3 ans (septembre 2014) et il faut l'avouer, la communauté Scala semble être vraiment d'une mauvaise foi redoutable !
Qu'est-ce qui me permet de dire cela ? Regardez cet extrait (et il n'est pas le seul) :
// Java:
List<Integer> ints = new ArrayList<Integer>();
for (String s : list) {
ints.add(Integer.parseInt(s));
}
// Scala:
val ints = list.map(s => s.toInt)
Pour rappel, Java 8 est sorti en MARS 2014, soit près de 6 mois AVANT cet article. Le mec compare encore Java 6 qui passait en support étendu à Scala et non Java 8 qui était ce que le langage savait faire de mieux.
Deux remarques :
1) Le code Java présenté est falacieux puisque le mec instancie sa liste en Java mais pas en Scala histoire de gratter quelques lignes.
2) Que pense-t-il de ce code Java 8:
// En considérant que la variable ints existe, sinon il faut ajouter List<Integer> devant :
ints = list.map((s) -> parseInt(s));
Bref, de la pure mauvaise foi. Cela fait quelques semaines que je me suis mise à Scala et non seulement les arguments de la communauté Scala par rapport à Java 8 ne tiennent pas debout, mais l'ensemble des outils, des libs, des éditeurs, bref l'ensemble de l'éco-système Scala est misérable à côté de Java. Les temps de build sont atrocement longs (et je pèse mes mots, passer de Java 8 à Scala multiplie littéralement vos temps de build par 300 ; de quelques secondes à quelques quarts d'heure). Pis encore, vos libs ne seront plus compatibles d'une version du compilateur à une autre (seriously, un langage ose encore péter la compatibilité du bytecode en 2017 , dafuq les mecs !???)
Enfin, au vu des features de Java 8, il n'y a aucune raison valable de passer de Java 8 à Scala SAUF, si vous êtes un aficionados de la programmation fonctionnelle pure (qui reste une immense connerie d'académiciens AMHA).
En parallèle je suis en train de me mettre à Kotlin, et par rapport à Scala, c'est le jour et la nuit.
La syntaxe est meilleure que Java ET Scala (toujours de mon point de vue, peu de symboles obscur mais des mots-clefs simples et clairs, le paradigme Objet domine mais laisse place de manière pragmatique au paradigme Fonctionnel, les temps de builds sont semblables à ceux de Java 8, la compatibilité avec les versions plus anciennes de Kotlin est garantie et les binaires générés depuis un code Kotlin peuvent être utilisez de Java 6 à Java 8 et vice et versa ; sans parler de l'écosystème, de la doc et des IDE, des outils de build qui sont les mêmes qu'en Java 8.
Bref, je maintiens, Scala est un langage d'académiciens fait par des académiciens pour des académiciens, il est particulièrement difficile de couvrir des besoins industriels sérieusement avec quelque chose d'aussi peu mature.
En espérant en avoir aidé certains et agacé d'autres.