Monthly Shaarli
October, 2019
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.
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 :
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
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 ?
Sous le coude si besoin
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.
Saved for future uses
Sous le coude, ça peut toujours servir d'avoir à effectuer de la coloration syntaxique
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 »
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 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 [...]
Un challenge en bash : écrire des commandes cURL le plus rapidemment possible.
C'est super :)
Sous le coude pour plus tard. Un outil de sérialisation des structures de données.
Ok donc l'hymen et la virginité, c'est un énorme mensonge et tout le monde y croit. C'est un mensonge.
Je pose ça sur le tas. Un engine pour jeux vidéos écrit en Rust
Séparer une archive zip en plusieurs archives avec la commande zipsplit
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. |
Un historique des différents codes/programmes qui ont permis à l'informatique d'évoluer jusqu aujourd'hui
Le glossaire de git avec les mot-clés / vocabulaire spécifique
Un bon podcast sur les MPA (Multi Page Application) et les SPA (Single Page Application) :)
Summary
--soft
change only the HEAD--mixed
(default) change the HEAD and the index--hard
change the HEAD, the index and the working directory
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
... 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
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.
(feed de Riduidel)
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/gThat's all for today. Next week we'll get to advanced stuff with ranges and some useful commands.
L'adresse su site est https://code.etalab.gouv.fr
une excellente réflexion
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).
Trop vrai x)
- Ouvrir VLC
- menu « Média » : « Ouvrir un flux réseau », coller l'url de la vidéo Youtube
- Lire
Enjoy
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.
Les nouvelles fonctionnalités des téléphones au fil du temps (ça va trop loin x)
Un bon argument contre le "Si vous n’avez rien à cacher, vous n’avez rien à craindre "
Not beautiful, but basic.
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
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.
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
Une drôle d'histoire !
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
(feed de sebsauvage de sammyfisherjr)
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.
Saved for futures shares
A VPN for ssh only (dns included and need python)
The policy of Hell ^^
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
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
I don't use it currently; put it on the heap for some time or other.
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.
Une jolie infographie
Créer des représentations graphiques de dépôt git.
A simple online Rust editor for small tests of code.
It's possible to choose between different emulators (emax, vim, sublime) <3
Avec la référence pour comprendre ce qui exprimé par « rube-goldberg »
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é.
Different services : DNS, instance Mastodon, Cryptpad, Jabber, TrashMail, PrivateBin, Nextcloud, Pics, Gitea
Un générateur de nom d'entreprise/logiciel
L'interface ressemble à un tamagotchi qu'il faut nourrir de données
A crate that generate books with the same design as The Rust Programming Language.
Saved for future uses
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
I put it on the heap for some time or other
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
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.
Je pose ça là. Çà peut être utile
Pas lu, je pose ça là au besoin
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.
Le formulaire a remplir pour alerter le CSA sur un programme ou une publicité
Le beau git rebase -i
qui fait le café, lorsque le café n'a pas été fait <3
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
Ç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
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
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++.
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.
Oui
Encore un argument contre les GAFAM, et le logiciel propriétaire/privateur en général
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
sur l'accident de l'usine de Lubrizol à Rouen
La fin du stock d'IPv4 officiellement daté du 2 octobre. Toutes les adresses seront attribuées.
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
Beaucoup de vrai dans ce billet
Codes unicodes pour les drapeaux des pays
Des images et vidéos sous licence CC0 (donc libre) :)
Encore un exemple donné dans cet article d'Acrimed
Il est magnifique ce troll
Excellente explication sur les lifetimes en rust
Des SVG en licence CC0, donc libre et réutilisable par tous :)
edit: ça me fais penser au livre Les Furtifs d'Alain Damasio
Le service web de la commande tldr
. Lien du repository
Le chiffrement, c'est un combat sans fin ><
A great explanation of what's happening in the RAM with the system of Ownership and Borrowing.
Comment installer le RLS <3
RUSTI est un interpréteur Rust. Je le mets dans un coin de ma tête pour plus tard.
Logic ? Where are you ?
A list of free software dedicated to self-hosting
Cet article m'a fait tellement de bien. Moi qui défendait Python, mon premier langage de programmation et maintenant Rust.
- Rename your local branch
git branch -m old-name new-name
or simplygit branch -m new-name
for the current branch. - Delete the old-name remote branch and push the new-name local branch
git push origin old-name new-name
- Reset the upstream branch for the new-name local branch
git push origin -u new-name
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.
Lorsque aucune maintenance n'est prévue, un badge a apposer sur la documentation du projet : No Maintenance Intended
Série de trois articles :
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.
Des services libres en ligne
(feed de Sebsauvage)
Une API Restful librement utilisable, par exemple pour tester son application avec de fausses données.
Le jeu original qui a inspiré You cannot cURL under pressure en javascript.
Et oui, you can't Javascript under pressure ;)
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) ?
Sous le coude.
TL;DR
You should probably avoid benchmarking branchy code over small problems.
La différence entre le discours et la réalité est énorme. Et après, surprise, on a plus confiance...
Je pose ça là
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
Utiliser ensemble git commit --fixup
et git rebase --autosquash
pour nettoyer rapidement son historique de commits.
De la lecture supplémentaire pour mieux comprendre
mhmhmh oui la surveillance de masse... très efficace effectivement
Lu rapidement, je le garde sous le coude
TL;DR
- Write And Change Faster
- Vim is fast and slim
- Vim macros
- Syntax highlighting, linting, auto-completion, refactoring, fuzzy file search, navigate to the code
- Language-agnostic
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.
- Compiler PHP en WebAssembly.
- Utiliser les collections de Laravel
Mais c'est pour l'instant pas efficace (en ram, vitesse d'exécution, ...)
De ce qui est possible avec les variables en CSS
Sur les présentations devant un auditoire.
Ressources on the Agile software development
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
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à
Un service qui permet de savoir si l'adresse e-mail a été compromise... TODO
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
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<_>>();
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.