BlogoGeek

Mon blog fourre-tout de geekeries, tuto, script, culture, ...

Aucun commentaire

Installation :

sudo apt install lzop

Utilisation :

tar --lzop -cvf archive.tar.lzo source

Examples :

Zipper un fichier de 234 Mo :
GZIP : 9 sec, 73 Mo au final (69% de réduction)
LZOP : 0.5 sec, 126 Mo au final (48% de réduction)

time tar --gzip -cvf archive.zip big-script.sql 
real	0m9.030s
user	0m8.962s
sys	0m0.233s

time tar --lzop -cvf archive.tar.lzo big-script.sql 
real	0m0.540s
user	0m0.408s
sys	0m0.212s

Zipper un fichier de 32 Go :
GZIP : 15 minutes, 23 Go au final (28% de réduction)
LZOP : 75 sec, 26 Go au final (19% de réduction)

time tar --gzip -cvf full_dump.zip full_dump.sql
full_dump.sql

real	14m50.663s
user	14m36.634s
sys	0m44.949s
ls -lh
-rw-rw-r--  1 user user 126M Jan 22 10:24 archive.tar.lzo
-rw-rw-r--  1 user user  73M Jan 22 10:23 archive.zip
-rw-r--r--  1 user user 234M Jan 22 10:23 big-script.sql

Calculateur ODS (Excel-like)


Source
Sebsauvage

Aucun commentaire

Il parait que dire "Microslop" rend Satya Nadella tout triste :'(
Et il voudrait qu'on arrête.

Mais nous on aimerait bien qu'il arrête de rajouter de la merde dans son OS et ses programmes bloated jusqu'à la moelle.

Alors pour fêter le nouveau mot de l'année 2025, je n'ai plus qu'une chose à dire :

MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP
MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP
MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP
MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP
MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP
MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP
MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP
MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP MICROSLOP

