Monthly Shaarli

All links of one month in a single page.

October, 2019

5 signes de transformation du monde en octobre 2019
Why would you want to shred files on your computer? | Snap! A C++ Open Source CMS

After watching Mr. Robot S03E01 I looked for the command shred I didn't know. It turns out that it is a great tool.
I was wandering why using it (rm usually removes only the entry in the file table on the disk). I searched for a short article after I figured it out. Some must exists after all :)
Here it is. If someone ask me why is shred useful, I can redirect to this link.

Notes : this is not always the way to erase data (cf: Is it really working?). Turn to shredlog.

GitHub - mhinz/vim-startify: The fancy start screen for Vim.

This plugin is awesome ! It allows a start-up menu with shortcuts to last opened files (Most Recently Used. Moreover the plugin is customizable.
Example of the default menu from the github repository :
Menu example

Anti-pattern - Wikipedia

Definition of anti-pattern :

An anti-pattern is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive.

The opposite of Design Patterns

« Nous sommes au Moyen-Age du numérique »

Je garde l’expression d'« obscurantisme numérique ». Même si cela fait un peu vaudou, elle correspond bien à la situation actuelle. Peut être une meilleur expression à trouver, plus claire.

Remarque

le numérique n’est pas enseigné à l’école, il ne rentre pas dans notre culture et reste donc l’apanage des experts et des vendeurs de technologie. Or ces vendeurs-là ont tout intérêt à diffuser de « l’infomercial » plutôt que de l’information.

Sous le coude

Comment casser l’idée communément admise et faussement intuitive que la donnée doit être amenée et transmise à ceux qui en ont besoin ? Pourquoi les intelligences artificielles ne se déplaceraient-elles pas ? Pourquoi ne fonctionnerait-on pas avec des accès permissionnés ?

Blog Stéphane Bortzmeyer: RFC 8633: Network Time Protocol Best Current Practices

Sous le coude si besoin

Blog Stéphane Bortzmeyer: Il n'existe pas de TLD interne standard

Et la solution, c'est qu'il n'en existe pas mais qu'un sous-domaine internal.xxxx.xxx soit crée spécifiquement pour cela.

Découverte d'une vulnérabilité critique dans Jacques-a-dit | Infauxsec News
Modern Best Practices for Testing in Java
GitHub - rajasekarv/fast_spark: A new arguably faster implementation of Apache Spark from scratch in Rust
Naming conventions

Saved for future uses

GitHub - highlightjs/highlight.js: Javascript syntax highlighter

Sous le coude, ça peut toujours servir d'avoir à effectuer de la coloration syntaxique

Le chapelet connecté du Vatican victime d’une énorme faille de sécurité

🤣

Le déficit de la Sécurité sociale, un mensonge d'Etat | Les Économistes Atterrés

La sécurité sociale est excédentaire finalement.
(feed de sebsauvage de https://jcfrog.com/shaarli41/?EgsUbA)

La Sécurité sociale est en réalité en excédent de 11,7 milliards d’euros ; elle ne souffre pas d’une hausse de dépenses, mais d’une baisse de recettes.

Bah alors, on ment ?

Pour reprendre l'expression de SebSauvage : « dire que son chien à la rage pour s'en débarrasser »

Note: Différencier les traits et les structures lors du typage des génériques

Lorsque dyn est utilisé, il désigne spécifiquement un trait. Ainsi, traits et structures ne sont plus confondus.

// trait objects (new dyn syntax)
&Foo     => &dyn Foo
&mut Foo => &mut dyn Foo
Box<Foo> => Box<dyn Foo>

// structs (no change)
&Bar
&mut Bar
Box<Bar>
Firefox fait un sans faute lors d'un audit réalisé par l'agence allemande de sécurité informatique, qui le recommande comme étant le navigateur le plus sécurisé

Firefox est le seul navigateur à avoir obtenu un sans-faute lors d'un récent audit réalisé par [...] le Bundesamt für Sicherheit in der Informationstechnik - BSI [...]

You cannot cURL under pressure

Un challenge en bash : écrire des commandes cURL le plus rapidemment possible.

C'est super :)

Cap'n Proto : cerealization protocole

Sous le coude pour plus tard. Un outil de sérialisation des structures de données.

Je n’ai jamais été vierge. Ni vous, ni aucune femme. Jamais.

Ok donc l'hymen et la virginité, c'est un énorme mensonge et tout le monde y croit. C'est un mensonge.

Are we game yet? - Rust

Je pose ça sur le tas. Un engine pour jeux vidéos écrit en Rust

Linux zipsplit command help and examples

Séparer une archive zip en plusieurs archives avec la commande zipsplit

Les Expressions Régulières en PHP (REGEX) - Zen Devs

Un introduction aux regex en PHP.

Mémo :

Fonction  Description
preg_match() Recherche un motif dans la chaîne de caractères, retourne true si le motif existe, et false sinon.
preg_match_all() Effectue une recherche globale sur toutes les occurrences du motif dans la chaîne. Utile pour la recherche et le remplacement.
preg_replace()  Effectue une recherche et un remplacement d’expressions régulières.
preg_grep()  recherche tous les éléments du tableau d’entrée, retournant tous les éléments correspondant au motif regex dans une chaîne.
preg_split()  Divise une chaîne de caractères en chaînes de caractères en utilisant une expression régulière.
preg_quote()  Cite les caractères d’expression régulière trouvés dans une chaîne.
The lines of code that changed everything.

Un historique des différents codes/programmes qui ont permis à l'informatique d'évoluer jusqu aujourd'hui

Git - git glossary Documentation

Le glossaire de git avec les mot-clés / vocabulaire spécifique

Sweary Lightweight Agile Planning

Simple

Emmanuel Bernard sur Twitter : "I think I will officialize the list of things I’d love to tinker with but will never have/take time to do with 99% probability. Let’s call it the Battle Royale list."
Human Coders Podcast | Et si on codait des appli web ultra-dynamiques...sans une ligne de JS? | Ausha

Un bon podcast sur les MPA (Multi Page Application) et les SPA (Single Page Application) :)

Difference between git reset soft, mixed and hard

Summary

  • --soft change only the HEAD
  • --mixed (default) change the HEAD and the index
  • --hard change the HEAD, the index and the working directory
robolord on Twitter: "what did i do today? ...." / Twitter

what did i do today? well i was working to get wapm’s packs from wrapped wasm to wasi wat. wat’s a wasi wat? well a wasi wat’s wat u write when u write a wasm pack for wasmer’s wapm. working with wasm-pack? write without wasi and use wasm not wat. i hope that clears up ur confusi

juste LOL

Et donc Google... - Liens en vrac de sebsauvage

... a commencé à bloquer tout ce qui permet d'accéder à YouTube sans passer par l'application ou le site web YouTube.
On rapporte:

  • Plusieurs instances Invidio.us bloquées ou inopérantes
  • des utilisateurs qui ont vu leur compte Google bloqué suite à l'utilisation de NewsPipe (l'application Android libre pour regarder YouTube). (Cette info reste encore à confirmer à plus grande échelle)

