December 30 2021, 15:52#

CSS truncate Text with Ellipsis(...) [2020 Tutorial]

Lien : https://daily-dev-tips.com/posts/css-truncate-text-with-ellipsis/

Tronquer du texte avec CSS

Exemple

.truncate {
  width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

Tags : css web

December 30 2021, 15:49#

Créer une miniature carrée sur fond noir en respectant le ratio

Comme l'évoque le titre, cette commande permet de créer une miniature en respectant le ratio de l'image d'origine.

Ce qui veut dire que si l'image est rectangulaire, la miniature le sera aussi.

Donc si on a besoin d'une miniature carrée tout en respectant le ratio, voici une solution testée sur plus de 500 images :

convert -background '#000' -gravity center image.jpg -resize 200x200 -extent 200x200 thumbnail.jpg

Tags : unix imagemagick image photo

December 30 2021, 15:47#

Créer une miniature en redimensionnant l'image uniquement sur la largeur

J'ai un cas d'usage simple : sur Mastodon les images sont automatiquement redimensionnées à l'affichage, sur la largeur uniquement pour conserver le ratio d'origine. En d'autres mots le poids des images est inchangé alors qu'on les voit en 520x.

Une image de 3000x2300 par exemple, pèse plusieurs Mo, tandis qu'une image en 520x pèse quelques Ko.

L'affichage de l'image sur Mastodon se fait toujours en 520x quelque soit la taille de l'image.

Du coup, le fait de redimensionner l'image directement allège considérablement son poids.

En résumé, image plus légère, même rendu, les utilisateurs sur mobile vous remercieront jamais assez.

convert -resize 520x image.jpg thumbnail.jpg

Tags : unix imagemagick mastodon image photo

December 30 2021, 15:45#

[Résolu] Écrire du texte dans une image avec imagemagick - Programmation - Zebulon

Lien : https://forum.zebulon.fr/topic/121931-resolu-ecrire-du-texte-dans-une-image-avec-imagemagick/

Écrire du texte dans une image

convert image.jpg -font Bookman-DemiItalic -draw "text 40,34 'Exemple de texte'" exemple.jpg

Tags : unix imagemagick image photo

December 30 2021, 15:44#

Resize on largest side - ImageMagick

Lien : https://legacy.imagemagick.org/discourse-server/viewtopic.php?p=44329#p44329

Cette commande permet de créer une miniature carrée à partir du centre indépendamment du ratio de l'image d'origine.

convert image.jpg -resize '250^>' -gravity center -crop 250x250+0 mini.jpg

Tags : unix imagemagick image photo

December 30 2021, 15:37#

Fireworks by Jay Denton | Royalty Free Music Track - Artlist.io

Lien : https://artlist.io/song/10369/fireworks

Fireworks by Summer Again - Uplifting Acoustic Pop, Mood: Uplifting, Carefree, Love, Hopeful, Serious, Dramatic, Exciting. Instruments: Acoustic Guitar, Electric Guitar, Piano, Percussion, Claps & Snaps, Vocal, Backing Vocals, Keys, Electronic Drums, Acoustic Drums . Genre: Pop, Singer-Songwriter, Rock. Royalty free music.

Mise à jour du 15/10/2023, les liens vers Artlist sont morts, Jay n'est plus sur Artlist ?..

Écouter sur YouTube

Tags : musique jay-denton

December 30 2021, 15:31#

Ubuntu – Résultats de la recherche de paquets -- gtkhash

Lien : https://packages.ubuntu.com/search?keywords=gtkhash

Sous l'environnement GNOME, dans le gestionnaire de fichiers Nautilus, il existe le plugin gtkhash qui permet depuis les propriétés du fichier de calculer la somme de contrôle avec la fonction désirée (md5, sha1, sha256, etc.).

Installation sous Ubuntu

sudo apt install nautilus-gtkhash

Nautilus doit être redémarré complètement pour voir le plugin actif. Fermer toutes les fenêtres ne suffit pas.

Assurez-vous de n'avoir aucune copie en cours avant d'exécuter la commande suivante.

nautilus -q

Tags : gtk hash gnome nautilus ubuntu linux

December 30 2021, 15:25#

update gems, pull mastodon-api from recent git release to stop it for… · tekniklr/tekniklr.com@355ca40 · GitHub

Lien : https://github.com/tekniklr/tekniklr.com/commit/355ca406b6933ed3ac1ac6774bca14e81821df56

La gem mastodon-api est fonctionnelle avec Ruby 2.6.6, en revanche après mise à jour vers Ruby 2.7.2, ça cafouille.

6: from /usr/home/gregory/.gem/ruby/2.7/gems/mastodon-api-2.0.0/lib/mastodon/rest/media.rb:17:in `upload_media'               
    5: from /usr/home/gregory/.gem/ruby/2.7/gems/mastodon-api-2.0.0/lib/mastodon/rest/utils.rb:18:in `perform_request_with_object'
    4: from /usr/home/gregory/.gem/ruby/2.7/gems/mastodon-api-2.0.0/lib/mastodon/rest/utils.rb:10:in `perform_request'            
    3: from /usr/home/gregory/.gem/ruby/2.7/gems/mastodon-api-2.0.0/lib/mastodon/rest/request.rb:26:in `perform'                  
    2: from /usr/local/lib/ruby/2.7/forwardable.rb:229:in `empty?'                                                                
    1: from /usr/home/gregory/.gem/ruby/2.7/gems/http-3.3.0/lib/http/response/body.rb:52:in `to_s'                                
/usr/home/gregory/.gem/ruby/2.7/gems/http-3.3.0/lib/http/response/body.rb:52:in `force_encoding': can't modify frozen String: "" (Froz
enError)

L'origine du bug vient de Ruby. Une correction a déjà été apportée mais les gems concernées doivent se mettre à jour. Ce qui n'est pas le cas de celle-ci.

Un fix a été apporté par un contributeur sur GitHub, mais pas intégré à ce jour dans la gem. Pour en profiter, il faut créer la gem depuis le dépôt Git.

Cloner le dépôt

git clone https://github.com/tootsuite/mastodon-api.git

Se positionner sur le bon commit

cd mastodon-api
git checkout 60b0ed0

Installer les dépendances

Voir le fichier Gemfile.

Dans mon cas, installation côté user uniquement.

gem install --user-install rake yard rspec fuubar rubocop simplecov timecop webmock yardstick

Construire la gem

rake build mastodon.gemspec
mastodon-api 2.0.0 built to pkg/mastodon-api-2.0.0.gem.

Installer la gem

Dans mon cas, installation côté user uniquement.

gem install --user-install pkg/mastodon-api-2.0.0.gem

Tags : mastodon api ruby git github

December 30 2021, 15:11#

Abandon Window - YouTube

Lien : https://www.youtube.com/watch?v=zjKMUCwui-I

Abandon Window de Jon Hopkins

Album : Immunity

Disponible sur Bandcamp

Je vous conseille de porter un casque audio de qualité pour écouter ce titre.

Tags : jon-hopkins musique

December 30 2021, 15:05#

FreeBSD ZFS snapshots with zfstools – Michael Warren Lucas

Lien : https://mwl.io/archives/2140

Je suis tombé sur un vieil article très intéressant de Michael Warren Lucas sur l'automatisation des snapshots ZFS. Dans cet article il présente l'outil zfstools pour accomplir cette tâche.

Dans un premier temps, il faut installer le paquet qui va bien.

# pkg install zfstools

Le message de fin d'installation se suffit à lui seul pour expliquer les étapes suivantes.

L'étape suivante est de déterminer sur quel dataset activer l'auto-snapshot.

Par exemple :

# zfs set com.sun:auto-snapshot=true zroot/jails

Activera l'auto-snapshot sur mon dataset zroot/jails.

Pour consulter :

# zfs get com.sun:auto-snapshot zroot/jails

Pour tout voir :

# zfs get com.sun:auto-snapshot

Ensuite, tel que décrit dans le message post-installation, on ajoute les bonnes directives dans le fichier /etc/crontab. À adapter selon ses besoins, mais l'exemple est pas mal du tout.

Par exemple dans mon /etc/crontab, mon PATH ressemble à ça :

PATH=/etc:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin

Puis j'ai ajouté ceci à la fin du fichier :

# zfs-auto-snapshot
15,30,45 * * * * root /usr/local/sbin/zfs-auto-snapshot 15min    4
0        * * * * root /usr/local/sbin/zfs-auto-snapshot hourly  24
7        0 * * * root /usr/local/sbin/zfs-auto-snapshot daily    7
14       0 * * 7 root /usr/local/sbin/zfs-auto-snapshot weekly   4
28       0 1 * * root /usr/local/sbin/zfs-auto-snapshot monthly 12

À la prochaine itération, on vérifie que tout va bien :

# zfs list -t snapshot
zroot/jails@zfs-auto-snap_15min-2021-01-23-20h45                 1.18M      -  25.6G  -

Pour déboguer on peut se reporter aux logs de cron dans /var/log/cron.

Tags : freebsd zfs

December 30 2021, 14:55#

FreeBSD Desktop | 𝚟𝚎𝚛𝚖𝚊𝚍𝚎𝚗

Lien : https://vermaden.wordpress.com/freebsd-desktop/

The FreeBSD Desktop series are about creating efficient desktop environment on the FreeBSD system. Why such series? Because telling someone who wants FreeBSD desktop to buy Mac instead is like tell…

Tags : freebsd unix desktop

December 30 2021, 14:53#

more

Pourquoi faire simple quand on peut faire compliqué avec un outil comme more ?

J'ai souvenir qu'à l'époque on pouvait utiliser les touches Up/Down, Page Up/Page Down ou B/Space pour faire défiler les pages. Chose qui est toujours d'actualité sur FreeBSD.

Sur Ubuntu, Red Hat et d'autres distributions, il n'y a plus que la combinaison B/Space qui fonctionne. Il n'y a plus d'autre alternative.

Je me pose souvent la question : pourquoi d'abord proposer plusieurs combinaisons, puis en imposer qu'une seule ?

Tags : unix freebsd ubuntu redhat shell

December 30 2021, 14:47#

SSH dans une boucle while en Shell

J'ai eu un cas d'école intéressant. A l'aide d'un script Shell, je cherchais à boucler sur une liste de serveurs contenue dans un fichier hosts.txt pour y exécuter des commandes via SSH.

while read host
do
    ssh $host 'uname -a'
done < hosts.txt

Sauf que la boucle prenait fin après la première itération. J'ai mis un peu de temps à comprendre ce qui se passait, mais finalement l'explication est logique.

  1. La boucle while prend en entrée (< stdin) le contenu du fichier hosts.txt.
  2. Ensuite, SSH prend tout le reste de ce qui se trouve dans stdin.
  3. A la fin de la première itération, il n'y a donc plus rien dans stdin et la boucle prend fin.

La solution est dans le man de SSH

-n      Redirects stdin from /dev/null (actually, prevents reading
        from stdin).  This must be used when ssh is run in the back‐
        ground.  A common trick is to use this to run X11 programs on
        a remote machine.  For example, ssh -n shadows.cs.hut.fi
        emacs & will start an emacs on shadows.cs.hut.fi, and the X11
        connection will be automatically forwarded over an encrypted
        channel.  The ssh program will be put in the background.
        (This does not work if ssh needs to ask for a password or
        passphrase; see also the -f option.)

Cela fonctionnera mieux ainsi

while read host
do
    ssh -n $host 'uname -a'
done < hosts.txt

Tags : shell unix ssh

December 30 2021, 14:42#

The Best of 2017 by Borrtex | Mix Of Best Soundtrack Music ♫ - YouTube

Lien : https://www.youtube.com/watch?v=Opk4poKc4mk

This year was life-changing for me and I want to share with you the very best composing moments I had in 2017!! 😌 🎵Buy the whole album on Bandcamp: 🔥👉 ht...

Tags : musique borrtex

December 30 2021, 14:39#

Presse-citron

Lien : https://www.presse-citron.net/ajouter-de-la-ram-pourrait-bientot-prolonger-lautonomie-de-votre-pc-portable/

Baptisé Resistive RAM, un nouveau type de mémoire vive s'apprête à débarquer sur le marché. Sa particularité ? L'information est stockée sous forme d'énergie. Du coup, ces nouvelles puces peuvent aussi servir de batteries !

Tags : hardware

January 05 2019, 00:00#

Gérer ses VM bhyve avec vm-bhyve

Pour faire suite à mon billet du 4 janvier, ci-dessous une petite introduction sur la gestion des VM bhyve sous FreeBSD avec vm-bhyve.

L'objectif est le même que celui de mon précédent billet, virtualiser une machine Debian sous FreeBSD à l'aide de bhyve.

Les instructions suivantes sont à exécuter en tant que root.

Préparation de l'hôte

Installation de vm-bhyve

pkg install grub2-bhyve vm-bhyve
sysrc vm_enable=YES
sysrc vm_delay=5
sysrc vm_dir=/bhyve

Charger les modules noyau nécessaires

kldload nmdm vmm if_tap if_bridge

Persistance

sysrc -f /boot/loader.conf nmdm_load=YES
sysrc -f /boot/loader.conf vmm_load=YES
sysrc -f /boot/loader.conf if_tap_load=YES
sysrc -f /boot/loader.conf if_bridge_load=YES

Initialisation

mkdir /bhyve
vm init

vm-bhyve fournit des modèles de machine. Pour les récupérer :

cp /usr/local/share/examples/vm-bhyve/* /bhyve/.templates/

Création d'un pont réseau avec l'interface physique em0.

vm switch create public
vm switch add public em0

Créer une VM Debian

  • Nom d'hôte : exemple
  • Mémoire : selon le modèle /bhyve/.templates/debian.conf
  • Taille du disque virtuel : 16G
  • Système d'exploitation : Debian GNU/Linux Stretch
  • Image d'installation : debian-9.6.0-amd64-netinst.iso

Récupération de l'image d'installation

vm iso https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.6.0-amd64-netinst.iso

Création de la VM

vm create -t debian -s 16G exemple

Installation du système

vm -f install exemple debian-9.6.0-amd64-netinst.iso

Gérer une VM

Se connecter à la console de la VM

vm console exemple

Se déconnecter de la console

Pour se déconnecter de la console, il faut être logué sur le système invité, puis utiliser la combinaison ~+Ctrl-D. Cela ne fonctionne pas depuis l'invite de connexion du système invité, d'où la nécessité d'être logué. Plus d'info dans man 1 cu.

Stopper la VM

vm stop exemple

Démarrer la VM

vm start exemple

Lister les VMs

vm list

Supprimer une VM

vm stop exemple
vm destroy exemple

Liens utiles

Tags : unix freebsd bhyve virtualisation

January 04 2019, 00:00#

bhyve pour virtualiser une machine Debian

Pour démarrer la nouvelle année, j'ai pas trouvé mieux à faire que de me lancer dans la virtualisation sous FreeBSD avec bhyve. Ci-dessous, un petit guide qui reprend en partie les lignes du manuel de FreeBSD.

Les instructions sont à exécuter en tant que root.

Préparation de l'hôte

Création des répertoires

mkdir -p /bhyve/{vm,iso}

Charger les modules noyau nécessaires à bhyve

kldload nmdm vmm

Création de l'interface tap0 pour connecter le périphérique réseau virtuel de la VM.

kldload if_tap
ifconfig tap0 create
sysctl net.link.tap.up_on_open=1

Création d'un pont réseau bridge0 ayant pour membres l'interface tap0 et l'interface physique. Dans cet exemple, l'interface physique est em0.

kldload if_bridge
ifconfig bridge0 create
ifconfig bridge0 addm em0 addm tap0
ifconfig bridge0 up

Persistance

sysrc -f /boot/loader.conf nmdm_load=YES
sysrc -f /boot/loader.conf vmm_load=YES
sysrc -f /boot/loader.conf if_tap_load=YES
sysrc -f /boot/loader.conf if_bridge_load=YES
sysrc cloned_interfaces+="bridge0 tap0"
sysrc ifconfig_bridge0="addm em0 addm tap0"
echo 'net.link.tap.up_on_open=1' >> /etc/sysctl.conf

Créer une VM Debian

  • Nom d'hôte : exemple
  • Mémoire : 1024M
  • Système d'exploitation : Debian GNU/Linux Stretch
  • Image d'installation : debian-9.6.0-amd64-netinst.iso

Préparation

Prérequis

mkdir -p /bhyve/vm/exemple
pkg inst grub2-bhyve

Récupération de l'image d'installation

cd /bhyve/iso
fetch https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.6.0-amd64-netinst.iso

Création du disque virtuel

cd /bhyve/vm/exemple
truncate -s 16G disk.img

Création de la carte des périphériques

edit /bhyve/vm/exemple/device.map

(hd0) /bhyve/vm/exemple/disk.img
(cd0) /bhyve/iso/debian-9.6.0-amd64-netinst.iso

Installation du système

Charger le noyau Linux depuis l'image d'installation

grub-bhyve -m /bhyve/vm/exemple/device.map -r cd0 -M 1024M exemple

La commande ci-dessus démarre Grub. Si l'image d'installation contient un fichier grub.cfg, un menu devrait apparaître. Si ce n'est pas le cas, les fichiers vmlinuz et initrd doivent être localisés et chargés manuellement.

grub> ls
grub> ls (cd0)/isolinux
grub> linux (cd0)/isolinux/vmlinuz
grub> initrd (cd0)/isolinux/initrd.img
grub> boot

Sélectionner l'option d'installation dans le menu Grub. L'invite de commande de FreeBSD devrait réapparaître.

Démarrer la VM et l'installation du système

bhyve -A -H -P \
-s 0:0,hostbridge \
-s 1:0,lpc \
-s 2:0,virtio-net,tap0 \
-s 3:0,virtio-blk,/bhyve/vm/exemple/disk.img \
-s 4:0,ahci-cd,/bhyve/iso/debian-9.6.0-amd64-netinst.iso \
-l com1,stdio -c 1 -m 1024M exemple

Après l'installation du système, un redémarrage de la machine est nécessaire et cela va entraîner la sortie de bhyve.

L'instance de la VM doit être détruite avant de redémarrer à nouveau

bhyvectl --destroy --vm=exemple

Démarrage

À présent la VM peut être démarrée directement depuis le disque virtuel. À nouveau, il faut avant tout charger le noyau.

grub-bhyve -m /bhyve/vm/exemple/device.map -r hd0,msdos1 -M 1024M exemple

Sélectionner le noyau à lancer dans le menu Grub. L'invite de commande de FreeBSD devrait réapparaître.

Démarrer la VM

bhyve -A -H -P \
-s 0:0,hostbridge \
-s 1:0,lpc \
-s 2:0,virtio-net,tap0 \
-s 3:0,virtio-blk,/bhyve/vm/exemple/disk.img \
-l com1,stdio -c 1 -m 1024M exemple

L'invite de commande de la VM devrait apparaître.

Arrêt

Pour arrêter la VM, il suffit d'ordonner son arrêt à l'aide de poweroff ou reboot, puis, détruire son instance.

bhyvectl --destroy --vm=exemple

Liens utiles

Tags : unix freebsd bhyve virtualisation

November 25 2018, 15:54#

💬1 - Borrtex - Soundtrack Composer

Lien : https://borrtex.com/

Tags : musique

November 11 2018, 00:00#

Compiler Ghostwriter sur FreeBSD

Ghostwriter est un éditeur Markdown plutôt sympa. Ce petit billet couvre la compilation du logiciel sur FreeBSD.

Prérequis

  • Git (git ou git-lite)

Installer les dépendances

sudo pkg install hunspell en-hunspell pkgconf qt5-svg qt5-multimedia \
qt5-webkit qt5-concurrent qt5-printsupport qt5-buildtools qt5-qmake \
qt5-linguist

Récupérer les sources

git clone https://github.com/wereturtle/ghostwriter

Compiler et installer

cd ghostwriter
qmake
make
sudo make install

Tags : unix freebsd markdown logiciel

September 27 2018, 08:22#

🆅🅴🆁🄼🄰🄳🅔🅝 | Another ${RANDOM} sysadmin sharing his experiences of work at IT industry.

Lien : https://vermaden.wordpress.com/

Tags : blog unix freebsd