....................../´¯/)
....................,/¯../
.................../..../
............./´¯/'...'/´¯¯`·¸
........../'/.../..../......./¨¯\
........('(...´...´.... ¯~/'...')
.........\.................'...../
..........''...\.......... _.·´
............\..............(
..............\.............\...

En bonus :

Aucun commentaire

Wormhole est un programme qui permet d'envoyer des fichiers en peer-to-peer (P2P) facilement en ligne de commande.
Magick Wormhole sur GitHub

Installer

sudo apt install magic-wormhole

Envoyer un fichier

wormhole send NOM_DE_FICHIER

Noter le code du type "0-mot1-mot2"

Recevoir le fichier

wormhole receive 0-mot1-mot2

Version android (DL APK)
Dans la configuration :

- RendezVous : par défaut
- Transit : tcp://magic-wormhole-transit.debian.net:4001

Intégration à l'explorateur de fichier Nautilus sur Ubuntu
wormhole-send.sh on GitHub

ln -s wormhole-send.sh ~/.local/share/nautilus/scripts/'Wormhole Send'
nautilus -q

Wormhole Integration to Nautilus file explorer

Aucun commentaire

Article copié/collé depuis sebsauvage, lui même inspiré de Maniac Geek.

En tant que développeur et joueur depuis longtemps (30 ans, hein, quand même), j'ai un problème: Je finis par "voir" ou "ressentir" les mécanismes, la logique de fonctionnement des jeux à force d'y jouer (Et je ne suis probablement pas le seul). J'arrive à imaginer les algos utilisés, je traque instinctivement les glitchs d'affichage ou la cassure visible des polygones sur un objet pas assez tesselated, imagine les algos utilisés pour la génération procédurale et l'IA des ennemis ou devine le découpage des hitbox. Quand je regarde une vidéo, mon cerveau cherche instinctivement les artefacts de compression. C'est plus fort que moi.

Et du coup, à imaginer le travail des développeurs pour traiter tel ou tel point précis, ça casse un peu la magie. C'est ma malédiction.

C'est en partie ce qui fait que je joue moins à Minecraft qu'avant. J'y ai tellement joué et "ressenti" le jeu que la magie des premières explorations est éventée: Les algos - ou du moins leurs résultats - me sont devenus trop visibles. Je me suis même surpris à explorer des réseaux de caverne rien que pour essayer de trouver des formes atypiques, différentes de ce que le générateur procédural produit habituellement. J'en suis à explorer les extrêmes la courbe gaussienne. Doh ! Fichu cerveau.

Oh je ne dis pas: J'apprécie les graphismes d'un nouveau jeu, l'originalité de son gameplay et sa profondeur (ou son absence, le plus souvent). Ça peut passer agréablement le temps. Mais l'illusion ne dure jamais.

Aucun commentaire

Via stevenbenner.com (18 juillet, 2010 )

Je me reconnais complètement dans les types 1, 2 et 5 !
Et un peu dans les 2 autres aussi ^^

The duct tape programmer

The code may not be pretty, but dammit, it works!


This guy is the foundation of your company. When something goes wrong he will fix it fast and in a way that won’t break again. Of course he doesn’t care about how it looks, ease of use, or any of those other trivial concerns, but he will make it happen, without a bunch of talk or time-wasting nonsense. The best way to use this person is to point at a problem and walk away.

The OCD perfectionist programmer

You want to do what to my code?


This guy doesn’t care about your deadlines or budgets, those are insignificant when compared to the art form that is programming. When you do finally receive the finished product you will have no option but submit to the stunning glory and radiant beauty of perfectly formatted, no, perfectly beautiful code, that is so efficient that anything you would want to do to it would do nothing but defame a masterpiece. He is the only one qualified to work on his code.

The anti-programming programmer

I’m a programmer, dammit. I don’t write code.


His world has one simple truth; writing code is bad. If you have to write something then you’re doing it wrong. Someone else has already done the work so just use their code. He will tell you how much faster this development practice is, even though he takes as long or longer than the other programmers. But when you get the project it will only be 20 lines of actual code and will be very easy to read. It may not be very fast, efficient, or forward-compatible, but it will be done with the least effort required.

The half-assed programmer

What do you want? It works doesn’t it?


The guy who couldn’t care less about quality, that’s someone else’s job. He accomplishes the tasks that he’s asked to do, quickly. You may not like his work, the other programmers hate it, but management and the clients love it. As much pain as he will cause you in the future, he is single-handedly keeping your deadlines so you can’t scoff at it (no matter how much you want to).

The theoretical programmer

Well, that’s a possibility, but in practice this might be a better alternative.


This guy is more interested the options than what should be done. He will spend 80% of his time staring blankly at his computer thinking up ways to accomplish a task, 15% of his time complaining about unreasonable deadlines, 4% of his time refining the options, and 1% of his time writing code. When you receive the final work it will always be accompanied by the phrase “if I had more time I could have done this the right way”.

Aucun commentaire

Lu chez Sebsauvage

Personne ne veut du cloud OneDrive de Microsoft. Alors pour forcer la main des utilisateurs, la suite Office - même si elle tourne en local - enregistrera par défaut les fichiers sur OneDrive.
(Ce qui permettra aussi à Microsoft de collecter encore plus d'informations sur vous.)
Je ne sais pas si les gens réalisent bien que désormais, tout ce qui est fait dans Microsoft Office de par le monde va atterrir automatiquement sur des serveurs américains.
PS: Je viens de lire ailleurs que c'est même pire que ça : Les données de récupération des documents en cours de travail sont automatiquement sauvegardées dans OneDrive.
Ce qui veut dire que Microsoft reçoit des copies de vos documents avant même que vous ayez fait le premier CTRL+S pour les sauvegarder.
(Et pendant ce temps là, la CNIL : ????????)

Lu chez Matronix
Source : Microsoft vous observe en jeu pour entraîner Copilot sur Windows : voici comment l’empêcher

La dernière mise à jour de W11, qui envoie simplement chez Microsoft votre écran. Et activé par défaut. Également votre micro.
Bazzite va être installé chez moi plus rapidement qu’escompté.
J’ai viré Microsoft et Windows de mon monde pro depuis bien longtemps, mais le PC de jeux va rejoindre le mouvement. Je ne peux plus blairer Windows.

La même !

Liste des serveurs appelé par Windows 10 après une fresh install : https://winaero.com/websites-windows-10-connects-to-after-a-clean-install/

Aucun commentaire

Les palindromes de taille finie, s'entend.
Car il est impossible d'en détecter de taille arbitraire, les regex étant des automates à état fini.

\b(\w)[ \t,'"]*(?:(\w)[ \t,'"]*(?:(\w)[ \t,'"]*(?:(\w)[ \t,'"]*(?:(\w)[ \t,'"]*(?:(\w)[ \t,'"]*(?:(\w)[ \t,'"]*(?:(\w)[ \t,'"]*(?:(\w)[ \t,'"]*(?:(\w)[ \t,'"]*(?:(\w)[ \t,'"]*\11?[ \t,'"]*\10|\10?)[ \t,'"]*\9|\9?)[ \t,'"]*\8|\8?)[ \t,'"]*\7|\7?)[ \t,'"]*\6|\6?)[ \t,'"]*\5|\5?)[ \t,'"]*\4|\4?)[ \t,'"]*\3|\3?)[ \t,'"]*\2|\2?))?[ \t,'"]*\1\b

Jusqu'à 22 caractères de long.

Magistralement expliquée ici.

Aucun commentaire

1) Créer une paire de clé SSH privée/publique

2) Convertir les clés pour Putty avec PuttyGen
- Load la clé privée
- Save public key
- Save private key

3) Indiquer la clé .ppk dans Putty :
Connection > SSH > Auth
Browse Private key file for authentication

Ne PAS indiquer d'Auto-login username dans Connection > Data, il sera configuré dans SuperPutty

Sauvegarder la session

4) Créer une session dans SuperPutty en spécifiant la session créée dans Putty au point 3) dans PuTTY Session Profile
Inidiquer le username dans Login Username

5) Pour ne pas avoir à entrer la passphrase à chaque connection mais seulement une fois par jour : Stocker la passphrase avec Pageant (source)

Bonus) Couleur à jour : Connection > Data > Terminal-type string : xterm-256color

Aucun commentaire

Je viens de me demander à l'instant, pendant l'update de mes 2 seuls applications installées via Snap sur mon Ubuntu, pourquoi je déteste snap et tente à tout prix d'éviter d'installer quoi que ce soit via cette méthode.
J'ai donc googlé ma question pour savoir si d'autres se la posaient et la 1ère réponse, sur reddit, a confirmé tout le bien que je pensais de ce packager :

The snap back end (snap store) is still proprietary and only controlled by Canonical/Ubuntu.
Canonical has also been forcing snaps instead of regular apt packages on Ubuntu, which is incredibly annoying as snaps have a larger footprint and run slower.

EDIT: Developers keep packaging their apps as snaps because Ubuntu is by far the most popular distro out there.
Their life gets easier if they follow the Ubuntu standards.
Flatpak isn't as popular merely because the distros that enforce it aren't as popular as Ubuntu.

Désinstaller les packages snap
Commencez par listez les packages installé avec

snap list

Supprimez ceux que vous voulez

snap remove --purge PACKAGE

Et si ils font des snapshots :

snap saved
snap forget PACKAGE

Conclusion
Snap : ça pue !


Sources
https://www.reddit.com/r/linux/comments/j3ajnf/whats_wrong_with_snaps_why_so_many_people_hate_it/
https://askubuntu.com/questions/1283423/is-it-safe-to-delete-var-lib-snapd-snapshots

Aucun commentaire

Saloperie de Windows 10 de caque !!!
Qu'est-ce que tu m'installe ça de ton plein gré, déjà ? Alors que j'ai désactivé toutes les MAJ ??
Et pourquoi je ne peux pas le supprimer/désactiver facilement, en pressant Delete ou Uninstall ??

Bref, trêve de ronchonages et supprimons cette merde.

Copiez ce bout de code dans un fichier texte que vous renommerez en QQCH.reg

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
"{2cc5ca98-6485-489a-920e-b3e88a6ccce3}"=dword:00000001

ou téléchargez directement le fichier ici et executez-le : remove_learn-about-this-picture_win10.reg
Puis redémarrez votre ordinateur.

Attention, chez moi ça a réinitialisé tous les icônes sur le bureau.

Tâchez de sauvegarder leur position si cela vous importe.
Je vous recommande l'exellent logiciel Display Fusion qui propose tout un tas de fonctionnalités super cool, comme justement sauvegarder vos icones dans différents profils (si vous connectez/déconnectez régulièrement un écran par ex), gère les fonds d'écrans multiple, garde un historique de votre presse-papier et propose de redéfinir tout un tas de raccourcis Windows.


Sources
https://www.elevenforum.com/t/add-or-remove-learn-more-about-this-picture-desktop-icon-in-windows-11.7137/

Aucun commentaire

Forum Elbakin

https://www.youtube.com/watch?v=e9qMSthj440&t=1995s
https://www.youtube.com/watch?v=fejb__79G78&t=358s
http://climaginaire.joueb.com/news/damasio-alain
https://www.actusf.com/detail-d-un-article/Interview-2015-Alain-Damasio-pour

Mon analyse viteuf
Ayant lu 2x la Horde j'avais déjà idée que Damasio était hors normes mais j'étais loin du compte.
J'ai dévoré l'analyse avec autant d'ardeur (d'hordeur ?) que le livre qu'il étudie, c'était passionnant !

Je m'intéresse à de nombreux sujets variés mais je suis une bille en philosophie. Je connais de noms les auteurs cité dans l'analyse, ainsi que certains de leur titres majeurs, mais ça s'arrête là.
Le concept du chameau du lion et de l'enfant m'était passé au dessus comme un noob par exemple, et je ne savais pas que le Retour Nietzschéen avait un nom, même si j'avais identifié ce dernier.

J'ai été époustouflé par tous les sujets que touche Damasio et la maestria avec laquelle il a tissé tout ça. Effarant !
Très bon travail d'analyse, de synthèse mais surtout d’exhaustivité dans les exemples qui illustrent les différents concepts. Ça a du être un sacré taf de lecture, relecture et re-re-re-lecture.
(L'auteur confirme : 4 ans de boulot et 18 versions pour arriver au résultat final)

SPOILERS POTENTIEL sur la fin de l'analyse :
Oh ! Et à la toute fin, l'idée que l'Hordre envoie les hordes faire le tour du monde dans le but de sélectionner les sur-hommes m'a complètement retourné le cerveau !

Aucun commentaire

Encore une petite fonction à ajouter au .bashrc

backup()
{
    file="$1"

    if [ ! -f "$file" ]; then
        echo "Erreur: Le fichier $file n'existe pas"
    else
        if [[ "$2" == "-d" || "$2" == "--date" ]]; then
            backup="$file.bkp-$(date +"%Y.%m.%d-%H-%M-%S")"
        else
            backup="$file.bkp"
        fi
        
        echo -e "Backing up $file to $backup"
        cp --archive "$file" "$backup"
    fi
}

Utilisation :

backup fichier # Duplique le fichier avec l'extension ".bkp"
backup fichier -d # Ajoute la date dans le nom du backup
backup fichier --date # idem

Aucun commentaire

Une nouvelle petite fonction pratique à ajouter à votre trousseau virtuel (dans votre .bashrc par exemple)

Regardons la tailles du dossier

ls -alh
total 10.7M
-rwxr-xr-x  1 user user 4.0M May 31 17:10 IMG1.jpg
-rwxr-xr-x  1 user user 2.7M May 31 17:10 IMG2.jpg
-rwxr-xr-x  1 user user 4.0M May 31 17:10 IMG3.jpg

Copiez ce bout de code dans le bashrc

vi ~/.bashrc
resizePictures()
{
    path=${1:-.}
    size=${2:-800x600}
    
    echo -e "Images found in \"$path\" : " $(ls -1 $path/*.jpg $path/*.png $path/*.jpeg 2>/dev/null | wc -l)
    for img in $path/*.{jpg,jpeg,png}; do convert "$img" -resize $size "$img"; done
    
    nautilus $path &
}

N'oubliez pas de le sourcer puis testez la fonction

source ~/.bashrc
resizePictures . 50x50
ls -alh
total 750k
-rwxr-xr-x  1 user user 262K May 31 17:12 IMG1.jpg
-rwxr-xr-x  1 user user 262K May 31 17:12 IMG2.jpg
-rwxr-xr-x  1 user user 262K May 31 17:12 IMG3.jpg

ImageMagick
Pour installer convert, qui fait partie du package ImageMagick, vous pouvez utiliser la commande suivante avec apt :

sudo apt update
sudo apt install imagemagick

Si vous préférez utiliser GraphicsMagick (qui fournit aussi la commande gm convert), utilisez la commande suivante :

sudo apt install graphicsmagick

Aucun commentaire

La commande SSH permet de se connecter à un serveur distant via internet.
SSHRC s'installe comme un wrapper et va copier des fichiers de config à la volée de votre machine locale (où vous exécutez la commande ssh ou sshrc) et le serveur.

Plus précisément, elle va copier le contenu du dossier ~/.sshrc.d de votre machine locale vers le serveur dans /tmp/.VOTRE_NOM_QQCH
Créez donc sur votre machine locale des liens symboliques vers votre .bashrc et autres fichier à synchroniser dans ce dossier, moi j'ai ajouté une config pour docker.
.sshrc.d/

  • .bashrc
  • .docker-config.json

ln -s ~/.bashrc ~/.sshrc.d/.bashrc
ln -s ~/.docker/config.json ~/.sshrc.d/docker-config.json

Une fois connecté à votre serveur le fichier .sshrc sera executé.
On va donc sourcer les fichiers de config et effectuer quelque manip' de sécurité

.sshrc

# Your local .bashrc file has been sent to the server in "/tmp/.$USER.$SOMETHING"
# So we source it from there.
source /tmp/.$USER.sshrc.*/.sshrc.d/.bashrc && \
echo -e "Your custom .bashrc file has been sourced from \"$(echo /tmp/.$USER.sshrc.*/.sshrc.d/.bashrc)\""

# Create a standard home docker config folder
# and copy the config file in it
mkdir -p /home/$USER/.docker/ && \
    cp /tmp/.$USER.sshrc.*/.sshrc.d/docker-config.json /home/$USER/.docker/config.json && \
    echo -e "Your custom docker config file has been copied into \"/home/$USER/.docker/config.json\""

# Show some security reports
echo -e "\n${SUPERRED}***********************************${NC}"
echo -e "${SUPERRED}*${NC} ${RED}    /!\ SECURITY REPORT /!\    ${NC} ${SUPERRED}*${NC}"
echo -e "${SUPERRED}***********************************${NC}\n"

echo -e "\n * LASTLOG : lastlog -b 1 | grep -iv never"
lastlog -b 1 | grep -iv never

echo -e "\n\n * LAST : last -aiF | grep -v $USER"
echo -e "if strange user, run : sudo lastb -adF SUSPICIOUS_USER"
last -aiF | grep -v $USER

echo -e "\n\n * JOURNALCTL : sudo journalctl _SYSTEMD_UNIT=sshd.service | grep error"

i

Bonus : Enjoliver les réponses de Docker

vi /home/$USER/.docker/config.json
{
  "psFormat": "table {{.Names}}\\t{{.Status}}\\t{{.Image}}\t{{.Size}}"
}

i

Aucun commentaire

Voici quelques astuces pour bloquer la majorités des pubs affichables sur smartphone Android sans sacrifier trop de fonctionnalités.

Désactiver le Wi-Fi
Pour les applications où jeux hors-ligne, désactiver le Wi-Fi et la 3G suffit à vous affranchir de toute publicité.
Il est par exemple possible d'utiliser l'excellent RecetteTek en mode offline et profiter de 95% de l'application comme ça. Vous ne devrez ré-activer le Wi-Fi que si vous souhaitez importer une recette depuis le net.

DNS bloqueur de pub
Il est possible de faire sauter cette dernière restriction en utilisant un DNS bloqueur de pub.
Pour cela allez dans les paramètres de votre téléphone, rechercher DNS et sélectionnez DNS privé ou Private DNS dans la catégorie Connection.
Sélectionnez Designated private DNS et entrez

dns.adguard.com

.
Cela vous permettra de lancer les jeux et les applications avec le Wi-Fi activé et de tout de même filtrer les pubs.
Attention, certaines appli mal codées peuvent planter si elle n'arrivent pas à charger la pub.
Et pour les même raison, si vous demander à un jeu d'afficher une pub (pour gagner de l'or par exemple) cela ne va pas fonctionner.



Adblock ou Broswer anti-pub
Utilisez un navigateur bloqueur de pub comme Brave ou installer les plugins "Adblock Plus" et "uBlock Origin" sur votre navigateur, pour autant qu'il soit compatible.

2 commentaires

Installer le serveur Valheim (headless)

Installez SteamCMD

Ouvrez une invite de commande et lancez steamcmd.exe
puis exécutez les commandes suivantes (adaptez le chemin du dossier d'installation) :

force_install_dir C:\valheim_server
login anonymous
app_update 896660 validate
exit

Modifiez C:\valheim_server\start_headless_server.bat

valheim_server -nographics -batchmode -port 2456 -name "Nom de votre Monde" -world "nom-du-fichier-de-sauvegarde" -password "UN BON PASSWORD" -public 0 -preset normal

Lancez le bat :

exec C:\valheim_server\start_headless_server.bat

Source
https://blog.maxds.fr/creer-et-automatiser-un-serveur-steam-cmd/
https://www.rockpapershotgun.com/valheim-how-to-set-up-a-dedicated-server#:~:text=To%20join%20a%20Valheim%20dedicated,Port%2C%20separated%20by%20a%20colon.
Fichier PDF dans C:\valheim_server\Valheim Dedicated Server Manual.pdf

Installer des mods

Commencer par installer BepInEx à la racine du serveur, c'est le gestionnaire de mods.
Puis dézipper les mods dans BepInEx ou BepInEx\plugins (dépend du mod)

Liens
https://github.com/BepInEx/BepInEx.ConfigurationManager/releases/tag/v16.1
https://www.nexusmods.com/valheim/mods/2323?tab=files
https://www.nexusmods.com/valheim/mods/104?tab=files
https://valheim.thunderstore.io/package/QoLTeam/QualityOfLife/

Aucun commentaire

Une promo Migros propose le robot tondeuse Sileno city 600 m² à 600.- au lieu de 1'000.-

Recherches de reviews rapides (environ 8) : notes allant de 3.5 à 4.5 / 5

Un seul résultat sur TopPreise. Un vendeur mal noté le vend à 874.-

Google propose quelques site suisse qui le vendent de 600.- à 1'000.-

Le test avec la moins bonne note donne déjà envie.

At $800, it’s the most affordable model we’ve tested and it did a great job of keeping my lawn looking well manicured in testing.

PROS

  • Reasonably priced
  • Good cutting performance
  • Quiet operation

CONS

  • Lacks GPS and Wi-Fi
  • No remote steering

Un 2ème test positif.

If you always want to keep your garden tidy and well-maintained and are looking for a smart as well as reliable robotic mower, the Gardena Sileno City 600 is the right choice. The robotic mower reliably trims the grass short and offers numerous practical features to program different schedules or areas. In addition, the robot mows impressed me as it worked in a very quiet manner, and was practically inaudible from a distance of 20 meters.

However, when it comes to challenging terrain and obstacles, the robotic mower then has a tendency of getting stuck. It is also too possible to run over small stones or damage other items that are left lying around. It would have been nice if the Gardena Sileno City had an optical obstacle detection system in addition to a more accurate GPS and compass.

EDIT
On l'a acheté Yapluka l'installer.