Google est en train de resserrer les boulons afin de s'assurer qu'elle peut continuer à vous traquer sur le net, sinon ça va entamer ses bénéfices. (Si vous regardez les vidéos YouTube sans passer par YouTube, Google ne peut pas bien vous traquer).
PeerTube est plus important que jamais.

PS: Ce comportant est récurrent chez les GAFAM. Il y a quelques mois, Twitter avait commencé à bloquer des tonnes d'applications tierces.

― Sebsauvage

/dev/lawyer The MIT License, Line by Line

Cette licence est courte. Autant prendre le temps de la lire.

Elle est de plus efficacement expliquée dans ce billet de blog. On se rend compte que du logiciel sous licence MIT rentre en opposition à d'autres lois dans le cadre de vente (cf: three default rules for “implied warranties")

We’ve seen that despite some crusty verbiage and lawyerly affectation, one hundred and seventy one little words can get a hell of a lot of legal work done, clearing a path for open-source software through a dense underbrush of intellectual property and contract.

git-flow cheatsheet
What Happens to Your Body on No Sleep | Outside Online
[Hack] Récupérer les Cnames d’un nom de domaine | Dyrk
The State of Java in 2019 | Baeldung

(feed de Riduidel)

Note: la substitution de texte dans vim

J'ai toujours eu des soucis avec la commande "substitution/déletion" de plusieurs lignes avec vim. J'ai maintenant compris :)
De la newsletter de "Mastering Vim Quickly" :

For most Vim commands, the default range is the current line.
This means that action performed by a command will affect only the current line.
However, you can control ranges, and in that way execute commands over the custom ranges of lines or characters in the current buffer.
For example:

• :s/bad/good/g - changes all words bad to good in the current line.
• :6,11s/bad/good/g - makes the same change, but in lines 6 to 11, including 6 and 11.
• :%s/bad/good/g - makes the same change in entire file.
If line range is not specified, the substitute command will operate on the current line only, by default. As already mentioned, for most commands, the default range is . (the current line).
However, for :g (global) and :w (write) commands the default is % (all lines).

Let's see a few more examples of defining range with substitute command:
range
28 description
line 28 example
:28s/bad/good/g
1 first line :1s/bad/good/g
$ last line :$s/bad/good/g
.,$ current line to end of the file :.,$s/bad/good/g

That's all for today. Next week we'll get to advanced stuff with ranges and some useful commands.

Twitter admits two-factor login phone numbers were used for advertising / Boing Boing
How to Create a Simple PHP Templating Function - Daggerhart
« Code.etalab.gouv.fr », portail officiel des codes sources publics - Next INpact

L'adresse su site est https://code.etalab.gouv.fr

Halting Problem in Python - Computerphile - YouTube

une excellente réflexion

Note: Résoudre l'erreur 404 lors de l'installation de phpMyAdmin sur Ubuntu

Le chemin n'existait pas sur le serveur apache2.
Il suffit de rajouter la ligne : Include /etc/phpmyadmin/apache.conf dans le fichier de conf du serveur apache (dans ce cas : /etc/apache2/apache2.conf).

Developpers, javascript and website

Trop vrai x)

Civilisation numérique : vers la fin de la blague ?
Visionner une vidéo Youtube (sans pub) depuis VLC - mamot.fr
  1. Ouvrir VLC
  2. menu « Média » : « Ouvrir un flux réseau », coller l'url de la vidéo Youtube
  3. Lire
    Enjoy
Windows 10 : nouvelles mises à jour... et nouveaux problèmes chez certains - Next INpact

Les updates de Windows qui foutent la merde n°9534.
GNU/Linux toujours caché derrière, et qui pourtant n'a jamais ce genre de problème.

xkcd: Cell Phone Functions

Les nouvelles fonctionnalités des téléphones au fil du temps (ça va trop loin x)

J'aime la diversité - affiche à imprimer | Elise Gravel
Zythom: Si vous n’avez rien à cacher, vous n’avez rien à craindre

Un bon argument contre le "Si vous n’avez rien à cacher, vous n’avez rien à craindre "

online chart | create and design your own charts and diagrams online

Not beautiful, but basic.

Le Temps Reel sous Linux – Linux Embedded
Let’s build a JavaScript Engine in Rust by Jason Williams | JSConf EU 2019 – Watch Video @ Dev.Tube

Un résumé sur la programmation d'un exécuteur Rust de code JS.

Et le gars, il écrit du code JS analysé et parsé en Rust. Pour ensuite produire du code WebAssembly et ếtre exécuté en tant que code JS importé grâce à WebAssembly. <3

Barr Pushes Facebook for Access to WhatsApp Messages - The New York Times

Raison n°2546 pour ne pas utiliser un service des GAFAM (ou centralisé) : le département de la justice américain veut un accès à tous les messages chiffrés échangés par Whatsapp.

Il pourrait tout aussi bien exiger des accès à d'autres messageries.

Meme Generator - Imgflip

Un service web créant des mêmes facilement depuis des mêmes déjà connus.
Il y a aussi possibilité de téléverser ses propres images.

Trois autres services sont proposés :

  • créateur de gif
  • créateur de graphiques (simple mais efficace)
  • les "demotivationals", un autre style de mêmes en fait
amos - Declarative memory management

Une drôle d'histoire !

Le support de Windows 7 prend fin le 14 Janvier 2020

Comme Windows XP, il s'agit d'un OS a durée de vie limité. c'est de la merde pour l'écologie et l'économie, mais bon, c'est Microsoft. Il ne faut pas en attendre grand' chose

En réalité, vous n'aimez ni le café ni la bière | Slate.fr

(feed de sebsauvage de sammyfisherjr)

Note: rkhunter - A bash tool for cehcking malware

rkhunter ist a tool used for malware detection.
sudo apt-get install rkhunter is sufficient to install it.
I don't know if the program is outdated.

Galerie de Simon Lefort

Saved for futures shares

Sshuttle – Le VPN du pauvre – Korben

A VPN for ssh only (dns included and need python)

Hellvetica - It's like helvetica but with terrifyingly bad kerning | Product Hunt

The policy of Hell ^^

Programming Servo: the incredibly shrinking timer. - Programming Servo - Medium

How to improve timers from one thread for each timer to two threads for all timers down to any thread at all ? Examples from the Servo software <3

D - Useful Development Tools - The Rust Programming Language

The tools are :

  • rustfmt for code formatting
  • rustfix which solve some code errors
  • clippy will raise and fix some code approximations
    and the tool RLS (Rust Language Server) which improve Rust integration in IDEs
What you probably didn’t know about sudo | Opensource.com

I don't use it currently; put it on the heap for some time or other.

Bidouille | Transformez votre Raspberry Pi 4 en NAS

I didn't know that NAS means "Network Attached Storage".
Samba/CIFS works fine indeed. Under one's arm, it could be useful.

I use a open HTTP server with specified URL at lyokolux.space (with url sizes of 128 characters, try to brute force it ;). Useful when I want to share datas or specific ressources. I use however SSH when it's just for myself.
This system works fine until now.

Blog Stéphane Bortzmeyer: Fiche (Cyber) harcèlement
Dérive autoritaire : les premiers signes qui doivent alerter

Une jolie infographie

GitGraph.js

Créer des représentations graphiques de dépôt git.

Rust Playground

A simple online Rust editor for small tests of code.
It's possible to choose between different emulators (emax, vim, sublime) <3

Note : En fait, programmer, c’est… - Le Hollandais Volant

Avec la référence pour comprendre ce qui exprimé par « rube-goldberg »

En détail ou en détails ? - orthographe | La langue française

Généralement, « en détail » est utilisé. En revanche, si on veut préciser qu'il y a plusieurs détails à prendre en compte, le pluriel est toléré.

Hostux

Different services : DNS, instance Mastodon, Cryptpad, Jabber, TrashMail, PrivateBin, Nextcloud, Pics, Gitea

Web 2.0 Domain Name Generator

Un générateur de nom d'entreprise/logiciel

@Pwnagotchi – Pwnage wifi à base de deep learning sur Raspberry Pi – Korben

L'interface ressemble à un tamagotchi qu'il faut nourrir de données

GitHub - rust-lang-nursery/mdBook: Create book from markdown files. Like Gitbook but implemented in Rust

A crate that generate books with the same design as The Rust Programming Language.
Saved for future uses

6 Methods To Rename Multiple Files At Once In Linux

Renommer plusieurs fichier d'une seule commande bash.
Les commandes citées sont :

  • mmv : multi move
  • rename : même syntaxe que la commande substitution de vim
  • renameutils : qui contient une série de petits programmes
    • qmv : quick move
    • qcp : quick copy
    • imv : interactive move
    • icp : interactive copy
    • deurlname -> renomme les URLs encodéses avec le bon caractères

logicielle :

  • vimv
  • emacs
  • thunar
Learning JavaScript Design Patterns

I put it on the heap for some time or other

Compétences clefs pour développeur(euse)s - Je suis un dev

Personne ne te respecte parce que ton code est compliqué. En fait tout le monde te déteste quand ton code est compliqué. Faire du code simple est une compétence clef à tous développeurs.

Maîtriser les design patterns est une compétence clef à tous développeurs. Si tu les connais pas, sache qu’il est fort possible que tu les utilises déjà sans le savoir.

Avec en premier les patterns adaptateur, fabrique et décorateur

Les meilleurs développeurs sont les développeurs les plus fainéants. Un développeur fainéant va utiliser des librairies toutes faites et robustes au lieu de réinventer la roue et refaire des choses déjà faites. Quand une tâche devient quotidienne, le développeur fainéant refuse de la refaire manuellement tous les jours. Il va l’automatiser dans un script pour gagner du temps. Il va filer le script à tous ces collègues pour faire gagner du temps à tout le monde. Un développeur fainéant va faire enlever les features inutiles pour bosser seulement sur celles qui apportent de la valeur. Et par la même occasion, simplifier l’application et faire gagner du temps à tout le monde.

Que des vérités générales dans cet article <3

Python 3.8 : opérateur d’assignation, REPL async, Pickle v5 et plus - LinuxFr.org
Ray Ortega ✊ on Twitter: "RSS = direct connection to a creator. Anything less = someone else controls access to your audience. Podcasts are awesome cause they are inherently 'open.' If your podcast is not accessible via RSS, you don't actually have a podcast. Or ownership." / Twitter

RSS = direct connection to a creator.

Anything less = someone else controls access to your audience.

Podcasts are awesome cause they are inherently 'open.'

If your podcast is not accessible via RSS, you don't actually have a podcast. Or ownership.

ProgressBar.js - Progress bars with JavaScript

Je pose ça là. Çà peut être utile

Le Temps Reel sous Linux – Linux Embedded

Pas lu, je pose ça là au besoin

Stigmergie — Wikipédia

En biologie, la stigmergie est un mécanisme de coordination indirecte entre les agents. Le principe est que la trace laissée dans l'environnement par l'action initiale stimule une action suivante, par le même agent ou un agent différent. De cette façon, les actions successives ont tendance à se renforcer et ainsi conduisant à l'émergence spontanée d'activité cohérente, apparemment systématique.

Alertez-nous sur un programme - CSA - Conseil supérieur de l’audiovisuel

Le formulaire a remplir pour alerter le CSA sur un programme ou une publicité

Vers une société contributive de pair à pair – 1 – Framablog
How (and why!) to keep your Git commit history clean | GitLab

Le beau git rebase -i qui fait le café, lorsque le café n'a pas été fait <3

Une députée suggère de publier l’adresse IP des auteurs d’avis en ligne - Next INpact

Cela démontre un manque de connaissance dans le domaine informatique. Il y a un besoin criant de vulgarisation, formation, apprentissage.

Pour l'exemple ici, une adresse IP liées aux avis en ligne n'a aucun sens. Et ce pour plusieurs raisons :

  • Qu'en est-il de la vie privée, si à chaque avis donné, l'utilisateur devrait s'identifier. En parcourant les différents sites d'avis, l'utilisateur pourrait en conséquence être profilé selon les avis qu'il a laissé. Même plus besoin de payer un silo de donnée (connu en tant que GAFAM, Cambridge Analytica, Uber, Netflix, .....) pour récupérer ces informations.
  • Techniquement, cela est inutile. L'adresse IP n'est pas nominative, on ne sait pas qui est derrière :
    • l'adresse IP (IPv4) n'est pas fixe. Les FAI les changent pour différentes raisons techniques et pratique. L'utilisateur n'est plus identifiable à 100% au bout de quelques heures
    • l'adresse IP (IPv4) peut être partagé entre plusieurs réseau Wifi personnels. Cette technique est utilisée pour répondre au besoin d'IPv4. (à vérifier)
    • l'utilisateur utilisant un VPN n'est pas identifiable
    • l'utilisateur qui utilise un réseau WIFI public n'est pas identifiable, puisque le réseau est public
Git - Interactive Staging - git-scm

Ça explique bien deux options de git add :

  • le mode interactif afin de sélectionner les fichiers à place dans la Staging Area avec l'option -i.
  • le mode partiel de git add qui permet d'inclure seulement certaine(s) portion(s) d'un fichier dans la Staging Area ( avec l'option -p) <3
This page weighs 15kb - macwright.org
Mastodon 3.0.0 disponible : Woaw ! - Blog de dada
The end of uBlock Origin for Google Chrome? - gHacks Tech News

La denrière version d'uBlock-origin bloqué par Google dans Chrome.
D'après Google, l'extension ne respecte pas les règles, sans dire lesquelles.
(feed de sebsauvage)

N'utilisez plus ce navigateur svp

Les promesses en Javascript | Blog Eleven Labs
Program the real world using Rust on Raspberry Pi | Opensource.com
Git : Supprimer ou remplacer le dernier commit

Un mémo

python - Impossible to send websockets message inside of a class - Stack Overflow
Why to choose Rust as your next programming language | Opensource.com

Microsoft's decision to investigate Rust (and other languages) began due to the fact that roughly 70% of Common Vulnerabilities and Exposures (CVEs) in Microsoft products were related to memory safety issues in C and C++.

Données privées, libertés publiques - France Culture

Reconnaissance faciale en France

L'actualité anxiogène émousse les résistances face au rétrécissement des libertés publiques. "A quoi bon ?" semble dire l'époque.

Donc vous les médias, créez cette actualité anxiogène... Donc vous êtes responsables de "l'émoussement des résistances" (à prouver) face au rétrécissement des libertés publiques.

Molly Struve 🦄 sur Twitter : "To be a dev you... do NOT need to be a keyboard nerd do NOT need to be macho/bro'y/tomboy do NOT need to have a side project do NOT have to play with servers in your free time  do NOT have to be obsessed with gaming"

Oui

La reconnaissance faciale débarque en France et vous n’y échapperez pas - Médias / Net - Télérama.fr
Adobe compliance with U.S. Executive Order | Venezuela - Liens en vrac de sebsauvage

Encore un argument contre les GAFAM, et le logiciel propriétaire/privateur en général

Pourquoi Javascript est-il si populaire ? - Je suis un dev

L’ouragan niveau 5 Javascript s’abat depuis des années sur la planète entière. Même les derniers Javascript-septiques ont fini par se soumettre au langage ou sont en train de le faire.

lol

En-rou libre

sur l'accident de l'usine de Lubrizol à Rouen

Internet : « le nombre d'IPv4 en attente d'attribution est supérieur au nombre d'IPv4 restantes » - Next INpact

La fin du stock d'IPv4 officiellement daté du 2 octobre. Toutes les adresses seront attribuées.

Facebook urged by governments to halt end-to-end encryption plans – Naked Security

Donc le gouvernement américain, britannique et Australien va empêcher Facebook d'utiliser du chiffrement de bout en bout... pour pouvoir aspirer toutes les données. OKLM

Traits and You: A Deep Dive — Nell Shamrell-Harrington - Invidious
Ce qui vous parait évident – Carnet de notes
La dette technique : une supercherie mythologique pour galériens de l’IT

Beaucoup de vrai dans ce billet

Emojis de tous les drapeaux des pays – Drapeaux du monde

Codes unicodes pour les drapeaux des pays

Comment fabriquer une éponge tawashi ? [DIY] - Invidious
ISO Republic - Free High Resolution Photos & Videos

Des images et vidéos sous licence CC0 (donc libre) :)

Lubrizol : « Les Informés » s’étonnent… du doute qui gagne la population - Acrimed | Action Critique Médias

Encore un exemple donné dans cet article d'Acrimed

[ipv6-wg] Disband IPv6 WG ipv6-wg — RIPE Network Coordination Centre

Il est magnifique ce troll

Simple Rust, Part Three - Design is Refactoring

Excellente explication sur les lifetimes en rust

Free SVG images, cut files and transparent PNG with CC0 public domain license

Des SVG en licence CC0, donc libre et réutilisable par tous :)

« Avec l'effondrement, une guerre des récits a commencé »

edit: ça me fais penser au livre Les Furtifs d'Alain Damasio

Blog Stéphane Bortzmeyer: Developing DNS-over-HTTPS clients and servers
tldr | simplified, community driven man pages

Le service web de la commande tldr.  Lien du repository

Bénévalibre : libérez vos bénévoles de la #StartupNation – Framablog
La « nouvelle arme » anti-cryptographie de la gendarmerie

Le chiffrement, c'est un combat sans fin ><

A closer look at Ownership in Rust | Articles by thoughtram

A great explanation of what's happening in the RAM with the system of Ownership and Borrowing.

Rust IDE + REPL In Vim - Startups & Venture Capital

Comment installer le RLS <3

RUSTI est un interpréteur Rust. Je le mets dans un coin de ma tête pour plus tard.

U.S. taxes wages at a higher rate than capital, study finds - The Washington Post

Logic ? Where are you ?

GitHub - awesome-selfhosted/awesome-selfhosted: This is a list of Free Software network services and web applications which can be hosted locally. Selfhosting is the process of locally hosting and managing applications instead of renting from SaaS providers.

A list of free software dedicated to self-hosting

Gérer plus confortablement les certificats SSL/TLS Let’s Encrypt – Microlinux
AST explorer
La religion chez les développeur(euse)s informatiques - Je suis un dev

Cet article m'a fait tellement de bien. Moi qui défendait Python, mon premier langage de programmation et maintenant Rust.

How do I rename a local Git branch? - Stack Overflow
  1. Rename your local branch
    git branch -m old-name new-name or simply git branch -m new-name for the current branch.
  2. Delete the old-name remote branch and push the new-name local branch
    git push origin old-name new-name
  3. Reset the upstream branch for the new-name local branch
    git push origin -u new-name
Framapétitions est mort, vive Pytition ! – Framablog
Dramatically reduced power usage in Firefox 70 on macOS with Core Animation – Mozilla Gfx Team Blog
Emmanuel Macron meme - Tester c'est douter
Gmail Hooked Us on Free Storage. Now Google Is Making Us Pay

Finalement le stockage illimité en échange de la vie privée n'est la panacée. Donc maintenant, en plus de la vie privée, le stockage sera payé en monnaie.

Adams, the Gmail user, is one of the people contributing to this growing Google business. $1.99 a month is a relatively small price to pay to avoid losing his main point of digital contact with the world. “It’s worked this long,” Adams said. “I didn’t want to bother changing the address.”

Tout est dit.

No Maintenance Intended

Lorsque aucune maintenance n'est prévue, un badge a apposer sur la documentation du projet : No Maintenance Intended

How to program with Bash | Opensource.com
Ma balance me ment ? • Articles • Zeste de Savoir
Rust, langage de programmation pour luddites

Je pose ça sur le tas. Le billet semble un peu vieux; je n'ai trouvé aucune date.

Rust VS Golang est finalement pas pertinent, comme expliqué à la fin du billet :

Faut-il utiliser Rust, donc le choisir plutôt que Go ou C++? On mettra go de coté car il est plutôt en compétition avec les langages de serveurs comme Java, Python, PHP, un garbage collector peut être un inconvénienr, et son système de modules en ligne l'est encore plus, ainsi que l'absence de généricité.

Le schéma des étapes de génération d'un programme exécutable est agréable à voir.

How to build a Flatpak | Opensource.com
Les services | DryCat

Des services libres en ligne
(feed de Sebsauvage)

JSONPlaceholder - Fake online REST API for developers

Une API Restful librement utilisable, par exemple pour tester son application avec de fausses données.

You Can't JavaScript Under Pressure - by UsVsTh3m

Le jeu original qui a inspiré You cannot cURL under pressure en javascript.

Et oui, you can't Javascript under pressure ;)

{ Bypass Limitation } Lire les journaux en ligne sans abonnement | Dyrk
Digital pollution | Derek Sivers

Pareil.
[...]
Son exemple du SVG est typique : qui au nom de l’univers a besoin d’une précision au milliardième de pixel pour son logo ? Personne !
[...]
Et même chose pour les framework tout fait : les 3/4 du truc ne sert à rien et ne sera jamais utilisé dans le projet… mais sera chargé tout de même.

(feed du lehollandaisvolant)

Coder tout à la main est une bonne chose. Le code est clair, propre et efficient.
Ça ne s’appellerait pas de l'artisanat (numérique) ?

Self Encrypting Disk – Carnet de notes

Sous le coude.

Benchmarking is hard: processors learn to predict branches – Daniel Lemire's blog

TL;DR

You should probably avoid benchmarking branchy code over small problems.

Tmux Cheat Sheet & Quick Reference
Caroline De Haas on Twitter: "[ANALYSE] Marlène Schiappa a annoncé un budget de 1,1 milliard d'euros dédié à l'égalité femmes - hommes et à la lutte contre les violences. Je suis allée regarder en détail. La suite va vous étonner (ou pas). ⤵️" / Twitter

La différence entre le discours et la réalité est énorme. Et après, surprise, on a plus confiance...

WireGuard removed from Google Play Store, rectification in progress
I created the exact same app in React and Vue. Here are the differences. [2019 Edition]

Je pose ça là

Input: Fonts for Code — Info
My favorite rust function

OuiOuiOui je m'étais déjà fais la remarque dans la tête. Finalement, un fonction standardisée existe bel et bien : l'équivalent du free() en C est élégant en Rust avec la fonction drop() <3
De plus, contrairement au C, pas besoin d'indiquer la zone mémoire, la taille à libérer, tout ça tout ça

GIT tip : Keep your branch clean with fixup and autosquash - Florent Lebreton

Utiliser ensemble git commit --fixup et git rebase --autosquash pour nettoyer rapidement son historique de commits.

De la lecture supplémentaire pour mieux comprendre

58 des 59 attentats déjoués depuis six ans l’ont été grâce au renseignement humain — Lemonde.fr

mhmhmh oui la surveillance de masse... très efficace effectivement

Le blob va faire son entrée au parc zoologique de Paris - Next INpact

Un blob :)

Quel avenir pour les développeur(euse)s informatiques ? - Je suis un dev
Pour le logiciel libre, la liberté a un prix et un modèle économique - semsimo
China and Taiwan clash over Wikipedia edits - BBC News
De retour des Assises de la Sécurité 2019 – Korben
The GNU Privacy Handbook

Lu rapidement, je le garde sous le coude

Why Learn Vim In 2019? | Vim From Scratch

TL;DR

  1. Write And Change Faster
  2. Vim is fast and slim
  3. Vim macros
  4. Syntax highlighting, linting, auto-completion, refactoring, fuzzy file search, navigate to the code
  5. Language-agnostic
Job Losses from Automation Are Being Actively Engineered and Funded | Daniel Miessler

TL;DR

  • Human job loss to automation is not some gentle force that gets naturally counterbalanced by new types of work.
  • Automation is a profit-center, which means humans losing their jobs is a profit-center.
  • Companies and industries are spending hundreds of billions of dollars to replace humans in their workforces, which will in turn lead to billions more in profits for them.
  • Most people don’t realize this extremely active and funded component to the equation, and it’s time they start to.
Client Side PHP | atymic.dev
  • Compiler PHP en WebAssembly.
  • Utiliser les collections de Laravel

Mais c'est pour l'instant pas efficace (en ram, vitesse d'exécution, ...)

Le mot de passe Unix de Ken Thompson // /home/lord
Patterns for Practical CSS Custom Properties Use | CSS-Tricks

De ce qui est possible avec les variables en CSS

Presenting Presenting - Chet Haase - Medium

Sur les présentations devant un auditoire.

Modern Agile

Ressources on the Agile software development

Framasoft on Twitter: "En août dernier l'excellente forge Gitlab migrait vers Google Cloud :-( https://t.co/LL9tNSS2MO Conséquence directe: le site n'est plus accessible depuis plusieurs pays. Conséquence indirecte : les informaticien⋅nes de ces mêmes… https://t.co/s2pooAeAdC" / Twitter

Framasoft
@framasoft
En août dernier l'excellente forge Gitlab migrait vers Google Cloud :-(
https://about.gitlab.com/blog/2018/07/19/gcp-move-update/

Conséquence directe: le site n'est plus accessible depuis plusieurs pays. Conséquence indirecte : les informaticien⋅nes de ces mêmes pays ne peuvent même plus télécharger le code source (libre) de Gitlab pour l'installer sur leurs serveurs.

@Framasoft propose un miroir des dépôts Debian de Gitlab : https://apt.gitlab.mirror.framasoft.org/

N'hésitez pas à faire tourner l'info (dans d'autres langues si possible).

Ou pourquoi il faut éviter les GAFAM argument n°3654

Find engineering teams that share your values | Key Values
ekino - Une infographie pour comprendre le cadre législatif de l’accessibilité numérique en France en 2019
0 days since last black cat effect. - Liens en vrac de sebsauvage
Crocker's Rules

Declaring yourself to be operating by "Crocker's Rules" means that other people are allowed to optimize their messages for information, not for being nice to you. Crocker's Rules means that you have accepted full responsibility for the operation of your own mind - if you're offended, it's your fault. Anyone is allowed to call you a moron and claim to be doing you a favor. (Which, in point of fact, they would be. One of the big problems with this culture is that everyone's afraid to tell you you're wrong, or they think they have to dance around it.) Two people using Crocker's Rules should be able to communicate all relevant information in the minimum amount of time, without paraphrasing or social formatting. Obviously, don't declare yourself to be operating by Crocker's Rules unless you have that kind of mental discipline.

Note that Crocker's Rules does not mean you can insult people; it means that other people don't have to worry about whether they are insulting you. Crocker's Rules are a discipline, not a privilege. Furthermore, taking advantage of Crocker's Rules does not imply reciprocity. How could it? Crocker's Rules are something you do for yourself, to maximize information received - not something you grit your teeth over and do as a favor.

"Crocker's Rules" are named after Lee Daniel Crocker.

Je pose ça là

Where GREP Came From - Computerphile - Invidious
Firefox Monitor

Un service qui permet de savoir si l'adresse e-mail a été compromise... TODO

Une faille irréparable du standard PDF permet le vol de tous les contenus, même chiffrés
Note: Oublier "From scratch" et passer à Ex nihilo

Quand je parlais de commencer quelque chose à partir de rien, j'employais l'expression "From scratch". Ça sonnait toujours mal dans la phrase en français.
Maintenant j'ai le terme français qui sonne beaucoup mieux : Ex Nihilo

Les raisons de la procrastination – Korben
Comment extraire de l’énergie d’un trou noir ? - Couleur-Science
Effectively Using Iterators In Rust

Et la différence entre .iter() et .into_inter()

.iter() emprunte les valeurs (itération sur les valeurs par référence) de la structure
.into_iter() à l'opposé devient propriétaire des valeurs

Dupliquer un nombre z d'élément de la collection x dans un vecteur y :

    let y = x
        .iter()
        .map(|i| i.clone()) // Or use .cloned() instead since Rust 1.1
        .take(z)
        .collect::<Vec<_>>();
Former! Yahoo! engineer! admits! to! hacking! user! emails! for! smutty! snaps! • The Register

Ce n'est pas parce que une société est grande que les données sont mieux protégées. Concrètement, cela veut dire que plus de gens peuvent y accéder.