From 420ceb49b53a8fa9d8ba8443e42e50cd7bd7cea9 Mon Sep 17 00:00:00 2001 From: Philip Wittamore Date: Sun, 12 Jul 2026 11:08:50 +0200 Subject: update --- articles/2021/Alacritty.html | 37 ++++ articles/2021/Arch-LTS-kernel.html | 45 +++++ articles/2021/Arch-Linux.html | 36 ++++ .../Biblioth\303\250que-Nationale-de-France.html" | 27 +++ "articles/2021/Bol-en-ch\303\252ne-de-28cm.html" | 28 +++ articles/2021/Boxe-pour-chevaux-jouets.html | 26 +++ .../Ce-que-l'Europe-\303\240-fait-pour-moi.html" | 37 ++++ articles/2021/Certbot-delete.html | 30 +++ articles/2021/Coupure-microphone-X220.html | 53 ++++++ .../2021/Deux-maisons-de-poup\303\251es.html" | 27 +++ "articles/2021/Exp\303\251riment.html" | 28 +++ .../Fabriquez-votre-propre-ordinateur-portable.htm | 53 ++++++ articles/2021/Fugitive-Telemetry.html | 29 +++ articles/2021/GeoIP2-et-Goaccess.html | 33 ++++ "articles/2021/Grande-vase-en-ch\303\252ne.html" | 29 +++ articles/2021/Intel-Thermald.html | 46 +++++ ...s---une-interface-alternative-pour-Youtube.html | 28 +++ "articles/2021/Jitsi-vid\303\251oconference.html" | 37 ++++ articles/2021/La-grande-illusion.html | 28 +++ .../2021/Le-Jardin-de-Tonton-Lo\303\257c.html" | 28 +++ .../Lnav---ma\303\256triser-vos-journaux.html" | 36 ++++ articles/2021/Mbsync-push.html | 34 ++++ ...ec-but\303\251e-d\342\200\231arr\303\252t.html" | 27 +++ ...ur-sur-la-r\303\251gulation-du-processeur.html" | 79 ++++++++ articles/2021/Nerdfonts-in-i3.html | 34 ++++ articles/2021/Nginx-permission-denied.html | 32 ++++ .../2021/Nouvel-\303\251tabli-pour-l'atelier.html" | 28 +++ articles/2021/Odysee.html | 36 ++++ articles/2021/Photo-de-mon-atelier.html | 27 +++ ...-\303\240-d\303\251couper-en-bois-de-bout.html" | 26 +++ articles/2021/Project-Hail-Mary.html | 28 +++ articles/2021/Pyradio.html | 30 +++ .../2021/Scie-\303\240-ruban-fait-maison-(1).html" | 31 +++ .../2021/Scie-\303\240-ruban-fait-maison-(2).html" | 27 +++ .../2021/Scie-\303\240-ruban-fait-maison-(3).html" | 26 +++ .../2021/Scie-\303\240-ruban-fait-maison-(4).html" | 28 +++ .../2021/Scie-\303\240-ruban-fait-maison-(5).html" | 26 +++ .../2021/Scie-\303\240-ruban-fait-maison-(6).html" | 30 +++ articles/2021/Science-et-Vie.html | 27 +++ ...Sous-plat-avec-incrustation-epoxy-Milliput.html | 26 +++ articles/2021/TLS-handshake-failure.html | 31 +++ articles/2021/Thinkpad-X200.html | 31 +++ articles/2021/Thinkpad-X220.html | 38 ++++ ...51l\303\251charger-musique-depuis-Youtube.html" | 29 +++ articles/2021/Un-espion-dans-ma-poche.html | 41 ++++ articles/2021/Une-balancoire-pour-Barbie.html | 26 +++ articles/2021/Update.html | 35 ++++ articles/2021/Wiby.html | 26 +++ articles/2021/ZRAM.html | 34 ++++ articles/2021/Zellij-Terminal-Workspace.html | 30 +++ articles/2021/erreurs-spamass-milter.html | 43 +++++ articles/2021/i3-Blocks.html | 50 +++++ articles/2021/spamass-milter-error.html | 56 ++++++ articles/2021/web-bloat.html | 43 +++++ articles/2021/wittr.in.html | 33 ++++ "articles/2021/\303\211tau-de-recup.html" | 28 +++ .../Scie-\303\240-ruban-fait-maison-(10).html" | 29 +++ .../Scie-\303\240-ruban-fait-maison-(11).html" | 29 +++ .../Scie-\303\240-ruban-fait-maison-(12).html" | 27 +++ .../2022/Scie-\303\240-ruban-fait-maison-(7).html" | 30 +++ .../2022/Scie-\303\240-ruban-fait-maison-(8).html" | 27 +++ .../2022/Scie-\303\240-ruban-fait-maison-(9).html" | 27 +++ articles/2022/mailcow.html | 31 +++ articles/2023/1vyrain.html | 85 +++++++++ articles/2023/Bitwarden-RBW-blues.html | 50 +++++ articles/2023/Chimera's-Star.html | 27 +++ articles/2023/Death-of-the-web.html | 36 ++++ .../2023/Firefox-Multi-Account-Containers.html | 45 +++++ .../Forget-VTech,-get-an-old-laptop-instead.html | 32 ++++ .../2023/Gemini---The-protocol-not-the-AI.html | 60 ++++++ .../2023/In-2024,-please-switch-to-Firefox.html | 25 +++ articles/2023/Little-Doggies.html | 39 ++++ articles/2023/Marginalia-search-engine.html | 34 ++++ articles/2023/Need-a-long-walk.html | 29 +++ articles/2023/Web-1.5.html | 86 +++++++++ .../2023/Web-site-stats-better-without-Google.html | 28 +++ articles/2023/ascii-art.html | 38 ++++ articles/2023/connerie-des-dates-limites.html | 25 +++ articles/2023/debian-or-arch.html | 38 ++++ articles/2023/drm-et-firefox.html | 39 ++++ articles/2023/evil-empire.html | 38 ++++ articles/2023/fixing-25-second-firefox-delay.html | 45 +++++ articles/2023/hardening-firefox.html | 47 +++++ articles/2023/images-in-xterm-emulators.html | 45 +++++ articles/2023/jersey-before.html | 26 +++ articles/2023/kind-of-blue.html | 52 ++++++ articles/2023/linux-paradise.html | 28 +++ articles/2023/map-of-langourla.html | 35 ++++ articles/2023/mer-des-faluns.html | 30 +++ articles/2023/micro-text-editor.html | 34 ++++ articles/2023/minimalist-blog.html | 87 +++++++++ articles/2023/ms-eu-fine.html | 34 ++++ articles/2023/new-television.html | 41 ++++ .../2023/newsboat-strip-junk-from-web-pages.html | 46 +++++ articles/2023/noyb-files-gdpr-comp.html | 42 +++++ articles/2023/nuclear-sabotage.html | 47 +++++ articles/2023/obscurantism.html | 26 +++ articles/2023/pacman-yay-notes.html | 33 ++++ articles/2023/password-store-remote.html | 38 ++++ articles/2023/password-store-to-bitwarden.html | 79 ++++++++ articles/2023/periodic-fstrim-on-ssd-drives.html | 40 ++++ articles/2023/prettier-when-it-works.html | 50 +++++ ...protecting-your-computer-with-a-hosts-file.html | 42 +++++ articles/2023/quad-9.html | 30 +++ articles/2023/radio-jazz-soul.html | 27 +++ articles/2023/saint-catherine.html | 37 ++++ articles/2023/searxng-a-private-search-engine.html | 35 ++++ articles/2023/searxng-on-my-laptop.html | 59 ++++++ articles/2023/system-collapse.html | 33 ++++ articles/2023/t430-cpu-upgrade.html | 41 ++++ articles/2023/t430-cpu-upgrade.html~ | 38 ++++ articles/2023/thinkpad-t430.html | 48 +++++ .../2023/updating-my-thinkpad-t430-wifi-card.html | 67 +++++++ articles/2023/windowmaker-0.96.html | 48 +++++ articles/2023/windowmaker-in-1998.html | 35 ++++ articles/2024/A-new-lathe.html | 32 ++++ articles/2024/Another-Oland-tool.html | 29 +++ ...ort-perc\303\251-pour-bougie-chauffe-plat.html" | 27 +++ .../2025/A-fledgling-bash-function-library.html | 33 ++++ .../2025/AC7260-wifi-card-on-Thinkpad-X220.html | 36 ++++ articles/2025/Amazon-playing-silly-buggers.html | 39 ++++ articles/2025/Anacron-on-Artix.html | 93 +++++++++ articles/2025/Annoying-touchpad.html | 35 ++++ articles/2025/Archwiki-on-my-laptop.html | 38 ++++ articles/2025/Back-to-the-future.html | 37 ++++ articles/2025/Bash-prompt-without-scripts.html | 37 ++++ articles/2025/Betterfox.html | 28 +++ articles/2025/Blog-scripts.html | 44 +++++ articles/2025/Bringing-back-the-fun.html | 34 ++++ articles/2025/Browser-choices.html | 45 +++++ articles/2025/Carbide-tools-for-wood-turning.html | 45 +++++ articles/2025/Chaotic-Aur.html | 43 +++++ .../2025/Closing-laptop-lid-without-suspend.html | 44 +++++ .../Cpu-scaling-governors-on-Thinkpax-X220.html | 31 +++ .../2025/DNS4U-European-DNS-servers-go-live.html | 35 ++++ .../2025/DWM-Dunst-and-Thinkpad-audio-keys.html | 113 +++++++++++ articles/2025/DWM-circulate-through-tags.html | 196 +++++++++++++++++++ articles/2025/DWM-slstatus.html | 46 +++++ articles/2025/Daft-poems.html | 34 ++++ articles/2025/Debian-12-to-13-upgrade.html | 32 ++++ articles/2025/Detrumpez-vous.html | 34 ++++ articles/2025/Dmenu-updates.html | 46 +++++ articles/2025/Dwmblocks.html | 38 ++++ .../Enable-Arch-Extra-repository-in-Artix.html | 49 +++++ articles/2025/Eza.html | 32 ++++ .../Fixing-my-dad's-Stanley-8-CFW-lock-plane.html | 38 ++++ articles/2025/Flowers-for-the-bees.html | 35 ++++ articles/2025/France-rejects-backdoors.html | 26 +++ articles/2025/Ghostty.html | 35 ++++ articles/2025/Git-repository.html | 32 ++++ articles/2025/Gopher-it.html | 34 ++++ ...ers-list-of-Text-only-minimalist-web-sites.html | 26 +++ articles/2025/Hard-disk-fail.html | 28 +++ articles/2025/Headless-Arch-Install.html | 40 ++++ articles/2025/Html-center-element.html | 42 +++++ .../Install-the-Chawan-text-browser-on-Artix.html | 42 +++++ articles/2025/Jazz-radio-recording-from-1976.html | 47 +++++ articles/2025/Koreader-for-e-ink-devices.html | 32 ++++ articles/2025/Ladybird-web-browser.html | 35 ++++ articles/2025/Les-Oiseaux-des-Jardins.html | 32 ++++ articles/2025/Linux-System-Performance-Tuning.html | 27 +++ articles/2025/Linux-power-consumption-control.html | 35 ++++ articles/2025/Lynx,-Gopher,-and-video-files.html | 102 ++++++++++ .../2025/Mailcow-Docker-too-many-requests.html | 38 ++++ ...Mailcow-with-Nginx-reverse-proxy-(updated).html | 31 +++ .../2025/Mailcow-with-Nginx-reverse-proxy.html | 207 +++++++++++++++++++++ articles/2025/Menu-editor-for-XFCE4.html | 26 +++ .../Microphone-distortion-on-Thinkpad-X220.html | 38 ++++ articles/2025/Modified-dwm-bar-battery-script.html | 80 ++++++++ articles/2025/My-gopher-site.html | 35 ++++ articles/2025/Naked-DWM.html | 101 ++++++++++ articles/2025/Neomutt-as-default-in-XFCE4.html | 47 +++++ articles/2025/New-builds-of-dwm-and-st.html | 35 ++++ articles/2025/Newsboat-and-gopher-RSS-feeds.html | 36 ++++ articles/2025/Oddly-useful-Linux-tools.html | 50 +++++ articles/2025/Pipewire.html | 62 ++++++ articles/2025/Power-notifications.html | 31 +++ articles/2025/Powerline-Bash.html | 27 +++ .../RSS-feeds-that-don't-suck-on-terminals.html | 83 +++++++++ articles/2025/Reducing-web-font-size.html | 39 ++++ articles/2025/Replace-sudo-with-doas-on-Artix.html | 92 +++++++++ .../2025/Rsync-backup-to-Synology-Diskstation.html | 46 +++++ articles/2025/Screen-scaling-with-xrandr.html | 44 +++++ articles/2025/Shellcheck-your-bash-scripts.html | 36 ++++ .../Simplex-a-decentralised-private-messenger.html | 29 +++ articles/2025/Slim-fork-login-manager.html | 35 ++++ .../Slstatus-date-with-alternative-locale.html | 59 ++++++ articles/2025/Starship-prompt.html | 34 ++++ articles/2025/Stick-it-to-the-man.html | 36 ++++ .../TLP-recalibration-error-on-Thinkpad-X220.html | 29 +++ articles/2025/Taking-the-leap-to-Artix.html | 45 +++++ articles/2025/Terminal-Trove.html | 29 +++ articles/2025/The-Mote-in-God's-eye.html | 36 ++++ articles/2025/The-last-thing-the-EU-needs-....html | 31 +++ articles/2025/The-universe-is-spinning.html | 55 ++++++ articles/2025/Thinkpad-T430-screen-upgrade.html | 33 ++++ articles/2025/Thinkpad-X220-Fan-control.html | 30 +++ articles/2025/Thinkvantage-button-in-DWM.html | 41 ++++ articles/2025/Thoughts-on-suckless.html | 46 +++++ articles/2025/Thoughts-on-zsh.html | 40 ++++ articles/2025/Toggle-screen-resolution-in-DWM.html | 35 ++++ articles/2025/Touchpad-deactivation.html | 58 ++++++ .../2025/Traditional-screenshot-of-my-X220.html | 28 +++ .../Try-different-versions-of-Linux-online.html | 33 ++++ articles/2025/Updated-cgit-server.html | 35 ++++ .../2025/Upload-modified-blog-files-with-scp.html | 65 +++++++ .../2025/Using-Goaccess-to-view-web-stats.html | 32 ++++ articles/2025/VPS-management.html | 33 ++++ .../2025/What-to-do-with-an-unused-Kindle.html | 33 ++++ .../Why-does-everything-feel-so-boring-now.html | 48 +++++ articles/2025/Wifi-region.html | 33 ++++ articles/2025/Window-manager-thoughts.html | 47 +++++ articles/2025/Workshop-Air-Cleaner.html | 29 +++ .../2025/X220-internal-Bluetooth-controller.html | 38 ++++ articles/2025/Xlibre-on-my-X220.html | 34 ++++ articles/2025/dwm-windowmanager-1.html | 46 +++++ articles/2025/dwm-windowmanager-2.html | 64 +++++++ articles/2025/dwmblocks-with-emoji-icons.html | 50 +++++ articles/2026/De-Gaulle---Two-films.html | 63 +++++++ articles/2026/Filtering-the-web.html | 62 ++++++ articles/2026/Freedos-thoughts.html | 43 +++++ articles/2026/From-minimalist-to-smolweb.html | 43 +++++ articles/2026/Funeral-blues.html | 57 ++++++ articles/2026/Ghostbsd-installation.html | 92 +++++++++ articles/2026/Hebdogiciel.html | 51 +++++ .../2026/Installation-of-Snac2-on-Artix-Linux.html | 144 ++++++++++++++ .../2026/Ladybird-turns-into-a-squashed-bug.html | 45 +++++ articles/2026/Living-on-Snac's-bleeding-edge.html | 60 ++++++ articles/2026/More-on-Dillo.html | 36 ++++ articles/2026/My-own-private-search-engine.html | 54 ++++++ articles/2026/Oops!-I-did-it-again.html | 46 +++++ .../2026/This-blog-wasn't-so-bad-after-all.html | 46 +++++ articles/2026/Updated-blogthis-script.html | 38 ++++ articles/2026/Updated-poem.html | 45 +++++ .../2026/Web-sites-that-work-well-in-Dillo.html | 60 ++++++ .../2026/displaying-MATE-on-a-1366x768-screen.html | 73 ++++++++ articles/2026/semware-tse-editor.html | 44 +++++ articles/2026/smolweb-validation-in-Dillo.html | 57 ++++++ articles/2026/upgrade-to-dwm-6.8.html | 49 +++++ articles/test.html | 3 + 240 files changed, 10133 insertions(+) create mode 100755 articles/2021/Alacritty.html create mode 100755 articles/2021/Arch-LTS-kernel.html create mode 100755 articles/2021/Arch-Linux.html create mode 100755 "articles/2021/Biblioth\303\250que-Nationale-de-France.html" create mode 100755 "articles/2021/Bol-en-ch\303\252ne-de-28cm.html" create mode 100755 articles/2021/Boxe-pour-chevaux-jouets.html create mode 100755 "articles/2021/Ce-que-l'Europe-\303\240-fait-pour-moi.html" create mode 100755 articles/2021/Certbot-delete.html create mode 100755 articles/2021/Coupure-microphone-X220.html create mode 100755 "articles/2021/Deux-maisons-de-poup\303\251es.html" create mode 100755 "articles/2021/Exp\303\251riment.html" create mode 100755 articles/2021/Fabriquez-votre-propre-ordinateur-portable.htm create mode 100755 articles/2021/Fugitive-Telemetry.html create mode 100755 articles/2021/GeoIP2-et-Goaccess.html create mode 100755 "articles/2021/Grande-vase-en-ch\303\252ne.html" create mode 100755 articles/2021/Intel-Thermald.html create mode 100755 articles/2021/Invidious---une-interface-alternative-pour-Youtube.html create mode 100755 "articles/2021/Jitsi-vid\303\251oconference.html" create mode 100755 articles/2021/La-grande-illusion.html create mode 100755 "articles/2021/Le-Jardin-de-Tonton-Lo\303\257c.html" create mode 100755 "articles/2021/Lnav---ma\303\256triser-vos-journaux.html" create mode 100755 articles/2021/Mbsync-push.html create mode 100755 "articles/2021/Mini-chariot-avec-but\303\251e-d\342\200\231arr\303\252t.html" create mode 100755 "articles/2021/Mise-\303\240-jour-sur-la-r\303\251gulation-du-processeur.html" create mode 100755 articles/2021/Nerdfonts-in-i3.html create mode 100755 articles/2021/Nginx-permission-denied.html create mode 100755 "articles/2021/Nouvel-\303\251tabli-pour-l'atelier.html" create mode 100755 articles/2021/Odysee.html create mode 100755 articles/2021/Photo-de-mon-atelier.html create mode 100755 "articles/2021/Planche-\303\240-d\303\251couper-en-bois-de-bout.html" create mode 100755 articles/2021/Project-Hail-Mary.html create mode 100755 articles/2021/Pyradio.html create mode 100755 "articles/2021/Scie-\303\240-ruban-fait-maison-(1).html" create mode 100755 "articles/2021/Scie-\303\240-ruban-fait-maison-(2).html" create mode 100755 "articles/2021/Scie-\303\240-ruban-fait-maison-(3).html" create mode 100755 "articles/2021/Scie-\303\240-ruban-fait-maison-(4).html" create mode 100755 "articles/2021/Scie-\303\240-ruban-fait-maison-(5).html" create mode 100755 "articles/2021/Scie-\303\240-ruban-fait-maison-(6).html" create mode 100755 articles/2021/Science-et-Vie.html create mode 100755 articles/2021/Sous-plat-avec-incrustation-epoxy-Milliput.html create mode 100755 articles/2021/TLS-handshake-failure.html create mode 100755 articles/2021/Thinkpad-X200.html create mode 100755 articles/2021/Thinkpad-X220.html create mode 100755 "articles/2021/T\303\251l\303\251charger-musique-depuis-Youtube.html" create mode 100755 articles/2021/Un-espion-dans-ma-poche.html create mode 100755 articles/2021/Une-balancoire-pour-Barbie.html create mode 100755 articles/2021/Update.html create mode 100755 articles/2021/Wiby.html create mode 100755 articles/2021/ZRAM.html create mode 100755 articles/2021/Zellij-Terminal-Workspace.html create mode 100755 articles/2021/erreurs-spamass-milter.html create mode 100755 articles/2021/i3-Blocks.html create mode 100755 articles/2021/spamass-milter-error.html create mode 100755 articles/2021/web-bloat.html create mode 100755 articles/2021/wittr.in.html create mode 100755 "articles/2021/\303\211tau-de-recup.html" create mode 100755 "articles/2022/Scie-\303\240-ruban-fait-maison-(10).html" create mode 100755 "articles/2022/Scie-\303\240-ruban-fait-maison-(11).html" create mode 100755 "articles/2022/Scie-\303\240-ruban-fait-maison-(12).html" create mode 100755 "articles/2022/Scie-\303\240-ruban-fait-maison-(7).html" create mode 100755 "articles/2022/Scie-\303\240-ruban-fait-maison-(8).html" create mode 100755 "articles/2022/Scie-\303\240-ruban-fait-maison-(9).html" create mode 100755 articles/2022/mailcow.html create mode 100755 articles/2023/1vyrain.html create mode 100755 articles/2023/Bitwarden-RBW-blues.html create mode 100755 articles/2023/Chimera's-Star.html create mode 100755 articles/2023/Death-of-the-web.html create mode 100755 articles/2023/Firefox-Multi-Account-Containers.html create mode 100755 articles/2023/Forget-VTech,-get-an-old-laptop-instead.html create mode 100755 articles/2023/Gemini---The-protocol-not-the-AI.html create mode 100755 articles/2023/In-2024,-please-switch-to-Firefox.html create mode 100755 articles/2023/Little-Doggies.html create mode 100755 articles/2023/Marginalia-search-engine.html create mode 100755 articles/2023/Need-a-long-walk.html create mode 100755 articles/2023/Web-1.5.html create mode 100755 articles/2023/Web-site-stats-better-without-Google.html create mode 100755 articles/2023/ascii-art.html create mode 100755 articles/2023/connerie-des-dates-limites.html create mode 100755 articles/2023/debian-or-arch.html create mode 100755 articles/2023/drm-et-firefox.html create mode 100755 articles/2023/evil-empire.html create mode 100755 articles/2023/fixing-25-second-firefox-delay.html create mode 100755 articles/2023/hardening-firefox.html create mode 100755 articles/2023/images-in-xterm-emulators.html create mode 100755 articles/2023/jersey-before.html create mode 100755 articles/2023/kind-of-blue.html create mode 100755 articles/2023/linux-paradise.html create mode 100755 articles/2023/map-of-langourla.html create mode 100755 articles/2023/mer-des-faluns.html create mode 100755 articles/2023/micro-text-editor.html create mode 100755 articles/2023/minimalist-blog.html create mode 100755 articles/2023/ms-eu-fine.html create mode 100755 articles/2023/new-television.html create mode 100755 articles/2023/newsboat-strip-junk-from-web-pages.html create mode 100755 articles/2023/noyb-files-gdpr-comp.html create mode 100755 articles/2023/nuclear-sabotage.html create mode 100755 articles/2023/obscurantism.html create mode 100755 articles/2023/pacman-yay-notes.html create mode 100755 articles/2023/password-store-remote.html create mode 100755 articles/2023/password-store-to-bitwarden.html create mode 100755 articles/2023/periodic-fstrim-on-ssd-drives.html create mode 100755 articles/2023/prettier-when-it-works.html create mode 100755 articles/2023/protecting-your-computer-with-a-hosts-file.html create mode 100755 articles/2023/quad-9.html create mode 100755 articles/2023/radio-jazz-soul.html create mode 100755 articles/2023/saint-catherine.html create mode 100755 articles/2023/searxng-a-private-search-engine.html create mode 100755 articles/2023/searxng-on-my-laptop.html create mode 100755 articles/2023/system-collapse.html create mode 100755 articles/2023/t430-cpu-upgrade.html create mode 100755 articles/2023/t430-cpu-upgrade.html~ create mode 100755 articles/2023/thinkpad-t430.html create mode 100755 articles/2023/updating-my-thinkpad-t430-wifi-card.html create mode 100755 articles/2023/windowmaker-0.96.html create mode 100755 articles/2023/windowmaker-in-1998.html create mode 100755 articles/2024/A-new-lathe.html create mode 100755 articles/2024/Another-Oland-tool.html create mode 100755 "articles/2024/support-perc\303\251-pour-bougie-chauffe-plat.html" create mode 100755 articles/2025/A-fledgling-bash-function-library.html create mode 100755 articles/2025/AC7260-wifi-card-on-Thinkpad-X220.html create mode 100755 articles/2025/Amazon-playing-silly-buggers.html create mode 100755 articles/2025/Anacron-on-Artix.html create mode 100755 articles/2025/Annoying-touchpad.html create mode 100755 articles/2025/Archwiki-on-my-laptop.html create mode 100755 articles/2025/Back-to-the-future.html create mode 100755 articles/2025/Bash-prompt-without-scripts.html create mode 100755 articles/2025/Betterfox.html create mode 100755 articles/2025/Blog-scripts.html create mode 100755 articles/2025/Bringing-back-the-fun.html create mode 100755 articles/2025/Browser-choices.html create mode 100755 articles/2025/Carbide-tools-for-wood-turning.html create mode 100755 articles/2025/Chaotic-Aur.html create mode 100755 articles/2025/Closing-laptop-lid-without-suspend.html create mode 100755 articles/2025/Cpu-scaling-governors-on-Thinkpax-X220.html create mode 100755 articles/2025/DNS4U-European-DNS-servers-go-live.html create mode 100755 articles/2025/DWM-Dunst-and-Thinkpad-audio-keys.html create mode 100755 articles/2025/DWM-circulate-through-tags.html create mode 100755 articles/2025/DWM-slstatus.html create mode 100755 articles/2025/Daft-poems.html create mode 100755 articles/2025/Debian-12-to-13-upgrade.html create mode 100755 articles/2025/Detrumpez-vous.html create mode 100755 articles/2025/Dmenu-updates.html create mode 100755 articles/2025/Dwmblocks.html create mode 100755 articles/2025/Enable-Arch-Extra-repository-in-Artix.html create mode 100755 articles/2025/Eza.html create mode 100755 articles/2025/Fixing-my-dad's-Stanley-8-CFW-lock-plane.html create mode 100755 articles/2025/Flowers-for-the-bees.html create mode 100755 articles/2025/France-rejects-backdoors.html create mode 100755 articles/2025/Ghostty.html create mode 100755 articles/2025/Git-repository.html create mode 100755 articles/2025/Gopher-it.html create mode 100755 articles/2025/Greycoders-list-of-Text-only-minimalist-web-sites.html create mode 100755 articles/2025/Hard-disk-fail.html create mode 100755 articles/2025/Headless-Arch-Install.html create mode 100755 articles/2025/Html-center-element.html create mode 100755 articles/2025/Install-the-Chawan-text-browser-on-Artix.html create mode 100755 articles/2025/Jazz-radio-recording-from-1976.html create mode 100755 articles/2025/Koreader-for-e-ink-devices.html create mode 100755 articles/2025/Ladybird-web-browser.html create mode 100755 articles/2025/Les-Oiseaux-des-Jardins.html create mode 100755 articles/2025/Linux-System-Performance-Tuning.html create mode 100755 articles/2025/Linux-power-consumption-control.html create mode 100755 articles/2025/Lynx,-Gopher,-and-video-files.html create mode 100755 articles/2025/Mailcow-Docker-too-many-requests.html create mode 100755 articles/2025/Mailcow-with-Nginx-reverse-proxy-(updated).html create mode 100755 articles/2025/Mailcow-with-Nginx-reverse-proxy.html create mode 100755 articles/2025/Menu-editor-for-XFCE4.html create mode 100755 articles/2025/Microphone-distortion-on-Thinkpad-X220.html create mode 100755 articles/2025/Modified-dwm-bar-battery-script.html create mode 100755 articles/2025/My-gopher-site.html create mode 100755 articles/2025/Naked-DWM.html create mode 100755 articles/2025/Neomutt-as-default-in-XFCE4.html create mode 100755 articles/2025/New-builds-of-dwm-and-st.html create mode 100755 articles/2025/Newsboat-and-gopher-RSS-feeds.html create mode 100755 articles/2025/Oddly-useful-Linux-tools.html create mode 100755 articles/2025/Pipewire.html create mode 100755 articles/2025/Power-notifications.html create mode 100755 articles/2025/Powerline-Bash.html create mode 100755 articles/2025/RSS-feeds-that-don't-suck-on-terminals.html create mode 100755 articles/2025/Reducing-web-font-size.html create mode 100755 articles/2025/Replace-sudo-with-doas-on-Artix.html create mode 100755 articles/2025/Rsync-backup-to-Synology-Diskstation.html create mode 100755 articles/2025/Screen-scaling-with-xrandr.html create mode 100755 articles/2025/Shellcheck-your-bash-scripts.html create mode 100755 articles/2025/Simplex-a-decentralised-private-messenger.html create mode 100755 articles/2025/Slim-fork-login-manager.html create mode 100755 articles/2025/Slstatus-date-with-alternative-locale.html create mode 100755 articles/2025/Starship-prompt.html create mode 100755 articles/2025/Stick-it-to-the-man.html create mode 100755 articles/2025/TLP-recalibration-error-on-Thinkpad-X220.html create mode 100755 articles/2025/Taking-the-leap-to-Artix.html create mode 100755 articles/2025/Terminal-Trove.html create mode 100755 articles/2025/The-Mote-in-God's-eye.html create mode 100755 articles/2025/The-last-thing-the-EU-needs-....html create mode 100755 articles/2025/The-universe-is-spinning.html create mode 100755 articles/2025/Thinkpad-T430-screen-upgrade.html create mode 100755 articles/2025/Thinkpad-X220-Fan-control.html create mode 100755 articles/2025/Thinkvantage-button-in-DWM.html create mode 100755 articles/2025/Thoughts-on-suckless.html create mode 100755 articles/2025/Thoughts-on-zsh.html create mode 100755 articles/2025/Toggle-screen-resolution-in-DWM.html create mode 100755 articles/2025/Touchpad-deactivation.html create mode 100755 articles/2025/Traditional-screenshot-of-my-X220.html create mode 100755 articles/2025/Try-different-versions-of-Linux-online.html create mode 100755 articles/2025/Updated-cgit-server.html create mode 100755 articles/2025/Upload-modified-blog-files-with-scp.html create mode 100755 articles/2025/Using-Goaccess-to-view-web-stats.html create mode 100755 articles/2025/VPS-management.html create mode 100755 articles/2025/What-to-do-with-an-unused-Kindle.html create mode 100755 articles/2025/Why-does-everything-feel-so-boring-now.html create mode 100755 articles/2025/Wifi-region.html create mode 100755 articles/2025/Window-manager-thoughts.html create mode 100755 articles/2025/Workshop-Air-Cleaner.html create mode 100755 articles/2025/X220-internal-Bluetooth-controller.html create mode 100755 articles/2025/Xlibre-on-my-X220.html create mode 100755 articles/2025/dwm-windowmanager-1.html create mode 100755 articles/2025/dwm-windowmanager-2.html create mode 100755 articles/2025/dwmblocks-with-emoji-icons.html create mode 100644 articles/2026/De-Gaulle---Two-films.html create mode 100644 articles/2026/Filtering-the-web.html create mode 100644 articles/2026/Freedos-thoughts.html create mode 100644 articles/2026/From-minimalist-to-smolweb.html create mode 100644 articles/2026/Funeral-blues.html create mode 100644 articles/2026/Ghostbsd-installation.html create mode 100644 articles/2026/Hebdogiciel.html create mode 100644 articles/2026/Installation-of-Snac2-on-Artix-Linux.html create mode 100644 articles/2026/Ladybird-turns-into-a-squashed-bug.html create mode 100644 articles/2026/Living-on-Snac's-bleeding-edge.html create mode 100644 articles/2026/More-on-Dillo.html create mode 100644 articles/2026/My-own-private-search-engine.html create mode 100644 articles/2026/Oops!-I-did-it-again.html create mode 100644 articles/2026/This-blog-wasn't-so-bad-after-all.html create mode 100644 articles/2026/Updated-blogthis-script.html create mode 100644 articles/2026/Updated-poem.html create mode 100644 articles/2026/Web-sites-that-work-well-in-Dillo.html create mode 100644 articles/2026/displaying-MATE-on-a-1366x768-screen.html create mode 100644 articles/2026/semware-tse-editor.html create mode 100644 articles/2026/smolweb-validation-in-Dillo.html create mode 100644 articles/2026/upgrade-to-dwm-6.8.html create mode 100755 articles/test.html (limited to 'articles') diff --git a/articles/2021/Alacritty.html b/articles/2021/Alacritty.html new file mode 100755 index 0000000..a31d039 --- /dev/null +++ b/articles/2021/Alacritty.html @@ -0,0 +1,37 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Alacritty

+

2021-05-12

+

image alacritty

+

Lorsque j'ai commencé à utiliser i3 la semaine dernière, +j'ai opté d'utiliser xfce4-terminal pendant que je farfouillais. +Aujourd'hui, je suis passé à Alacritty. Il est écrit en Rust, et est très intéressant.

+

Par exemple , vous pouvez sélectionner du texte dans le terminal sans souris. +Démarrez le mode vi avec Ctrl+Shift+Space et vous pouvez déplacer le curseur avec +les flèches ou hjkl. Pour démarrer la sélection, appuyez sur v, pour copier, +appuyez sur y, pour coller, appuyez sur Ctrl+Shift+v. +Le texte copié va dans le presse-papiers primaire.

+

Si vous utilisez Ranger comme gestionnaire de fichiers, vous pouvez visualiser les images +dans le terminal Alacritty, et c'est vraiment rapide, je peux feuilleter ma collection +de photos sur mon NAS Synology (monté via cifs) avec facilité.

+

Installer avec pacman -S alacritty sur Manjaro ou Arch Linux

+
+
+ + diff --git a/articles/2021/Arch-LTS-kernel.html b/articles/2021/Arch-LTS-kernel.html new file mode 100755 index 0000000..095ecd9 --- /dev/null +++ b/articles/2021/Arch-LTS-kernel.html @@ -0,0 +1,45 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Arch LTS kernel

+

2021-05-28

+

Arch Linux est parfois étiqueté comme étant instable, +mais en réalité ce sont les options de pointe qui peuvent +le rendre instable. J'ai opté pour la stabilité, j'utilise +donc le noyau LTS.

+

Installer le noyeau LTS

+
sudo pacman -S linux-lts
+sudo grub-mkconfig -o /boot/grub/grub.cfg
+sudo reboot
+
+

Retirer le noyeau de pointe

+
sudo pacman -R linux
+sudo grub-mkconfig -o /boot/grub/grub.cfg
+sudo reboot
+
+

+J'ai dû supprimer acpi_call et tp-smapi avant de +retirer le noyau de pointe, et les réinstaller en +utilisant les versions DKMS dans l'AUR. +

+

Why and How to install the LTS kernel in Arch +Linux

+
+
+ + diff --git a/articles/2021/Arch-Linux.html b/articles/2021/Arch-Linux.html new file mode 100755 index 0000000..5803339 --- /dev/null +++ b/articles/2021/Arch-Linux.html @@ -0,0 +1,36 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Arch Linux

+

2021-05-28

+

arch logo

+

Banzaï! Je suis passé de Manjaro Linux à Arch Linux +sur mon X220

+

Manjaro est basé sur Arch, +et est génial pour les nouveaux utilisateurs, mais je voulais la vraie +article.

+

J'ai un peu triché en utilisant l'installateur +calamares +pour éviter 4 jours de configuration manuelle. Bien que vous deviez encore +effectuer un certain nombre d'étapes après avoir utilisé calamares pour +avoir une jolie Linux, l'installation de base est effectuée proprement.

+

J'ai maintenant une installation Arch pure avec le windowmanager i3, Firefox, Telegram, Neomutt, etc.

+
+
+ + diff --git "a/articles/2021/Biblioth\303\250que-Nationale-de-France.html" "b/articles/2021/Biblioth\303\250que-Nationale-de-France.html" new file mode 100755 index 0000000..35ae03b --- /dev/null +++ "b/articles/2021/Biblioth\303\250que-Nationale-de-France.html" @@ -0,0 +1,27 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Bibliothèque Nationale de France

+

2021-04-07

+

La BNF est vraiment une mine d'or. J'étais à la recherche d'informations historiques via Gallica. J'ai trouvé les données très bien présentées et très agréables à utiliser. Voici un exemple de recherche +: Gallica

+

+

+
+ + diff --git "a/articles/2021/Bol-en-ch\303\252ne-de-28cm.html" "b/articles/2021/Bol-en-ch\303\252ne-de-28cm.html" new file mode 100755 index 0000000..91f7751 --- /dev/null +++ "b/articles/2021/Bol-en-ch\303\252ne-de-28cm.html" @@ -0,0 +1,28 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Bol en chêne de 28cm

+

2021-05-14

+

image

+

+De nouveau dans le garage. Fabriqué avec du chêne que mon ami Joël m'a donné. +

+
+
+ + diff --git a/articles/2021/Boxe-pour-chevaux-jouets.html b/articles/2021/Boxe-pour-chevaux-jouets.html new file mode 100755 index 0000000..bd19b12 --- /dev/null +++ b/articles/2021/Boxe-pour-chevaux-jouets.html @@ -0,0 +1,26 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Boxe pour chevaux jouets

+

2021-12-16

+

image

+

le père noël fait des heures supplémentaires.

+
+
+ + diff --git "a/articles/2021/Ce-que-l'Europe-\303\240-fait-pour-moi.html" "b/articles/2021/Ce-que-l'Europe-\303\240-fait-pour-moi.html" new file mode 100755 index 0000000..1d6732b --- /dev/null +++ "b/articles/2021/Ce-que-l'Europe-\303\240-fait-pour-moi.html" @@ -0,0 +1,37 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Ce que l'Europe à fait pour moi

+

2021-05-09

+

Eu Flag

+

Sans l'Union européenne, je n'aurais pas pu vivre et prospérer en France depuis 1995. +Voyager à travers l'Europe pendant mon adolescence m'a ouvert les yeux sur d'autres façons +de vivre et a calmé mon cerveau turbulent. J'ai bénéficié d'une vie sans guerre +(pour laquelle l'UE a reçu le prix Nobel), de la possibilité de voyager et de travailler +librement dans d'autres pays de l'UE, d'une économie stable grâce à l'euro, +et d'un environnement autre que le piège mortel du nationalisme.

+

Joyeux anniversaire l'Europe!

+ +
+
+ + diff --git a/articles/2021/Certbot-delete.html b/articles/2021/Certbot-delete.html new file mode 100755 index 0000000..1ccf064 --- /dev/null +++ b/articles/2021/Certbot-delete.html @@ -0,0 +1,30 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Certbot delete

+

2021-06-03

+

Ce matin, j'ai remarqué que le renouvellement des certificats letsencrypt +sur mon serveur de messagerie a avorté à cause d'un domaine qui n'existe plus. +La suppression manuel du domaine dans /etc/letsencrypt a aggravé la situation, +mais j'ai finalement découvert qu'il existe une commande simple pour le faire +:

+

certbot delete

+
+
+ + diff --git a/articles/2021/Coupure-microphone-X220.html b/articles/2021/Coupure-microphone-X220.html new file mode 100755 index 0000000..9f465b9 --- /dev/null +++ b/articles/2021/Coupure-microphone-X220.html @@ -0,0 +1,53 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Coupure microphone X220

+

2021-05-09

+

Dans mon Thinkpad X22O fonctionnant sous Manjaro i3, la bouton de coupure du micro est +désactivée, car il n'est pas pris en charge par thinkpad-acpi.
+Pour l'activer, voici ce que j'ai fait:

+

Premièrement, vérifier que l'acpi est installé:

+
sudo pacman -S acpi
+

1) créer le fichier /etc/acpi/events/lenovo-mutemic

+
+event=bouton/f20
+action=/etc/acpi/lenovo-mutemic.sh
+
+

2) créez le fichier /etc/acpi/lenovo-mutemic.sh

+
+#!/bin/bash
+INPUT_DEVICE=" 'Capture'"
+VOTRE_USERNAME="philip"
+if amixer sget $INPUT_DEVICE,0 | grep '\[on\]' ; then
+    amixer sset $INPUT_DEVICE,0 toggle
+    echo "0 blink" | sudo tee /proc/acpi/ibm/led
+    DISPLAY=":0.0" notify-send -t 1000 -i microphone-sensibilité-muted-symbolic "Mic MUTED"
+else
+    amixer sset $INPUT_DEVICE,0 toggle                       
+    DISPLAY=":0.0" notify-send -t 1000 -i microphone-sensitivity-high-symbolic "Mic ON"
+    echo "0 on" | sudo tee /proc/acpi/ibm/led 
+fi
+
+

3) redémarrer acpi

+
systemctl restart acpid.service
+

Adapté de réponseAskubuntu.

+
+
+ + diff --git "a/articles/2021/Deux-maisons-de-poup\303\251es.html" "b/articles/2021/Deux-maisons-de-poup\303\251es.html" new file mode 100755 index 0000000..e0934f1 --- /dev/null +++ "b/articles/2021/Deux-maisons-de-poup\303\251es.html" @@ -0,0 +1,27 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Deux maisons de poupées

+

2021-12-06

+

image

+

Deux maisons de poupées pour deux sœurs, l'une droitière, l'autre gauchère. Je les ai fabriquées à partir d'étagères en pin 18mm bon marché et de quelques chutes de bois +dur.

+
+
+ + diff --git "a/articles/2021/Exp\303\251riment.html" "b/articles/2021/Exp\303\251riment.html" new file mode 100755 index 0000000..ce22529 --- /dev/null +++ "b/articles/2021/Exp\303\251riment.html" @@ -0,0 +1,28 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Expériment

+

2021-08-02

+

expérimentation

+

+Je joue avec différentes formes pour voir ce que je peux faire. Ce morceau de chêne a été tourné deux fois, avec 5 mois de séchage entre les deux tournages. +

+
+
+ + diff --git a/articles/2021/Fabriquez-votre-propre-ordinateur-portable.htm b/articles/2021/Fabriquez-votre-propre-ordinateur-portable.htm new file mode 100755 index 0000000..009ce74 --- /dev/null +++ b/articles/2021/Fabriquez-votre-propre-ordinateur-portable.htm @@ -0,0 +1,53 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +

Fabriquez votre propre ordinateur portable?

+
2021-05-11
+

classic keyboard photo

+

Aujourd'hui, nous sommes tous victimes d'ordinateurs portables ultraminces avec des claviers de +pacotille, des boîtiers en plastique bon marché et l'impossibilité de les mettre à niveau en +raison de la soudure de la RAM sur la carte mère, ainsi que la batterie, +etc.

+

Il est si difficile de trouver un ordinateur portable avec un bon clavier que +les anciens ordinateurs portables tels que les Thinkpads X220, T420, W520 etc. +s'arrachent dans le monde entier. Oui, un X220 de 10 ans vaut son pesant d'or.

+

Pourquoi cela s'est-il produit ? L'avidité - supprimer des choses pour augmenter la marge bénéficiaire +sur le dos d'achéteurs peu méfiantes, répondre aux demandes de fashionistas +(je vous regarde, Apple) plutôt qu'à la qualité d'utilisation et de mise à jour ne sont que deux raisons. +Au diable ceux qui veulent des solutions écologiques à longue durée de vie.

+

Cela ne laisse pas beaucoup d'espoir pour l'avenir, à moins que les ordinateurs portables +auto-assemblés ne deviennent plus populaires, +ou que la production de petites séries devienne plus facile et financièrement rentable.

+

Il y a peut-être de l'espoir, Olitec +par exemple est une entreprise bulgare qui fait exactement cela avec son ordinateur portable TERES. +Il y a aussi le Pinebook. +J'en cherche d'autres et je les ajouterai dans ce blog lorsque je le trouve.

+

References:

+ + +

 

+ +
+ A minimalist blog by + Philip Wittamore +
+ + diff --git a/articles/2021/Fugitive-Telemetry.html b/articles/2021/Fugitive-Telemetry.html new file mode 100755 index 0000000..152500d --- /dev/null +++ b/articles/2021/Fugitive-Telemetry.html @@ -0,0 +1,29 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Fugitive Telemetry

+

2021-04-29

+

book cover

+

J'ai pleinement apprécié cette série jusqu'à présent, +l'histoire est racontée par un cyborg qui est plus humain que les humains qui l'entourent. +J'espère que ce livre sera tout aussi bon. +

+
+
+ + diff --git a/articles/2021/GeoIP2-et-Goaccess.html b/articles/2021/GeoIP2-et-Goaccess.html new file mode 100755 index 0000000..58c45a1 --- /dev/null +++ b/articles/2021/GeoIP2-et-Goaccess.html @@ -0,0 +1,33 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

GeoIP2 et Goaccess

+

2021-04-09

+

Aujourd'hui, j'ai mis à jour goaccess pour qu'il fonctionne avec GeoIP2. +J'ai d'abord téléchargé et installé la dernière version de geoipupdate, +puis créé un compte gratuit avec Maxmind +et obtenu un identifiant de compte et une clé de licence. +J'ai ajouté ceux-ci au fichier /etc/GeoIP.conf, et j'ai ajouté une entrée crontab avec +@weekly /usr/local/bin/geoipupdate +geoipupdate a mis à jour 2 fichiers dans /usr/share/GeoIP/.
+J'ai ensuite modifié goaccess.conf avec geoip-database /usr/share/GeoIP/GeoLite2-City.mmdb +et goaccess affiche maintenant les villes correspondant aux adresses IP.

+
+
+ + diff --git "a/articles/2021/Grande-vase-en-ch\303\252ne.html" "b/articles/2021/Grande-vase-en-ch\303\252ne.html" new file mode 100755 index 0000000..faf9632 --- /dev/null +++ "b/articles/2021/Grande-vase-en-ch\303\252ne.html" @@ -0,0 +1,29 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Grande vase en chêne

+

2021-04-26

+

image

+

J'ai fabriqué ce grand vase à partir de couches de chêne récupéré. +J'ai percé des trous de 40 mm dans chaque couche sauf deux, +et j'ai fait un bouchon de 40 mm pour pouvoir le tourner entre les deux extrémités du +tour. Voir dans tournages

+
+
+ + diff --git a/articles/2021/Intel-Thermald.html b/articles/2021/Intel-Thermald.html new file mode 100755 index 0000000..10c6b6c --- /dev/null +++ b/articles/2021/Intel-Thermald.html @@ -0,0 +1,46 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Intel Thermald

+

2021-05-14

+

core i5 cpu image

+

J'ai remarqué aujourd'hui que gcc a monté mon cpu i5 à +96° en compilant un paquet AUR. Le reconditionneur BackMarket m'a +assuré qu'il renouvelait la pâte thermique sur toutes ses machines, je +ne l'ai donc pas encore vérifiée. En cherchant une protection thermique +logicielle pour mon vénérable X220, je suis tombé sur thermald.

+

Depuis le wiki debian:

+

"Le démon thermique Linux (thermald) surveille et contrôle la température dans les +ordinateurs portables, les tablettes PC avec le dernier sandy bridge d'Intel +et les dernières versions de CPU Intel. Une fois que la température du +système atteint un certain seuil, le démon Linux active diverses méthodes +de refroidissement pour essayer de refroidir le système. "

+

Je ne sais pas si cela est suffisant, ou si une approche +plus compliquée utilisant cpupower sera nécessaire. Affaire à suivre..

+

Installation:

+
sudo pacman -S thermald
+sudo systemctl enable thermald
+sudo systemctl start thermald
+
+ +
+
+ + diff --git a/articles/2021/Invidious---une-interface-alternative-pour-Youtube.html b/articles/2021/Invidious---une-interface-alternative-pour-Youtube.html new file mode 100755 index 0000000..6cce186 --- /dev/null +++ b/articles/2021/Invidious---une-interface-alternative-pour-Youtube.html @@ -0,0 +1,28 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Invidious - une interface alternative pour Youtube

+

2021-04-17

+

Invidious vous permet de visionner Youtube sans pistage ni publicité.

+

Vous pouvez aussi télécharger les videos facilement

+

https://yewtu.be/

+

D'autres instances

+
+
+ + diff --git "a/articles/2021/Jitsi-vid\303\251oconference.html" "b/articles/2021/Jitsi-vid\303\251oconference.html" new file mode 100755 index 0000000..5ef5b9a --- /dev/null +++ "b/articles/2021/Jitsi-vid\303\251oconference.html" @@ -0,0 +1,37 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Jitsi vidéoconference

+

2021-04-05

+

Il y a un an, on m'a demandé de trouver si notre famille pouvait faire des +rencontres en vidéo pendant que nous étions confinés.

+ +

J'ai testé Jitsi, et j'ai découvert qu'il était idéal +pour les personnes peu familiarisées avec l'informatique, +car il suffit de partager un lien vers le site Web de la réunion Jitsi. +https://meet.jit.si/ et d'ajouter un nom unique, par exemple : +https://meet.jit.si/mon_nom_unique

+ +

Si vous souhaitez organiser une réunion régulière, +réutiliser simplement le même nom à chaque fois, +pensez tout de même à utiliser un nom que personne d'autre ne peut trouver par +hasard.

+
+
+ + diff --git a/articles/2021/La-grande-illusion.html b/articles/2021/La-grande-illusion.html new file mode 100755 index 0000000..cfaaa9a --- /dev/null +++ b/articles/2021/La-grande-illusion.html @@ -0,0 +1,28 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

La grande illusion

+

2021-05-10

+

couverture du livre

+

J'ai commencé à lire les notes de Michel Barnier sur les négociations du Brexit. +Il semble être impressionné par les fonctionnaires britanniques, mais beaucoup moins +par les politiciens auxquels ils doivent répondre. C'est très intéressant de connaître les coulisses de l'histoire.

+
+
+ + diff --git "a/articles/2021/Le-Jardin-de-Tonton-Lo\303\257c.html" "b/articles/2021/Le-Jardin-de-Tonton-Lo\303\257c.html" new file mode 100755 index 0000000..6a3ac97 --- /dev/null +++ "b/articles/2021/Le-Jardin-de-Tonton-Lo\303\257c.html" @@ -0,0 +1,28 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Le Jardin de Tonton Loïc

+

2021-04-14

+

Le Jardin de
+Loïc

+

Un peu de pyrogravure sur une boîte en bois de chez Amazon pour une +amie.

+
+
+ + diff --git "a/articles/2021/Lnav---ma\303\256triser-vos-journaux.html" "b/articles/2021/Lnav---ma\303\256triser-vos-journaux.html" new file mode 100755 index 0000000..48367c6 --- /dev/null +++ "b/articles/2021/Lnav---ma\303\256triser-vos-journaux.html" @@ -0,0 +1,36 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Lnav - maîtriser vos journaux

+

2021-06-13

+lnav screenshot +

Aujourd'hui, j'ai découvert LNAV, un excellent moyen de visualiser les logs de mon serveur.

+

Sous Centos:

+

+


+sudo dnf install lnav
+lnav /var/log
+
+

+

Ceci affiche tous les logs dans /var/logs, et en couleur.

+ +

Voir Lnav ici : lnav.org.

+
+
+ + diff --git a/articles/2021/Mbsync-push.html b/articles/2021/Mbsync-push.html new file mode 100755 index 0000000..2d5894b --- /dev/null +++ b/articles/2021/Mbsync-push.html @@ -0,0 +1,34 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Mbsync push

+

2021-05-04

+

J'ai bêtement copié mon .mbsyncrc sur mon nouvel ordinateur portable avant de copier le dossier .mail. Le résultat a été que mbsync a supprimé tout le courrier sur mon serveur +IMAP.

+

J'ai donc dû tout repousser depuis le dossier .mail de mon ancien ordinateur portable. Heureusement, il y a un bon guide en ligne +ici

+

L'astuce consiste à remettre à zéro le dossier .mail local en supprimant toutes les informations précédentes de mbsync.

+

retirer toutes les fichiers .mbsyncstate et .uidvalidity:

+find . -type f -name '.??*' -delete +

Ensuite retirer les identifiants mbsync des noms des fichiers mail:

+find . -type f -name '*U=*' | { while read f; do mv "$f" "`echo $f | sed -e 's/,U=[0-9]*//'`"; done } +

J'ai ensuite supprimé tous les dossiers sur mon serveur IMAP et j'ai procédé à leur restauration avec un push mbsync.

+
+
+ + diff --git "a/articles/2021/Mini-chariot-avec-but\303\251e-d\342\200\231arr\303\252t.html" "b/articles/2021/Mini-chariot-avec-but\303\251e-d\342\200\231arr\303\252t.html" new file mode 100755 index 0000000..2d0f9b8 --- /dev/null +++ "b/articles/2021/Mini-chariot-avec-but\303\251e-d\342\200\231arr\303\252t.html" @@ -0,0 +1,27 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Mini chariot avec butée d’arrêt

+

2021-12-20

+

image

+

Mini chariot avec butée d’arrêt pour scie sous table. Pour empêcher le chariot de dépasser la lame de la scie, j'ai ajouté une petite butée au bout d'un ressort en frêne. La butée descend dans le trou de la plaque de la lame à dégagement +zéro.

+
+
+ + diff --git "a/articles/2021/Mise-\303\240-jour-sur-la-r\303\251gulation-du-processeur.html" "b/articles/2021/Mise-\303\240-jour-sur-la-r\303\251gulation-du-processeur.html" new file mode 100755 index 0000000..54d766e --- /dev/null +++ "b/articles/2021/Mise-\303\240-jour-sur-la-r\303\251gulation-du-processeur.html" @@ -0,0 +1,79 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Mise à jour sur la régulation du processeur

+

2021-05-15

+

Old article, I now use tlp,tlp-gui and cpupower

+

Mise à jour sur la régulation du processeur pour limiter les problèmes de température

+

Depuis le Arch Linux Wiki:

+

+

Le processeur de mon Thinkpad X220 est un Intel i5-2520M (4) @ 3,200GHz, +je ne dois donc pas utiliser le module acpi-cpufreq, mais le module intel-pstate intégré.

+

Note : Le pilote intel_pstate +ne prend en charge que deux gouverneurs : powersave et performance. +Bien qu'ils partagent le même nom que les gouverneurs génériques, +ils ne fonctionnent pas de la même manière que ces derniers. Les deux +gouverneurs intel_pstate fournissent une mise à l'échelle dynamique +similaire à celle des gouverneurs génériques schedutil ou ondemand. +Le gouverneur de performance fourni par intel_pstate devrait donner une +meilleure fonctionnalité d'économie d'énergie que l'ancien gouverneur à la +demande.

+

J'ai donc installé cpupower en plus de +thermald:

+sudo pacman -S cpupower cpupower-gui +sudo systemctl enable cpupower +sudo systemctl start cpupower + +

Pour activer pstate au demarrage j'ai ajouté

+GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=active ... +

dans /etc/default/grub et lancé sudo update-grub.

+

J'ai aussi edité /etc/default/cpupower avec:

+governor='performance' +max_freq="3.2GHz" + +

Le script:

+#!/bin/sh +# mettre le gouverneur en mode powersave s'il est déconnecté du secteur. +ACPI=`acpi -a | cut -d ' ' -f 3` +if [ "$ACPI" == "off-line" ] ; then + cpupower frequency-set -g powersave; +else + cpupower frequency-set -g performance ; +fi + +

Créer un regle UDEV

+/etc/udev/rules.d/99-power.rules +ACTION=="change",SUBSYSTEM=="power_supply",RUN+="/usr/bin/bash +/home/philip/.local/bin/power-adapt" +

Aussi, lorsque on reboot en batterie, le default est "performance", donc +créer un service systemd pour lancer power-adapt au boot

+/etc/systemd/system/power-adapt.service + +[Unit] +Description=your description +[Service] +ExecStart=/home/philip/.local/bin/power-adapt +[Install] +WantedBy=multi-user.target + +

et l'installer

+sudo systemd enable power-adapt.service +
+
+ + diff --git a/articles/2021/Nerdfonts-in-i3.html b/articles/2021/Nerdfonts-in-i3.html new file mode 100755 index 0000000..5f909c6 --- /dev/null +++ b/articles/2021/Nerdfonts-in-i3.html @@ -0,0 +1,34 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Nerdfonts in i3

+

2021-05-08

+

J'ai utilisé des symboles de police dans i3 et Neomutt, mais j'ai remarqué qu'ils +ont tendance à se planter si vous installez des polices différentes.

+

+

La solution que j'ai utilisée est d'installer une Nerdfont, qui contient tous +les symboles nécessaires en plus du font de base. J'ai téléchargé les polices dejavu +sans mono nerd sur Nerdfonts, et copié +les polices dans /usr/share/fonts/TTF.

+

J'ai ensuite lancé

fc-cache -f -v
pour mettre à jour le cache des polices.

+

Pour utiliser cette police dans i3, j'ai modifié la police dans le fichier de configuration de i3 :

+

font pango:DejavuSansMono nerd font mono 11

+
+
+ + diff --git a/articles/2021/Nginx-permission-denied.html b/articles/2021/Nginx-permission-denied.html new file mode 100755 index 0000000..de31e0e --- /dev/null +++ b/articles/2021/Nginx-permission-denied.html @@ -0,0 +1,32 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Nginx permission denied

+

2021-04-08

+

Ça m'a pris un moment pour comprendre. J'ai généré un rapport à partir de +goaccess, mais nginx a refusé de l'afficher. +J'ai vérifié les permissions des fichiers mais rien ne clochait. +Il s'avère que c'était SElinux. Je l'ai résolu avec :

+ +setsebool -P httpd_can_network_connect on
+chcon -Rt httpd_sys_content_t /path/to/webroot +
+
+
+ + diff --git "a/articles/2021/Nouvel-\303\251tabli-pour-l'atelier.html" "b/articles/2021/Nouvel-\303\251tabli-pour-l'atelier.html" new file mode 100755 index 0000000..33f9e66 --- /dev/null +++ "b/articles/2021/Nouvel-\303\251tabli-pour-l'atelier.html" @@ -0,0 +1,28 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Nouvel établi pour l'atelier

+

2021-08-29

+

new bench pic

+

Je me suis débarrassé des étagères bon marché que j'utilisais dans le garage, +et je me suis fabriqué un nouveau banc d'atelier de 4 mètres le long du mur avec +du bois de charpente. Plus à venir...

+
+
+ + diff --git a/articles/2021/Odysee.html b/articles/2021/Odysee.html new file mode 100755 index 0000000..f3d4067 --- /dev/null +++ b/articles/2021/Odysee.html @@ -0,0 +1,36 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Odysee

+

2021-04-23

+

Odysee logo

+

Odysee est un site de vidéos basé sur le protocole blockchain LBRY.

+

Comme Peertube, il propose un moyen de partager des vidéos sans publicités ni règles +arbitraires destinées à favoriser les annonceurs. +Il n'est pas aussi important que Youtube, et il y a quelques vidéos vraiment bizarres, mais il a de plus en plus d'adeptes et un avenir intéressant.

+

Quelques-unes de mes chaînes préférées :

+ +

A vous de voir!

+
+
+ + diff --git a/articles/2021/Photo-de-mon-atelier.html b/articles/2021/Photo-de-mon-atelier.html new file mode 100755 index 0000000..2600f5e --- /dev/null +++ b/articles/2021/Photo-de-mon-atelier.html @@ -0,0 +1,27 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Photo de mon atelier

+

2021-09-03

+

workshop update pic +

Mon petit nirvana. Sur la table, une planche à découper en bois de bout est en train d'être collée. Mon tour fait maison est au bout de la table. Le nouveau banc de 4 mètres rend les choses tellement plus faciles dans un petit espace. Il me manque encore des choses, comme une scie à ruban de 40 cm pour découper des ébauches de bol dans du bois vert, et une raboteuse, mais c'est bien d'avoir des projets quand on est à la retraite +😜.

+
+
+ + diff --git "a/articles/2021/Planche-\303\240-d\303\251couper-en-bois-de-bout.html" "b/articles/2021/Planche-\303\240-d\303\251couper-en-bois-de-bout.html" new file mode 100755 index 0000000..7e08c60 --- /dev/null +++ "b/articles/2021/Planche-\303\240-d\303\251couper-en-bois-de-bout.html" @@ -0,0 +1,26 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Planche à découper en bois de bout

+

2021-09-03

+

pic

+

Planche à couper en chêne avec bois de bout pour plus de résistance à la coupe. Finition huile de noix, 42x24cm

+
+
+ + diff --git a/articles/2021/Project-Hail-Mary.html b/articles/2021/Project-Hail-Mary.html new file mode 100755 index 0000000..4c9c320 --- /dev/null +++ b/articles/2021/Project-Hail-Mary.html @@ -0,0 +1,28 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Project Hail Mary

+

2021-05-14

+

book cover +

Voici un nouveau livre d'Andy Weir, le célèbre auteur de "The Martian". +Je l'ai placé dans ma liste de lecture, car je n'ai pas encore terminé le livre de Michel +Barnier.

+
+
+ + diff --git a/articles/2021/Pyradio.html b/articles/2021/Pyradio.html new file mode 100755 index 0000000..d22a3f3 --- /dev/null +++ b/articles/2021/Pyradio.html @@ -0,0 +1,30 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Pyradio

+

2021-05-25

+

pyradio screenshot

+

Je joue avec Pyradio et Cava en ce moment.

+

Pyradio est un sympathique lecteur radio pour terminal de coderholic, et cava est une application simple d'affichage de barres audio, également pour le terminal.

+

Afin de remplir votre liste de stations radio dans ~/.config/pyradio/stations.csv, +vous pouvez trouver de nombreuses URL ici : Listenlive.nl

+

Je suis donc en train de surfer sur le canapé en écoutant de la Bossa Nova, il y a pire dans la vie.

+
+
+ + diff --git "a/articles/2021/Scie-\303\240-ruban-fait-maison-(1).html" "b/articles/2021/Scie-\303\240-ruban-fait-maison-(1).html" new file mode 100755 index 0000000..42638a2 --- /dev/null +++ "b/articles/2021/Scie-\303\240-ruban-fait-maison-(1).html" @@ -0,0 +1,31 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Scie à ruban fait maison (1)

+

2021-12-10

+

image

+

+Mon nouveau projet est de construire une scie à ruban de 16 pouces à partir des plans de +Matthias Wandel. +Ici, j'ai coupé du chêne pour fabriquer le cadre supérieur du support de roue. +

+

Woodgears plans

+
+
+ + diff --git "a/articles/2021/Scie-\303\240-ruban-fait-maison-(2).html" "b/articles/2021/Scie-\303\240-ruban-fait-maison-(2).html" new file mode 100755 index 0000000..d7139a9 --- /dev/null +++ "b/articles/2021/Scie-\303\240-ruban-fait-maison-(2).html" @@ -0,0 +1,27 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Scie à ruban fait maison (2)

+

2021-12-16

+

image

+

Support de roue supérieur. J'ai utilisé des chutes de chêne récupérées. Le cadre de tension est renforcé par des +splines dans les coins.

+
+
+ + diff --git "a/articles/2021/Scie-\303\240-ruban-fait-maison-(3).html" "b/articles/2021/Scie-\303\240-ruban-fait-maison-(3).html" new file mode 100755 index 0000000..b14a22d --- /dev/null +++ "b/articles/2021/Scie-\303\240-ruban-fait-maison-(3).html" @@ -0,0 +1,26 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Scie à ruban fait maison (3)

+

2021-12-20

+

image

+

Poutre support de pivots d'articulation de ta table.

+
+
+ + diff --git "a/articles/2021/Scie-\303\240-ruban-fait-maison-(4).html" "b/articles/2021/Scie-\303\240-ruban-fait-maison-(4).html" new file mode 100755 index 0000000..fb0aacf --- /dev/null +++ "b/articles/2021/Scie-\303\240-ruban-fait-maison-(4).html" @@ -0,0 +1,28 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Scie à ruban fait maison (4)

+

2021-12-24

+

image

+

+Guide de la lame inférieure fixé au support du pivot. J'ai légèrement adapté le design de Matthias car je vais utiliser un roulement de 28mm derrière la lame. Le guide est fixé au support du pivot avec un boulon de 8mm dans une douille filetée. Les guides lateraux sont faites en ébene de Gabon. +

+
+
+ + diff --git "a/articles/2021/Scie-\303\240-ruban-fait-maison-(5).html" "b/articles/2021/Scie-\303\240-ruban-fait-maison-(5).html" new file mode 100755 index 0000000..53dad31 --- /dev/null +++ "b/articles/2021/Scie-\303\240-ruban-fait-maison-(5).html" @@ -0,0 +1,26 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Scie à ruban fait maison (5)

+

2021-12-27

+

image

+

Guide de lame supérieur

+
+
+ + diff --git "a/articles/2021/Scie-\303\240-ruban-fait-maison-(6).html" "b/articles/2021/Scie-\303\240-ruban-fait-maison-(6).html" new file mode 100755 index 0000000..088d226 --- /dev/null +++ "b/articles/2021/Scie-\303\240-ruban-fait-maison-(6).html" @@ -0,0 +1,30 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Scie à ruban fait maison (6)

+

2021-12-31

+

image

+

+Les supports de pivot sont fixés à la poutre avec des chevilles de 10mm de diamètre et de 90mm de long. Je n'avais pas de chevilles de cette taille, j'ai donc fabriqué un gabarit rapide avec un morceau de cornière, et j'ai poussé des morceaux de chêne a travers le trou avec une perceuse à main. +

+Ma première tentative avec des chevilles cachées était impossible à aligner correctement, donc je l'ai refait en collant d'abord les supports et puis en perçant directement à travers. +

+
+
+ + diff --git a/articles/2021/Science-et-Vie.html b/articles/2021/Science-et-Vie.html new file mode 100755 index 0000000..75f385a --- /dev/null +++ b/articles/2021/Science-et-Vie.html @@ -0,0 +1,27 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Science et Vie

+

2021-04-15

+

J'ai reçu mon mensuel "Science et vie" aujourd'hui. Je suis un lecteur régulier depuis 40 ans (je me souviens même de l'époque où Antoine de Caunes y écrivait parfois des articles, et où chaque mois avait un schéma électronique à tester). J'aime son objectivité et son large éventail de sujets. Très bon rapport +qualité-prix.

+

Site web Science et Vie

+
+
+ + diff --git a/articles/2021/Sous-plat-avec-incrustation-epoxy-Milliput.html b/articles/2021/Sous-plat-avec-incrustation-epoxy-Milliput.html new file mode 100755 index 0000000..c4e5960 --- /dev/null +++ b/articles/2021/Sous-plat-avec-incrustation-epoxy-Milliput.html @@ -0,0 +1,26 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Sous-plat avec incrustation epoxy Milliput

+

2021-09-08

+

pic

+

Fait avec des chutes de bois.

+
+
+ + diff --git a/articles/2021/TLS-handshake-failure.html b/articles/2021/TLS-handshake-failure.html new file mode 100755 index 0000000..77d31ec --- /dev/null +++ b/articles/2021/TLS-handshake-failure.html @@ -0,0 +1,31 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

TLS handshake failure

+

2021-04-11

+

J'ai continué à obtenir des erreurs de handshake TLS +lorsque jai essayé d'envoyé des emails +après avoir configuré postfix. Après m'être +frappé la tête contre le mur en essayant de trouver une solution, +j'ai finalement réalisé que j'avais supprimé le port 465 sur mon serveur, +mais msmtp avait tls_starttls off dans .msmtprc, qui ne s'applique qu'au port 465. +Problème résolu.

+
+
+ + diff --git a/articles/2021/Thinkpad-X200.html b/articles/2021/Thinkpad-X200.html new file mode 100755 index 0000000..70a6aed --- /dev/null +++ b/articles/2021/Thinkpad-X200.html @@ -0,0 +1,31 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Thinkpad X200

+

2021-04-22

+

Image Thinkpad X200

+

Mon matériel informatique actuel est assez simple. L'époque où je gérais des serveurs à la maison est révolue. +Mon ordinateur portable est un MSI GP60 2QE : résolution d'écran 1380 x 768, RAM 16Gb, 2 disques durs SSD 120Gb et 250Gb, OS Manjaro Linux +XFCE.

+

C'est une super machine, mais meilleure sur une table. J'aimerais bien avoir un vieux Thinkpad X200 à utiliser +dans un fauteuil. Même 10 ans après leur sortie, ils sont toujours le fantasme des nerds minimalistes avec un écran de 12 pouces et un magnifique clavier mécanique. Solide comme un roc +aussi.

+
+
+ + diff --git a/articles/2021/Thinkpad-X220.html b/articles/2021/Thinkpad-X220.html new file mode 100755 index 0000000..2e98c5c --- /dev/null +++ b/articles/2021/Thinkpad-X220.html @@ -0,0 +1,38 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Thinkpad X220

+

2021-04-27

+

Thinkpad X220 image

+

Donc je l'ai fait, je me suis acheté un Thinkpad X220 en parfait état avec 8Gb de RAM +et un disque SSD de 240Gb. Cela fait quelques années que je n'ai pas eu deux ordinateurs +à la maison, et maintenant je vais avoir le nirvana des geeks, un Thinkpad fabriqué +avant que Lenovo ne les saborde.

+

Il y a aussi un grand choix de pièces détachées, vous pourriez en construire une. +J'ai choisi le 12" X220 parce qu'il est destiné à être utilisé sur mes genoux dans un fauteuil, +vous trouverez peut-être que le 14" T420 est un meilleur choix, +il est de la même génération et de la même qualité de construction.

+

Il y a beaucoup de ressources en ligne pour le X220, par exemple :

+ +
+
+ + diff --git "a/articles/2021/T\303\251l\303\251charger-musique-depuis-Youtube.html" "b/articles/2021/T\303\251l\303\251charger-musique-depuis-Youtube.html" new file mode 100755 index 0000000..5f0141b --- /dev/null +++ "b/articles/2021/T\303\251l\303\251charger-musique-depuis-Youtube.html" @@ -0,0 +1,29 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Télécharger musique depuis Youtube

+

2021-05-16

+

pense-bete

+

Installer youtube-dl et ffmpeg, ensuite créer le alias youtube-dl-audio :

+alias youtube-dl-audio='youtube-dl --ignore-errors --output "%(title)s.%(ext)s" --extract-audio --audio-format mp3' +

Utilisation :

+
youtube-dl-audio lien
+
+
+ + diff --git a/articles/2021/Un-espion-dans-ma-poche.html b/articles/2021/Un-espion-dans-ma-poche.html new file mode 100755 index 0000000..94049eb --- /dev/null +++ b/articles/2021/Un-espion-dans-ma-poche.html @@ -0,0 +1,41 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Un espion dans ma poche

+

2021-04-30

+

image de téléphone portable

+

Nous savons que nos précieux téléphones portables enregistrent presque tout ce que nous leur confions : +fréquentations, déplacements, achats, mots de passe, goûts, etc. +Mais jusqu'où va leur connaissance de notre intimité ? Et à qui transmettent-ils ces informations privées ? +Quel est le niveau de notre surveillance +?

+

(ré)Voir l'emission +d'Envoyé spécial (avancer à +40mn)

+

J'ajouterai que mon téléphone portable n'exécute pas de logiciels Google ou Apple pour ces raisons, il exécute plutôt Lineageos.

+

+Tant que je suis sur le sujet de freiner les sociétés GAFA de syphonner mes informations +privées: mon ordinateur portable fonctionne sous Manjaro Linux, +et j'utilise le moteur de recherche Duckduckgo +au lieu de la recherche Google ou Bing.

+

+

+
+ + diff --git a/articles/2021/Une-balancoire-pour-Barbie.html b/articles/2021/Une-balancoire-pour-Barbie.html new file mode 100755 index 0000000..76d9c64 --- /dev/null +++ b/articles/2021/Une-balancoire-pour-Barbie.html @@ -0,0 +1,26 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Une balancoire pour Barbie

+

2021-12-19

+

image

+

Quelques baguettes pour brochettes, de la colle à bois, et voila.

+
+
+ + diff --git a/articles/2021/Update.html b/articles/2021/Update.html new file mode 100755 index 0000000..0697a2a --- /dev/null +++ b/articles/2021/Update.html @@ -0,0 +1,35 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Update

+

2021-07-25

+

Après avoir attrapé le Covid fin mars, j'ai eu des problèmes de dos, d'où la pause silencieuse +ici.

+ +

Cependant, j'ai des projets :

+ +

réorganiser l'espace de travail du garage maintenant que le réservoir de chauffage a été déplacé à l'extérieur, +construire une scie à ruban 16" à partir des plans de Mathias Wandel, +fabriquer un mandrin Longworth pour les bols, +et bien sûr, fabriquer encore plus de bols.

+ +

Surveillez cet espace!

+
+
+ + diff --git a/articles/2021/Wiby.html b/articles/2021/Wiby.html new file mode 100755 index 0000000..f69f10a --- /dev/null +++ b/articles/2021/Wiby.html @@ -0,0 +1,26 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Wiby

+

2021-04-02

+

Wiby est un moteur de recherche web qui ne répertorie que des sites web rapides, simples et sans bavures. Comme avec DuckDuckGo, vous pouvez utiliser les commandes bang pour obtenir des résultats d'autres moteurs de recherche : par exemple, en tapant !g avant votre recherche, vous obtiendrez des données de Google Text Search. Consultez la rubrique "paramètres" pour connaître les autres commandes +disponibles.

+
+
+ + diff --git a/articles/2021/ZRAM.html b/articles/2021/ZRAM.html new file mode 100755 index 0000000..e96afc3 --- /dev/null +++ b/articles/2021/ZRAM.html @@ -0,0 +1,34 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

ZRAM

+

2021-05-29

+

Si vous avez un disque dur SSD, et suffisamment de RAM, c'est une bonne idée d'installer zram car il peut réduire l'écriture sur le SSD.

+

Le paquet zramswap dans Arch Linux fournit un script automatisé pour mettre en place un swap avec une priorité plus élevée et une taille par défaut de 20% de la taille de la RAM de votre système. Pour le faire automatiquement à chaque démarrage, activez zramswap.service.

+
yay -S zramswap
+sudo systemctl enable zramswap.service
+sudo systemctl start zramswap.service
+cat /proc/swaps
+
+

+Improving +performance

+
+
+ + diff --git a/articles/2021/Zellij-Terminal-Workspace.html b/articles/2021/Zellij-Terminal-Workspace.html new file mode 100755 index 0000000..6815250 --- /dev/null +++ b/articles/2021/Zellij-Terminal-Workspace.html @@ -0,0 +1,30 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Zellij Terminal Workspace

+

2021-04-25

+

zellij image

+

Voici un espace de travail terminal prometteur pour les personnes qui aiment les applications basées sur le texte. La version bêta est disponible, ce qui signifie qu'elle fonctionne bien pour un usage quotidien, mais qu'elle peut subir de rares +plantages.

+

Je le trouve très facile à utiliser. Il occupe maintenant de façon permanente un bureau virtuel dans mon +manjaro/xfce4.

+

Jetez-y un coup d'oeil ici : Zellij

+
+
+ + diff --git a/articles/2021/erreurs-spamass-milter.html b/articles/2021/erreurs-spamass-milter.html new file mode 100755 index 0000000..3bbc640 --- /dev/null +++ b/articles/2021/erreurs-spamass-milter.html @@ -0,0 +1,43 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

erreurs-spamass-milter

+

2021-05-05

+

Je continue à voir de temps en temps /run/spamass-milter/spamass-milter.sock; No such file +or directory dans /var/log/maillog alors que tout semble fonctionner correctement.

+

Pour le resoudre, je test actuellement:

+
    +
  • chown sa-milt:postfix /run/spamass-milter
  • +
  • -g postfix dans /etc/sysconfig/spamass-milter EXTRA_FLAGS
  • +
  • chmod 775 /run/spamass-milter
  • +
+

Mise à jour

+

Probleme résolu, submission etait en chroot, master.cf est maintenant +comme ceci:

+
+# ==========================================================================
+# service type  private unpriv  chroot  wakeup  maxproc command + args
+#               (yes)   (yes)   (no)    (never) (100)
+# ==========================================================================
+smtp        inet  n       -       n       -       -       smtpd
+submission  inet  n       -       n       -       -       smtpd
+
+
+
+ + diff --git a/articles/2021/i3-Blocks.html b/articles/2021/i3-Blocks.html new file mode 100755 index 0000000..058d999 --- /dev/null +++ b/articles/2021/i3-Blocks.html @@ -0,0 +1,50 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

i3 Blocks

+

2021-05-05

+

Mon X220 tourne maintenant sous Manjaro i3, et j'ai réussi à obtenir une jolie barre d'état avec +i3-Blocks

+i3 status image +

Afin d'obtenir un calendrier pop-up lorsque je clique sur la date dans la barre, j'ai installé +gsimplecal

+gsimplecal image +

pacman -S gsimplecalendar

+

et modifié .config/I3blocks/config comme suit:

+

+[gsimplecal]
+command=date '+%d/%m %H:%M:%S';if [ $button ]; then gsimplecal; fi
+interval=1 +

+

Pour faire disparaître le calendrier lorsque le curseur ne le survole plus, +éditez

+

+~/.config/gsimplecal/config +

+

et ajoutez la ligne

+

+close_on_unfocus = 1 +

+

puis redémarrez la barre avec

+

+i3-msg restart +

+
+
+ + diff --git a/articles/2021/spamass-milter-error.html b/articles/2021/spamass-milter-error.html new file mode 100755 index 0000000..8d162e3 --- /dev/null +++ b/articles/2021/spamass-milter-error.html @@ -0,0 +1,56 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

spamass-milter error

+

2021-04-15

+

Lorsque j'a regardé si tout allait bien avec spamassasin,

+systemctl status spamass-milter +

m'affichait le message d'erreur suivant :

+spamass-milter could not retrieve sendmail macro "_" !". +

Cela n'a aucun effet sur la fonction de spamass_milter, mais je n'aime pas que les choses soient +désordonnées. Il s'avère que spamass-milter a été construit pour sendmail, +donc si vous utilisez Postfix, la macro milter_connect_macro doit être modifiée.

+postconf -d milter_connect_macros +

renvoie

+milter_connect_macros = j {nom_du_démon} {addr_du_démon} v + +

Le "_" etait bien manquant, ansi que la macro i.
+J'ai donc ajouté cette ligne au fichier /etc/postfix/main.cf

+ +milter_connect_macros = "i j {daemon_name} v {if_name} _" + +

et voila, plus d'erreurs? Non. Une message d'erreur pour le macro "i" subsiste, mais c'est une bogue sans conséquence.

+ +

http://www.postfix.org/MILTER_README.html

+
+Some Milter applications log a warning that looks like this:
+
+    sid-filter[36540]: WARNING: sendmail symbol 'i' not available
+
+And they may insert an ugly message header with "unknown-msgid" like this:
+
+    X-SenderID: Sendmail Sender-ID Filter vx.y.z host.example.com 
+
+The problem is that Milter applications expect that the queue ID is known before the MTA accepts the MAIL FROM
+ (sender) command. Postfix does not choose a queue ID, which is used as the queue file name, until after it 
+ accepts the first valid RCPT TO (recipient) command. 
+
+
+
+ + diff --git a/articles/2021/web-bloat.html b/articles/2021/web-bloat.html new file mode 100755 index 0000000..b49d673 --- /dev/null +++ b/articles/2021/web-bloat.html @@ -0,0 +1,43 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+ +
+ + diff --git a/articles/2021/wittr.in.html b/articles/2021/wittr.in.html new file mode 100755 index 0000000..284e7bb --- /dev/null +++ b/articles/2021/wittr.in.html @@ -0,0 +1,33 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+ +
+ + diff --git "a/articles/2021/\303\211tau-de-recup.html" "b/articles/2021/\303\211tau-de-recup.html" new file mode 100755 index 0000000..f8e2dc5 --- /dev/null +++ "b/articles/2021/\303\211tau-de-recup.html" @@ -0,0 +1,28 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Étau de recup

+

2021-08-12

+

etau

+

Voici un étau d'origine soviétique que j'ai trouvé dans une brocante pour 20€.

+

Un bon bain de vinaigre, une brosse metallique, de la peinture verte, et +du WD40, et voila.

+
+
+ + diff --git "a/articles/2022/Scie-\303\240-ruban-fait-maison-(10).html" "b/articles/2022/Scie-\303\240-ruban-fait-maison-(10).html" new file mode 100755 index 0000000..b4a9392 --- /dev/null +++ "b/articles/2022/Scie-\303\240-ruban-fait-maison-(10).html" @@ -0,0 +1,29 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Scie à ruban fait maison (10)

+

2022-02-01

+

Le cadre est fait avec 10 planches de sapin du nord, 2000x120x18mm

+

+

+

+

+
+
+ + diff --git "a/articles/2022/Scie-\303\240-ruban-fait-maison-(11).html" "b/articles/2022/Scie-\303\240-ruban-fait-maison-(11).html" new file mode 100755 index 0000000..6985bd6 --- /dev/null +++ "b/articles/2022/Scie-\303\240-ruban-fait-maison-(11).html" @@ -0,0 +1,29 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Scie à ruban fait maison (11)

+

2022-02-15

+

+

+

+

+

+
+
+ + diff --git "a/articles/2022/Scie-\303\240-ruban-fait-maison-(12).html" "b/articles/2022/Scie-\303\240-ruban-fait-maison-(12).html" new file mode 100755 index 0000000..6062f78 --- /dev/null +++ "b/articles/2022/Scie-\303\240-ruban-fait-maison-(12).html" @@ -0,0 +1,27 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Scie à ruban fait maison (12)

+

2022-02-20

+

Amelioration

+

J'ai fabriqué un autre guide lame inférieur qui fonctionne mieux. Celui d'origine présentait la tranche du roulement vers la lame ce qui nécessite un support plus compliqué et moins solide. L'autre avantage d'appuyer la lame sur le côté du roulement est que c'est plus silencieux. Les blocs des guides latéraux vient d'un morceaux d'ébène de Gabon qu'on m'avait donné.

+ +
+
+ + diff --git "a/articles/2022/Scie-\303\240-ruban-fait-maison-(7).html" "b/articles/2022/Scie-\303\240-ruban-fait-maison-(7).html" new file mode 100755 index 0000000..519d319 --- /dev/null +++ "b/articles/2022/Scie-\303\240-ruban-fait-maison-(7).html" @@ -0,0 +1,30 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Scie à ruban fait maison (7)

+

2022-01-01

+

+

+Après avoir monté les pivots, je me suis rendu compte qu'il leur manquait un millimètre au milieu. Plutôt que de tout démonter, j'ai collé de fines cales en chêne, et je les ai poncées avec du papier de verre collé sur l'autre partie du pivot. +Si jamais je recommence, j'utiliserai une toupie sur un gabarit de compas pour obtenir un ajustement parfait. +

+

+
+
+ + diff --git "a/articles/2022/Scie-\303\240-ruban-fait-maison-(8).html" "b/articles/2022/Scie-\303\240-ruban-fait-maison-(8).html" new file mode 100755 index 0000000..9160166 --- /dev/null +++ "b/articles/2022/Scie-\303\240-ruban-fait-maison-(8).html" @@ -0,0 +1,27 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Scie à ruban fait maison (8)

+

2022-01-01

+

+

Support de table montée sur les pivots. La table de la scie à ruban est placée sur le support, ce qui la renforce. Le support est fabriqué avec une chute d'étagère en chêne +laminé.

+
+
+ + diff --git "a/articles/2022/Scie-\303\240-ruban-fait-maison-(9).html" "b/articles/2022/Scie-\303\240-ruban-fait-maison-(9).html" new file mode 100755 index 0000000..d02e94c --- /dev/null +++ "b/articles/2022/Scie-\303\240-ruban-fait-maison-(9).html" @@ -0,0 +1,27 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Scie à ruban fait maison (9)

+

2022-01-19

+

+

Toutes les pieces pour le cadre du scie à ruban découpés. Il m'a fallu 10 planches d'épicéa +2000x120x18mm

+
+
+ + diff --git a/articles/2022/mailcow.html b/articles/2022/mailcow.html new file mode 100755 index 0000000..5b29b53 --- /dev/null +++ b/articles/2022/mailcow.html @@ -0,0 +1,31 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Mailcow

+

24-12-2022

+ +

+ Very happy with Mailcow, it seems to be the best solution currently for a self hosted email server. It allows me to have perfectly authenticated email with DKMS, ARC, SPF and DMARC. I've set it up on an OVH vps and it's been running for a couple of weeks now. +

+ In the past I have maintained by hand email servers, but - been there got the t-shirt. So I tested a few solutions such as Post.Io, iRedmail, etc. but settled on Mailcow as it is the most advanced and complete. Installation took only a few minutes. +

+ https://mailcow.email +

+
+ + diff --git a/articles/2023/1vyrain.html b/articles/2023/1vyrain.html new file mode 100755 index 0000000..e04c7e3 --- /dev/null +++ b/articles/2023/1vyrain.html @@ -0,0 +1,85 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

1vyrain - unlock your Thinkpad T430

+

01-09-2023

+
+ d888                                      d8b          
+d8888                                      Y8P          
+  888                                                   
+  888   888  888 888  888 888d888  8888b.  888 88888b.  
+  888   888  888 888  888 888P"       "88b 888 888 "88b 
+  888   Y88  88P 888  888 888     .d888888 888 888  888 
+  888    Y8bd8P  Y88b 888 888     888  888 888 888  888 
+8888888   Y88P    "Y88888 888     "Y888888 888 888  888 
+                      888                               
+                 Y8b d88P                               
+                  "Y88P"                                
+    
+ +

+The Thinkpad 430 comes with an older wifi card that doesn't support 802.11ac. My machine also didn't come with a Bluetooth card. +

+In order to fit a replacement card such as the AC 7260, the BIOS must be altered as by default Lenovo only allows you to install hardware they have whitelisted, and as the T430 dates a bit this list is defunct. +

+Thankfully, 1vyrain has created a BIOS that adds an advanced tab in th BIOS and wipes the whitelist, and allows you to install alternative hardware and deactivate Intel ME among other things. +

+I followed the following steps: +

+

1

+

+For this you'll need to be in Windows 64 bit +

+First downgrade the BIOS to one that is hackable, for the T430 this is version 2.64 +

+You can either download and install the BIOS from the Official Lenovo page +

+or use 1vprep: +

+https://github.com/n4ru/IVprep +

+Click "code"> Download ZIP. Unzip the package and click "downgrade.bat" +

+The system will reboot and install the BIOS +

+

2

+

+Boot into the BIOS and make sure Secure boot is disabled, and startup set to Both, UEFI first. +

+Boot back into Windows +

+Download the 1vyrain.iso from https://github.com/n4ru/1vyrain +

+Currently available from
https://drive.google.com/open?id=1yusq98ja6NmI4G4txKVueFqY_ZEwaZvO +

+Burn the iso to a USB drive using Rufus https://rufus.ie (select DD mode) +

+Reboot from the USB drive and follow the instructions. The computer will go into sleep mode, just hit the power button to get back into 1vyrain +

+Note: I had to remove the SATA drive where windows was installed to be able to select the USB drive to boot from. +

+The computer will reboot, it might recycle a few times. It might also display a CRC error, you can ignore this and reboot. +

+Boot into the BIOS again, you should now see a new tab "Advanced". In this tab you can disable Intel ME. +

+You are all set! +

+
+
+ + diff --git a/articles/2023/Bitwarden-RBW-blues.html b/articles/2023/Bitwarden-RBW-blues.html new file mode 100755 index 0000000..67d53db --- /dev/null +++ b/articles/2023/Bitwarden-RBW-blues.html @@ -0,0 +1,50 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Bitwarden RBW blues

+

2023-12-05

+

+ Unfortunately the CLI app for Bitwarden is clunky and difficult to use as + it is stateless. A kind soul wrote an unofficial CLI app called + RBW that uses a daemon, but it + stopped working a couple of weeks ago. Issues are pending but no reaction + from the author so far. +

+

The official Bitwarden CLI app is still working though.

+

+ My current solution is to use password-store on the CLI and Bitwarden in + Firefox and Android. +

+

+ There's a dirty hack called "B" here: + https://github.com/lebarondecharlus/b, but it has the master password in clear in the script. +

+

+ I'm wondering if it's possible to script a bridge between the two, but + it's looking like I need to use password-store for CLI apps, and Bitwarden + for the rest. +

+

Update:

+

RBW has been fixed. The .eu bitwarden domains have been integrated. Tested in rbw-1.9.0-1 arch package

+

Check https://github.com/doy/rbw#configuration for usage info.

+
+
+ + diff --git a/articles/2023/Chimera's-Star.html b/articles/2023/Chimera's-Star.html new file mode 100755 index 0000000..26d066c --- /dev/null +++ b/articles/2023/Chimera's-Star.html @@ -0,0 +1,27 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+ +
+ + diff --git a/articles/2023/Death-of-the-web.html b/articles/2023/Death-of-the-web.html new file mode 100755 index 0000000..ff0462d --- /dev/null +++ b/articles/2023/Death-of-the-web.html @@ -0,0 +1,36 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Death of the web

+

2023-12-07

+

I'm wondering where we are going with all this.

+

Searching today's web I feel like I'm scrabbling around in a trash can for a half eaten sandwich.

+

Content is there somewhere, but you have to swallow the glitz, blitz, frills, lies, and adverts before you find it.

+

With the advent of AI written content it can only get much worse, after all, who owns these AI's ? Who's world view will they push?

+

In a few years time web browsers will be based on the same web engine, +asking if you need some help with that infection you mentioned to your doctor, chiding you for not checking +the local election results, and sugggesting a diet change because of the contents of your last supermarket bill.

+

Seems like the only way out will require a rupture.

+

Perhaps take a step back and use older text based browsers with just a smattering of images.

+

Local BBS's maybe, or Gopher/Gemini servers on everyone's laptop with a decentralized search system.

+

It's inevitable there will be a backlash, the form it will take should be interesting.

+ +
+
+ + diff --git a/articles/2023/Firefox-Multi-Account-Containers.html b/articles/2023/Firefox-Multi-Account-Containers.html new file mode 100755 index 0000000..03423a2 --- /dev/null +++ b/articles/2023/Firefox-Multi-Account-Containers.html @@ -0,0 +1,45 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Firefox Multi Account Containers

+

20-11-2023

+

+ Firefox Mutli-Account Containers works by isolating your identity into a + separate container that makes it harder to track your visits to other + websites with third-party cookies. +

+

+ For example, you can sign in to your Facebook account inside of a + container, and Facebook will never know who you are whenever you aren’t + inside the container. +

+

+ I use it to contain unsavory web sites like Facebook and Google, Banks and + Shopping sites +

+

+ multi-account-containers +

+ +
+
+ + diff --git a/articles/2023/Forget-VTech,-get-an-old-laptop-instead.html b/articles/2023/Forget-VTech,-get-an-old-laptop-instead.html new file mode 100755 index 0000000..d7d5531 --- /dev/null +++ b/articles/2023/Forget-VTech,-get-an-old-laptop-instead.html @@ -0,0 +1,32 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Forget VTech, get an old laptop instead

+

2023-12-29

+

I had the dubious joy of setting up a miserable low powered android excuse for a kids computer from VTech over christmas.

+

It's so low powered the slow reaction time made me believe it wasn't working for a while. The screen is tiny, the ergonomy crappy, and the software is gahh...

+

To give the kids something they could actually use without bringing tears to the kids and their parents, I set up an old laptop with Linux Mint Cinnamon.

+

A nice, easy, and quick installation.

+

I added Seb's IP hosts file, and in Firefox, in addition to the basics (Ublock Origin,Decentraleyes,etc.) I set the search engine and default page to Qwant Junior. I also added some bookmarks like WebJunior.

+

With Mint's library of games and educational software, their mum can add more things later as required as only she has the root password.

+

For the same price of the VTech toy, you can get a refurbished Thinkpad X240 from Backmarket, set it up the same way, and actually have something useable.

+

UPDATE: The kid loves the old laptop, and the VTech ...thing has been relegated to the dustbin of Christmas past. Win!

+
+
+ + diff --git a/articles/2023/Gemini---The-protocol-not-the-AI.html b/articles/2023/Gemini---The-protocol-not-the-AI.html new file mode 100755 index 0000000..ed725dc --- /dev/null +++ b/articles/2023/Gemini---The-protocol-not-the-AI.html @@ -0,0 +1,60 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Gemini - The protocol not the AI

+

2023-12-09

+

Playing with a Gemini server today. I'm not entirely convinced, but in the interest of research, here goes:

+

First I opened port 1965 on the server

+ufw allow 1965 + +

I created the user gemini on the server and created the folders bin, certs, and gemini in /var/gemini

+

I downloaded the x86_64 linux binary from github and moved it to /var/gemini/bin.

+

In /var/gemini/content I creatd the text file index.gmi with just "hello world" in it.

+

Then I did a first run of Gemini

+/var/gemini/bin/agate --content /var/gemini/content/ --certs /var/gemini/certs --hostname wittamore.fr --lang en-GB +

Agate Auto created it's required certificates, and using the gemini browser Amfora I saw the "hello world!" text.

+

So I added a systemd file to manage the execution of Agate:

+[Unit] +Description=agate +After=network.target + +[Service] +User=gemini +Type=simple +ExecStart=/var/gemini/bin/agate --content /var/gemini/content/ --certs /var/gemini/certs --hostname wittamore.fr --lang en-GB + +[Install] +WantedBy=default.target + +

And launched it

+systemctl enable agate.service +systemctl start agate.service + + +

Agate is a very simple Gemini server. It automatically creates self-signed certificates for TLS in the .der format, +which makes it clumsy if you have letsencrypt certificates in .pem format available.

+openssl rsa -outform der -in privkey.pem -out key.der +openssl x509 -outform der -in cert.pem -out cert.der + +

Unlike Gopher, none of the servers available appear to be mature yet, which is probably due to the relatively new protocol.

+

The Flounder site shows some interesting possibilities for Gemini.

+ +
+
+ + diff --git a/articles/2023/In-2024,-please-switch-to-Firefox.html b/articles/2023/In-2024,-please-switch-to-Firefox.html new file mode 100755 index 0000000..4b584a3 --- /dev/null +++ b/articles/2023/In-2024,-please-switch-to-Firefox.html @@ -0,0 +1,25 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+ +
+ + diff --git a/articles/2023/Little-Doggies.html b/articles/2023/Little-Doggies.html new file mode 100755 index 0000000..18bdb95 --- /dev/null +++ b/articles/2023/Little-Doggies.html @@ -0,0 +1,39 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Little Doggies

+

2023-12-12

+

+ If such a thing as gods really existed, they wouldn't let little doggies + suffer and have such short lives. +

+

+ When gods are omnipotent but at the same time vicious, callous, genocidal, + bloodlusting entities, they can only have been made by man, in the image + of man. +

+

+ Bobby was my dog. He had enough character for a pack of dogs, and although + only 7kgs of mostly hair, was the boss, but a boss who melted in my arms whenever + he could. He took an enormous place in our house and hearts, and he had a soul. + Rest in peace Bobby. +

+
+
+ + diff --git a/articles/2023/Marginalia-search-engine.html b/articles/2023/Marginalia-search-engine.html new file mode 100755 index 0000000..d513d6b --- /dev/null +++ b/articles/2023/Marginalia-search-engine.html @@ -0,0 +1,34 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Marginalia search engine

+

2023-12-18

+

Marginalia is an independent DIY search engine that attempts to show you sites you perhaps weren't aware of.

+

It does this by up-ranking web sites that have text content, and downranking the typical image heavy, content-poor, advert ridden web sites other search engines will favour. +

+https://search.marginalia.nu +

+

Comments

+
+

Maginalia is a nice search engine for finding small and obscure sites with good content. Another good one is wiby.me

+-Mike S. +
+
+
+ + diff --git a/articles/2023/Need-a-long-walk.html b/articles/2023/Need-a-long-walk.html new file mode 100755 index 0000000..735529f --- /dev/null +++ b/articles/2023/Need-a-long-walk.html @@ -0,0 +1,29 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Need a long walk

+

2023-12-02

+

+ This time of year I need long walks to clear my brain of the winter grey. The + lack of sunlight and short days isn't good for me. I must have southern + genes somewhere. Roll on March. +

+
+
+ + diff --git a/articles/2023/Web-1.5.html b/articles/2023/Web-1.5.html new file mode 100755 index 0000000..19b0711 --- /dev/null +++ b/articles/2023/Web-1.5.html @@ -0,0 +1,86 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Web 1.5 and Berries

+

2023-12-20

+

+ I was searching this morning for web 1.0 ressources in French. It was + interesting to see the amount of belittleing phrases, from "passive web" + through "documentary web", "Spectator web", etc. +

+

+ Web 2.0 is referred to as the "social web", where large companies found + how to make money from this thing through centralisation, javascript, + social networks, online sales, and the massive use of berries. The + descriptions of Web 3.0 and 4.0 are so full of bullshit, acronyms, + marketing speak, and futurism, it's not worth commenting on. +

+ +

Berries? you might ask.

+ +

+ Human evolution has included colour sight to enable the picking of ripe + fruit and avoidance of dangerous meats or insects. +

+

+ Icons tap into this evolutionary advantage. Images that target our + attention in order to vehicule an emotional response are another. Their + use sometimes has the side effect of manipulating you, the reader. Today + they are also used to track you or vehicule code. +

+ +

+ The current web plunges the reader in a (sometimes pretty) morass of + background images, icons, adverts, gadgets, etc. that distract you from + noticing that perhaps there's not much actual content. +

+

+ It also slows web sites dramatically. Try looking at most recipe web sites + for an example. Now visit Luke Smith's + Based Cooking (He had a rant about + this a while back) +

+

+ Scrolling through Facebook's litany of meme's, repeated jokes, and plain + rubbish, will also make you realise that there's very little content. What + remains, is formatted and presented in an identical fashion, much like + visiting adjacent prison cells. It also dissapears quickly, buried under + more meme's, repeated jokes, and rubbish. And while you are rotting your + brain in this manner, you are being tracked mercilessly while your soul is + sold for a few deniers. +

+

+ In a nutshell, web 1.0 wasn't something to simply discard, and while + technological advances are indiscutable, (UTF-8, CSS, backend + scripting,..) the uses they have been put to sometimes definitely are. +

+

+ I'm no monk: I still need to get to my bank, make the odd online purchase, + etc. but I think it's possible to have in parallel a reasoned web simply + by editing web sites responsably. Not by throwing out the baby with the + bathwater, but eliminating the chaff, reducing the C02 footprint, reducing + the illisibility, making it faster, making it easier for people with + reduced sight to enjoy the content, making sure it can be read in all + browsers, stop tracking in it's... tracks, and getting to the point. +

+

How about calling it Web 1.5 ?

+

 

+
+
+ + diff --git a/articles/2023/Web-site-stats-better-without-Google.html b/articles/2023/Web-site-stats-better-without-Google.html new file mode 100755 index 0000000..02b4167 --- /dev/null +++ b/articles/2023/Web-site-stats-better-without-Google.html @@ -0,0 +1,28 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Web site stats better without Google

+

2023-12-25

+

Merry Christmas!

+

I used to run this blog on a CMS with all the "required" google schema code included.

+

Funnily though, since I moved to using my own stripped down html blog with zero search engine optimisation nor shemas, the stats are much better.

+

Go figure...

+
+
+ + diff --git a/articles/2023/ascii-art.html b/articles/2023/ascii-art.html new file mode 100755 index 0000000..5c0dcfc --- /dev/null +++ b/articles/2023/ascii-art.html @@ -0,0 +1,38 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Ascii Art

+

27-11-2023

+
+ ____   _                       _                    
+| __ ) | |  ___    __ _   __ _ (_) _ __    __ _  ___ 
+|  _ \ | | / _ \  / _` | / _` || || '_ \  / _` |/ __|
+| |_) || || (_) || (_| || (_| || || | | || (_| |\__ \
+|____/ |_| \___/  \__, | \__, ||_||_| |_| \__, ||___/
+                  |___/  |___/            |___/      
+
+

Old as the hills, and still amusing...

+ + +
+
+ + diff --git a/articles/2023/connerie-des-dates-limites.html b/articles/2023/connerie-des-dates-limites.html new file mode 100755 index 0000000..d92efd5 --- /dev/null +++ b/articles/2023/connerie-des-dates-limites.html @@ -0,0 +1,25 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

La connerie des dates limites

+

20-08-2023

+ +
+
+ + diff --git a/articles/2023/debian-or-arch.html b/articles/2023/debian-or-arch.html new file mode 100755 index 0000000..185768a --- /dev/null +++ b/articles/2023/debian-or-arch.html @@ -0,0 +1,38 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Debian 12 or Arch

+

03-09-2023

+ +

+ I installed Debian 12 on my T430, as that's what I use on my vps servers, but after using Arch Linux on my X220 I'm a bit dubious. +

+ For example, Firefox. The stable release of Debian has a much older version, if you want to use the latest version you either have to get the unstable packages via the pin system or use a snap package. +

+ Using pin with an unstable package messes up your installation because afterwards I needed to install curl, and guess what, it has to be unstable too otherwise you can't install it because of modified dependancies. +

+ For Neomutt, a 2023 version isn't even in unstable, so the only solution is to download a ton of development dependancies and compile it myself. Been there done that but it leads me to doubt the system. Maybe there will be tears down the road with some other unforseen problem. +

+ Conclusion, Debian is the best for servers, but maybe less so for my Laptop. +

+ Back to Arch then. +

+
+
+ + diff --git a/articles/2023/drm-et-firefox.html b/articles/2023/drm-et-firefox.html new file mode 100755 index 0000000..9e56430 --- /dev/null +++ b/articles/2023/drm-et-firefox.html @@ -0,0 +1,39 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

DRM dans Firefox

+

03-09-2023

+

+ Ma Freebox m'empêche de regarder sans problème les vidéos d'Amazon Prime. Les chaînes de télévision normales fonctionnent bien, mais Amazon Video ne cesse de se couper. +

+ Sur ma smartphone ou sur ordinateur pas de problem. +

+ Je regarde donc actuellement Amazon Prime Video sur mon ordinateur portable avec Firefox. +

+ Il suffit d'activer le contenu DRM dans les paramètres : +

+ +

+ Et la, ça marche plutôt bien. +

+ Je pense que le logiciel du boîtier TV de Free doit passer par la fenêtre pour obtenir une mise à jour. +

+
+
+ + diff --git a/articles/2023/evil-empire.html b/articles/2023/evil-empire.html new file mode 100755 index 0000000..eff8071 --- /dev/null +++ b/articles/2023/evil-empire.html @@ -0,0 +1,38 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Evil Empire

+

10-11-2023

+ evil empire +

So facebook has thrown down the sword. Pay up or bend over.

+

Thanks but no thanks.

+

+ There are many other solutions that respect your privacy, you don't need + to use stealth slot machines like Facebook or X rated Twitter. +

+

+ Check out Mastodon for example +

+

+

Update

+ Maybe not going the way Meta wants, see: noyb files GDPR complaint +

+
+
+
+

 

§

+ diff --git a/articles/2023/fixing-25-second-firefox-delay.html b/articles/2023/fixing-25-second-firefox-delay.html new file mode 100755 index 0000000..13edab4 --- /dev/null +++ b/articles/2023/fixing-25-second-firefox-delay.html @@ -0,0 +1,45 @@ + + + + + + + Bloggings + + +
+

Bloggings

+
Back + +
+ + +
+
+

Fixing a 25 second startup delay in Firefox

+

06-09-2023

+

+ I found Firefox was taking a while to launch in XFCE4. I tested removing + the plugins, emptying the cache, etc. but nothing worked. +

+

+ Eventually I ran "strace Firefox" and found it was hanging polling + something for 25 seconds. +

+

+ So armed with the readout from strace, I searched and found the solution : +

+ +sudo pacman -Rndd xdg-desktop-portal + +

+ I kept xdg-desktop-portal-gtk as the bug isn't in there. Apparently + xdg-desktop-portal-gnome has the same bug, but I don't use Gnome so... +

+

Both Firefox and Libreoffice now launch in milliseconds!

+

I hope this helps someone else...

+
+
+ + diff --git a/articles/2023/hardening-firefox.html b/articles/2023/hardening-firefox.html new file mode 100755 index 0000000..67ea172 --- /dev/null +++ b/articles/2023/hardening-firefox.html @@ -0,0 +1,47 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Hardening Firefox

+

19-11-2023

+

+ I don't like spyware disguised as web browsers, so I don't use Google + Chrome, Microsoft Edge, Opera, etc. +

+

+ Instead I use Firefox with a hardened user.js , which is the configuration + file for Firefox settings +

+

+ arkenfox/user.js +

+

and the following add-ons:

+
    +
  • Ublock Origin
  • +
  • Privacy Badger
  • +
  • Decentraleyes
  • +
+

+ I also use a private search engine, + SearXNG + to avoid tracking and profiling. +

+ +
+
+ + diff --git a/articles/2023/images-in-xterm-emulators.html b/articles/2023/images-in-xterm-emulators.html new file mode 100755 index 0000000..4066ad7 --- /dev/null +++ b/articles/2023/images-in-xterm-emulators.html @@ -0,0 +1,45 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Images in terminal emulators

+

13-11-2023

+ xterm-images +

+ Playing with newsboat and W3M as pager, I've been checking Terminals that support W3M images without flickering when scrolling, or other display artifacts. Unfortunately I've only found one, Xterm. +

+ There are a lot of publications on the web proposing arcane hacks, might not work for you's, unmaintained stuff, etc. but in reality there's no cut and dried solution for W3M's own image rendering that works on all terminal emulators. +

+
    +
  • Xterm - Images display correctly
  • +
  • Kconsole - Images display but bar across the screen at the cursor position
  • +
  • Xfce4-terminal - Images display only when scrolling with flicker
  • +
  • Alacritty - Images display only when scrolling with flicker
  • +
  • Mate Terminal - Images display only when scrolling with flicker .etc. etc.
  • +
  • Kitty - has it's own image routines, but I was unable to get it to work with W3M 's kitty display option
  • +
+

+ The working solution I found was sixel support, see arewesixelyet.com +

+ Today the winner is: Alacritty with W3M's img2sixel option +

+ w3m-options + +
+
+ + diff --git a/articles/2023/jersey-before.html b/articles/2023/jersey-before.html new file mode 100755 index 0000000..7becb1c --- /dev/null +++ b/articles/2023/jersey-before.html @@ -0,0 +1,26 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Jersey before 541 a.d.

+

24-10-2023

+ + +
+
+ + diff --git a/articles/2023/kind-of-blue.html b/articles/2023/kind-of-blue.html new file mode 100755 index 0000000..83c1f7b --- /dev/null +++ b/articles/2023/kind-of-blue.html @@ -0,0 +1,52 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back +
+ +
+
+

Kind of Blue

+

11-11-2023

+

+ The best selling Jazz album of all time. 1959, the year everything + changed. +

+
+ +
+

+ https://youtu.be/j9QXpfvgSVk +

+
+
+ + + diff --git a/articles/2023/linux-paradise.html b/articles/2023/linux-paradise.html new file mode 100755 index 0000000..7f18aee --- /dev/null +++ b/articles/2023/linux-paradise.html @@ -0,0 +1,28 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Linux paradise

+

15-08-2023

+ +

Dad, what are clouds made of?

+

Linux servers, mostly

+ +
+
+ + diff --git a/articles/2023/map-of-langourla.html b/articles/2023/map-of-langourla.html new file mode 100755 index 0000000..6830f76 --- /dev/null +++ b/articles/2023/map-of-langourla.html @@ -0,0 +1,35 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

A map of Langourla

+

24-08-2023

+ +

+ A few years ago I made this map of Langourla using Inkscape. +

+ Notably it shows the old roman roads and an estimation of the chemin de St.Gilles from some of the documents found at the BNF. +

+ A friend asked me for it last week, so I thought I'd post it here. +

+

+ langourla.pdf +

+
+
+ + diff --git a/articles/2023/mer-des-faluns.html b/articles/2023/mer-des-faluns.html new file mode 100755 index 0000000..8425c2b --- /dev/null +++ b/articles/2023/mer-des-faluns.html @@ -0,0 +1,30 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Mer des Faluns

+

11-11-2023

+ mer-des-faluns +

+ Quand la Bretagne était une île +

+ Wikipaedia + +
+
+ + diff --git a/articles/2023/micro-text-editor.html b/articles/2023/micro-text-editor.html new file mode 100755 index 0000000..1be9026 --- /dev/null +++ b/articles/2023/micro-text-editor.html @@ -0,0 +1,34 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

+ Micro text editor

+

28-08-2023

+

+ I've been using Joe as my go-to shell text editor for years, writing web sites with it, and basically all text writing. Recently I've been looking at Micro as it has a Prettier plugin. This plugin uses Prettier to format your code upon saving your file. Micro is vastly superior to Nano and has a number of useful plugins. +

+ I have never been able to be productive with Vim. +

+ I'm so set in my ways regarding Joe that I'll have to alias joe to micro in order to use it, but I think it's the way forward. +

+ https://micro-editor.github.io +

+
+
+ + diff --git a/articles/2023/minimalist-blog.html b/articles/2023/minimalist-blog.html new file mode 100755 index 0000000..714e790 --- /dev/null +++ b/articles/2023/minimalist-blog.html @@ -0,0 +1,87 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

A Minimalist blog

+

23-11-2023

+
Updated 07-09-2025
+

+ In the past I've used several blog engines, CMS, and rolled my own solutions, but at + the end of the day, I find writing simple html is faster and easier than using a blog + engine. A blog engine or CMS makes you dependant on other softwareand may no longer exist + or be obsolete in a couple of years. Plus you usually have to hack the html and css + of these engines to get what you want anyway, which defeats their purpose. +

+

+ After playing with 8 bit computers, my IT career debuted writing invoicing + applications using Multiplan on MS-DOS, so plain text has a nostalgic pull + for me. Searching for a reasonable solution, I looked at + Gopher and + Gemini. +

+

+ Both are nice although Gopher is old and quirky and Gemini still a bit experimental, + but the fundemental problem is that they both require specific browsers, html bridges or plugins to be viewed, + limiting their use and content availability to a few initiates, and I really mean a few. + Lets face it, the www is the common denominator today. +

+

+ Ok, you can't put the djinn back in the bottle. You can do a load of stupid stuff + with a web site, and there are billions of them out there producing carbon, wasting energy, + and displaying a marked lack of content behind a show of technological sleight of hand. +

+

+ Instead, the onus is on you to write a universally readable web site, + not on the reader to posess the right browser. +

+

+ Of course, you can't force people to be responsible, and major search engines + don't offer to filter out crap websites. In the mean time, I'll practice what I preach. +

+

+ So here's a blog with articles that just uses simple html. + There are no Javascript, grids, or + fancy formats. Articles are plain html and can be read in a terminal text browser like + Lynx, or a simple browser + graphical browser like Dillo, or a state + of the art browser like + Firefox. +

+

+ The only extras are the use of some basic css for browsers that can use + it, and UTF-8 character encoding rather than ASCII. Behind the scenes + there's some PHP for generating article listings and search, and a couple of + bash scripts to edit new articles and upload them. I think + this arrangement will be pretty future resistant.

+

You can download the scripts here +

+

+ A Google only web is on the horizon. Let them have it. Instead let's go + back to enjoying a fast, pertinent, content-rich space where you are not + the product. +

+

+ For info, I use Librewolf, + a more secure version of Firefox, and + Chawan, + perhaps the best terminal web browser to date. +

+ +
+
+ + diff --git a/articles/2023/ms-eu-fine.html b/articles/2023/ms-eu-fine.html new file mode 100755 index 0000000..e3c7656 --- /dev/null +++ b/articles/2023/ms-eu-fine.html @@ -0,0 +1,34 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+ +
+ + diff --git a/articles/2023/new-television.html b/articles/2023/new-television.html new file mode 100755 index 0000000..6d9ff57 --- /dev/null +++ b/articles/2023/new-television.html @@ -0,0 +1,41 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ + +
+
+

New Television

+ +

05-10-2023

+ +

+My old 43" Panasonic bought in 2007 for 2500 was a bit tired, or was it me tired of it? +

+Whatever the reason, I decided to change it. After visiting the local shops and getting asked questions like "what is a bluetooth remote?" by salespeople, I ended up buying online. +

+If people turn to buying online, traditional shops are largely to blame in my humbler opinion. +

+The TCL 43C641 arrived, the first thing I noticed was it's weight, so much lighter than the old Panasonic. I bought a separate central column stand as I don't like the diddly feet that require a support larger than the television to not fall off. +

+Setup was a breeze, although android TV boxes go out of their way to stop you from running apps upon launch. For example my provider is Free, and so I use the OQEE app instead of the Free TV box, but impossible to have it automatically run when the telly starts. +

+The strangest thing is the definition. We were so used to the Panasonic, the higher definition somehow makes films or series look as if they were shot by an amateur. I guess it's habit. +

+ +
+
+ + diff --git a/articles/2023/newsboat-strip-junk-from-web-pages.html b/articles/2023/newsboat-strip-junk-from-web-pages.html new file mode 100755 index 0000000..d3ea26f --- /dev/null +++ b/articles/2023/newsboat-strip-junk-from-web-pages.html @@ -0,0 +1,46 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Newsboat: Strip junk from webpages

+

17-11-2023

+

+ Install Python readability +

+ yay -S python-readability-lxml +

+ Test output +

+ + python3 \ -m readability.readability -u \ 'https://www.servethehome.com/amd-psb-vendor-locks-epyc-cpus-for-enhanced-security-at-a-cost/' \ 2> /dev/null \ 1> output.html + +

+ In ~/.newsboat/config +

+ set macro - french keyboard comma semicolon is practical +

+ + macro ; set browser "python3 -m readability.readability -u %u 2> /dev/null | w3m -T text/html"; open-in-browser ; set browser "w3m %u" + +

+ Source +

+ +
+
+ + diff --git a/articles/2023/noyb-files-gdpr-comp.html b/articles/2023/noyb-files-gdpr-comp.html new file mode 100755 index 0000000..5c9d131 --- /dev/null +++ b/articles/2023/noyb-files-gdpr-comp.html @@ -0,0 +1,42 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

GDPR complaint against Meta

+

28-11-2023

+

+ Today, noyb filed a complaint against Meta with the Austrian data protection + authority. European users now have the “choice” to either consent to being + tracked for personalized advertising – or pay up to €251.88 a year to retain + their fundamental right to data protection on Instagram and Facebook. Not only + is the cost unacceptable, but industry numbers suggest that only 3 percent of + people want to be tracked – while more than 99 percent decide against a + payment when faced with a “privacy fee”. If Meta gets away with this, + competitors will soon follow in its footsteps. Given that the average phone + has 35 apps installed, keeping your phone private could soon cost around € + 8,815 a year. +

+

+ https://noyb.eu +

+
+
+ + diff --git a/articles/2023/nuclear-sabotage.html b/articles/2023/nuclear-sabotage.html new file mode 100755 index 0000000..3ec563a --- /dev/null +++ b/articles/2023/nuclear-sabotage.html @@ -0,0 +1,47 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back +
+ +
+
+

Nuclear Sabotage

+

14-09-2023

+

+ How Russia incited German and French politicians to sabotage French + nuclear power. It nearly worked. +

+
+ +
+
+
+ + + diff --git a/articles/2023/obscurantism.html b/articles/2023/obscurantism.html new file mode 100755 index 0000000..e91c9ba --- /dev/null +++ b/articles/2023/obscurantism.html @@ -0,0 +1,26 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Obscurantism

+

17-10-2023

+ + +
+
+ + diff --git a/articles/2023/pacman-yay-notes.html b/articles/2023/pacman-yay-notes.html new file mode 100755 index 0000000..f846500 --- /dev/null +++ b/articles/2023/pacman-yay-notes.html @@ -0,0 +1,33 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Arch Linux Pacman Notes

+

01-01-2023

+

+ Clean unused packages: pacman -Qdtq | pacman -Rs - +

+ Clean package cache: pacman -Sc +

+ Purge package: pacman -Runs +

+ yay -Scc +

+
+
+ + diff --git a/articles/2023/password-store-remote.html b/articles/2023/password-store-remote.html new file mode 100755 index 0000000..867c01b --- /dev/null +++ b/articles/2023/password-store-remote.html @@ -0,0 +1,38 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Password-store remote server

+

02-09-2023

+

+ I added a remote server for pass so I can share the passwords on my new-to-me laptop. +

+ see: https://gist.github.com/abtrout/d64fb11ad6f9f49fa32 +

+ and don't forget to +

+
    +
  • Add the Passff extension to Firefox
  • +
  • Add the host app
  • +
+ + curl -sSL github.com/passff/passff-host/releases/latest/download/install_host_app.sh | bash -s -- firefox + +
+
+ + diff --git a/articles/2023/password-store-to-bitwarden.html b/articles/2023/password-store-to-bitwarden.html new file mode 100755 index 0000000..8fd66a0 --- /dev/null +++ b/articles/2023/password-store-to-bitwarden.html @@ -0,0 +1,79 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

password-store to bitwarden

+

2023-12-04

+

Migrating from password-store to Bitwarden and RBW

+

+ I've been using Pass (password-store) for a couple of years now, and it works really well on the command line and + with command line apps. Browser extensions exist that while not earth + shattering, do work. Setting up a remote git repository and sharing the + repository on another computer is relatively easy, and overall it appeals to + my ideal of no-nonsense software. +

+

+ Problems arise however when you want to share your password store on Android. + Getting the android app to work with the same repository is a few steps away + from planetary orbit insertion calculations. +

+

+ After fiddling with it for a few hours, I threw in the towel. I must be too + dumb. The most recent user written howto I found dated from 2018, for an older + version. I get the impression that nobody really uses it. With probable + reason. +

+

+ So with a sigh in my heart I've opted to move to + Bitwarden for now. +

+

Bitwarden

+

+ Bitwarden is free for personal use, but also has some extras with $10 and $40 + year plans. +

+

+ Bitwarden's browser extensions are great, Android support is great, and + there's a command line app. You can even set up your own Bitwarden repository, + although that's something I don't really need. +

+

+ Bitwarden doesn't have LastPass's data breach history, and it appears to cater + to people like me who just want the job done without a ton of + commercialisation effects. +

+

Migration

+

+ There are a couple of ways to migrate from Pass to Bitwarden, but I found that + Pass can pile up a lot of obsolete and irregular data, so I've installed the Bitwarden and + Pass Browser Firefox extensions side by side, so I can build the Bitwarden vault as I go + along. +

+

Update

+

I've been using Bitwarden for two years now and I'm completely satisfied.

+

Bitwarden's unofficial command line application RBW +has come a long way. It's now easy to include RBW in the mbsync config file .mbsyncrc for +example to obtain a stored password with

+Passcmd "rbw get [folder/password]" +

I use the same synchronised vault on Android and two different laptops.

+ +
+
+ + diff --git a/articles/2023/periodic-fstrim-on-ssd-drives.html b/articles/2023/periodic-fstrim-on-ssd-drives.html new file mode 100755 index 0000000..5e22772 --- /dev/null +++ b/articles/2023/periodic-fstrim-on-ssd-drives.html @@ -0,0 +1,40 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Periodic fstrim on SSD drives

+

05-11-2023

+

+The util-linux package provides fstrim.service and fstrim.timer systemd unit files. +

+Enabling the timer will activate the service weekly. The service executes fstrim(8) on all mounted filesystems on devices that support the discard operation. +

+The timer relies on the timestamp of /var/lib/systemd/timers/stamp-fstrim.timer (which it will create upon first invocation) to know whether a week has elapsed since it last ran. +

+Therefore there is no need to worry about too frequent invocations, in an anacron-like fashion. systemctl enable fstrim.timer +

+To query the units activity and status, see journalctl. +

+To change the periodicity of the timer or the command run, edit the provided unit files. +

+https://wiki.archlinux.org/title/Solid_state_drive + + +
+
+ + diff --git a/articles/2023/prettier-when-it-works.html b/articles/2023/prettier-when-it-works.html new file mode 100755 index 0000000..8e0c196 --- /dev/null +++ b/articles/2023/prettier-when-it-works.html @@ -0,0 +1,50 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back +
+
+ +
+
+

Prettier when it works

+

24-08-2023

+ +

Prettier is a great code beautifier for PHP, once you get it to work.

+ +

Update 14 may 2025

+

For Archlinux:

+ pacman -S prettier +yay -S prettier-plugin-php +

edit ~/.prettierrc

+
+{ 
+   "plugins": ["/usr/lib/node_modules/@prettier/plugin-php/src/index.mjs"]
+}
+    
+

In order to use it in the Micro text editor, download micro-prettier:

+
+    git clone https://github.com/claromes/micro-prettier.git
+    cd micro-prettier
+    make
+    
+

If you would rather not have it running on every save, in micro:
+ Ctrl+e > set prettier.onsave false

+
+
+ + + diff --git a/articles/2023/protecting-your-computer-with-a-hosts-file.html b/articles/2023/protecting-your-computer-with-a-hosts-file.html new file mode 100755 index 0000000..8ec8edf --- /dev/null +++ b/articles/2023/protecting-your-computer-with-a-hosts-file.html @@ -0,0 +1,42 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Protecting your computer with a hosts file

+

19-11-2023

+

Sebsauvage has put together a great hosts file: + dns-blocklist +

+

+ DNS filtering is a simple way of blocking the majority of ads, trackers and malicious sites with minimum effort. Set-up is fast and easily reversible. +

+

On Linux

+sudo curl "https://sebsauvage.net/wiki/doku.php?do=export_code&id=dns-blocklist&codeblock=0" -o /etc/cron.weekly/hosts-update +sudo chmod +x /etc/cron.weekly/hosts-update +

+ Run the first update: +

+sudo /etc/cron.weekly/hosts-update +

On Windows

+

+ Windows networking is a steaming pile of manure, but you can still install this file with caveats. +

+ +
+
+ + diff --git a/articles/2023/quad-9.html b/articles/2023/quad-9.html new file mode 100755 index 0000000..1987f9d --- /dev/null +++ b/articles/2023/quad-9.html @@ -0,0 +1,30 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ + +
+
+

Quad9 and systemd-resolved

+

05-09-2023

+

+I set up systemd-resolved with the Quad9 DNS servers, with Cloudflare as backup. Quad9 is a Swiss DNS service that blocks malicious hosts and improves performance. +

+https://geekflare.com/linux-server-local-dns-caching + +
+
+ + diff --git a/articles/2023/radio-jazz-soul.html b/articles/2023/radio-jazz-soul.html new file mode 100755 index 0000000..1c2ff6d --- /dev/null +++ b/articles/2023/radio-jazz-soul.html @@ -0,0 +1,27 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+ +
+ + diff --git a/articles/2023/saint-catherine.html b/articles/2023/saint-catherine.html new file mode 100755 index 0000000..c34e17a --- /dev/null +++ b/articles/2023/saint-catherine.html @@ -0,0 +1,37 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Saint Catherine

+

17-11-2023

+ saint catherine +

+ À la Sainte-Catherine, tout bois prend racine +

+ On Saint Catherine's Day ( 25th November), all wood takes root +

+ I haven't suddenly converted to religion, it's just a saying... +

+ When the plants are not using energy to produce leaves, but the weather is mild and wet, is an ideal time for cuttings. +

+ The sun is out so I snipped and planted a load of cuttings, some nicked from the local church garden. +

+ +
+
+ + diff --git a/articles/2023/searxng-a-private-search-engine.html b/articles/2023/searxng-a-private-search-engine.html new file mode 100755 index 0000000..bd6fbb7 --- /dev/null +++ b/articles/2023/searxng-a-private-search-engine.html @@ -0,0 +1,35 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Searxng - a private search engine

+

12-11-2023

+

+ I've installed a copy of Searxng. +

+ It's also on my laptop, but my internet connection is so crappy it's faster to have it on a vps +

+ Searxng is a free meta-search engine, meaning that it does not manage the search itself but relies on search engines such as bing, google, duckduckgo, etc. that it uses anonymously. +

+ The difference is that nothing is tracked, nobody is profiling you, there are no logs, thus your searches are totally private. +

+ https://docs.searxng.org/index.php + +
+
+ + diff --git a/articles/2023/searxng-on-my-laptop.html b/articles/2023/searxng-on-my-laptop.html new file mode 100755 index 0000000..f566d65 --- /dev/null +++ b/articles/2023/searxng-on-my-laptop.html @@ -0,0 +1,59 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

SearxNG on my laptop

+

05-11-2023

+

To keep my searches private, I've installed SearxNG on the T430.

+

Here's how I did it: My OS is Arch linux.

+
+$ cd ~/Downloads 
+$ git clone https://github.com/searxng/searxng.git searxng 
+$ cd searxng sudo -H ./utils/searxng.sh install all 
+
+

+ I use Nginx as a web server on my laptop, so I added the following in + /etc/nginx/sites-available/localhost +

+
+location /searxng {
+  uwsgi_pass unix:///usr/local/searxng/run/socket;
+  include uwsgi_params;
+  uwsgi_param    HTTP_HOST             $host;
+  uwsgi_param    HTTP_CONNECTION       $http_connection;
+
+  # see flaskfix.py
+  uwsgi_param    HTTP_X_SCHEME         $scheme;
+  uwsgi_param    HTTP_X_SCRIPT_NAME    /searxng;
+  # see limiter.py 
+  uwsgi_param    HTTP_X_REAL_IP      $remote_addr;
+  uwsgi_param    HTTP_X_FORWARDED_FOR  $proxy_add_x_forwarded_for;
+}
+
+

Navigate to localhost/searxng and there's our search engine.

+

+ In order to use it as the default search engine in Firefox, right click on + the url and select searxng as a search engine. +

+

Then in settings set searxng as the default search engine.

+ +
+
+ + diff --git a/articles/2023/system-collapse.html b/articles/2023/system-collapse.html new file mode 100755 index 0000000..846523f --- /dev/null +++ b/articles/2023/system-collapse.html @@ -0,0 +1,33 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

System Collapse

+

14-11-2023

+ book cover +

+ I have this in my Kindle as a next read... +

+

Update:Not as good as the previous books, Murderbot gets closer to figuring out humans, but no real surprises.

+

+ Amazon link +

+ +
+
+ + diff --git a/articles/2023/t430-cpu-upgrade.html b/articles/2023/t430-cpu-upgrade.html new file mode 100755 index 0000000..5cda990 --- /dev/null +++ b/articles/2023/t430-cpu-upgrade.html @@ -0,0 +1,41 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Thinkpad T430 CPU Upgrade

+

27-10-2023

+ +

+I've updated the CPU of my Thinkpad T430 +

+The laptop came with a dual core i5 , but as it is a highly upgradable machine, I've added a quad core i7–3632QM +

+I also changed the cooler to increase the amount of copper acting as the heatsink. +

+The benchmark shows a nice improvement and everything feels snappier. Probably unnecessary for basic use, but I plan to do some DVD transcoding, so in all a good move. See: +The Definitive T430 Modding +Guide +

+

Update

+

+The standard 65 watt charger that comes with the T430 no longer charges while the laptop is running as the new CPU sucks more juice that the charger can handle, so I've bought a 90 watt charger. The battery itself runs for about a bit less than before due to the same cause. It's looking good ! +

+
+
+ + diff --git a/articles/2023/t430-cpu-upgrade.html~ b/articles/2023/t430-cpu-upgrade.html~ new file mode 100755 index 0000000..9cb1c56 --- /dev/null +++ b/articles/2023/t430-cpu-upgrade.html~ @@ -0,0 +1,38 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +

Thinkpad T430 CPU Upgrade

+
27-10-2023
+ +

+I've updated the CPU of my Thinkpad T430 +

+The laptop came with a dual core i5 , but as it is a highly upgradable machine, I've added a quad core i7–3632QM +

+I also changed the cooler to increase the amount of copper acting as the heatsink. +

+The benchmark shows a nice improvement and everything feels snappier. Probably unnecessary for basic use, but I plan to do some DVD transcoding, so in all a good move. See: The Definitive T430 Modding Guide +

+

Update

+

+The standard 65 watt charger that comes with the T430 no longer charges while the laptop is running as the new CPU sucks more juice that the charger can handle, so I've bought a 90 watt charger. The battery itself runs for about a bit less than before due to the same cause. It's looking good ! +

+ + +
+ A minimalist blog by Philip Wittamore +
+ + diff --git a/articles/2023/thinkpad-t430.html b/articles/2023/thinkpad-t430.html new file mode 100755 index 0000000..75390fe --- /dev/null +++ b/articles/2023/thinkpad-t430.html @@ -0,0 +1,48 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Thinkpad T430

+

27-08-2023

+

+ Since april 2021 I've been using a Thinkpad X220. I upgraded it with 16Gb ram and a 240Gb SSD hard drive. Really happy with it, solid well built no-nonsense laptop. +

+ But I have a growing problem, the 12" 1366 x 768 is a bit small for developing web sites, and my eyes aren't what they used to be. +

+ So I've bought another old Thinkpad, this time a T430. It has a 14" 1600 x 900 screen. +

+ Upgrades: 16Gb ram, a 128Gb msata hard disk, a 480Gb SSD hard disk, and AC-7260HMW wifi card. +

+ I'll upgrade the Bios with 1vyrain to unlock the limits of Ivybridge laptops and install the AC-7260. +

+ It's also possible to upgrade the screen and processor. +

+ People tend to fall in love with these laptops, because their build and upgradablilty have never been bettered, + and where else can you get a Thinklight? +

+ (Framework laptops look nice, but an older Thinkpad is waaaay cheaper!) +

+ A few links about this machine: +

+ https://www.thinkwiki.org/wiki/Category:T430 +

+ https://medium.com/@n4ru/the-definitive-t430-modding-guide-3dff3f6a8e2e +

+
+
+ + diff --git a/articles/2023/updating-my-thinkpad-t430-wifi-card.html b/articles/2023/updating-my-thinkpad-t430-wifi-card.html new file mode 100755 index 0000000..8864181 --- /dev/null +++ b/articles/2023/updating-my-thinkpad-t430-wifi-card.html @@ -0,0 +1,67 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ + +
+
+

Updating my Thinkpad T430 wifi card

+

06-09-2023

+ +

+The wifi card that was installed in my laptop was an Intel® Centrino® Advanced-N 6205 +

+The N 6205 is a dual band card but unlike the AC 7620, It doesn't have an integrated bluetooth card, nor 802.11ac +

+I previously flashed the bios with 1vyrain see article, which wipes the whitelist that would otherwise prevent me from installing hardware not on the list. So I can now install the AC 7620. +

+The T430 doesn't activate this card unless the 51st pin is removed. I removed the pin with my Dremel (some use tape). +

+This pin is the last pin on the right when the card is face up. I put the laptop back together and checked. +

+The wifi came on automatically. +

+I then installed Bluez: +

+sudo pacman -S bluez sudo pacman -S bluez-utils sudo pacman -S blueman +sudo micro /etc/bluetooth/main.conf set AutoEnable=true +sudo systemctl enable bluetooth.service +sudo systemctl start bluetooth.service + +

+I made sure pulseaudio was installed: +

+ +sudo pacman -S pulseaudio +sudo pacman -S pulseaudio-bluetooth +sudo pacman -S pavucontrol +sudo systemctl enable pulseaudio +sudo systemctl start pulseaudio + +

+Then I connected my bluetooth headset and ... it just worked +

+Sources: +

+https://medium.com/@n4ru/the-definitive-t430-modding-guide-3dff3f6a8e2e +
+https://www.jeremymorgan.com/tutorials/linux/how-to-bluetooth-arch-linux/ +
+https://www.sevarg.net/2022/12/03/thinkpad-t430s-wireless-combo-card-upgrade/ +
+

+
+ + diff --git a/articles/2023/windowmaker-0.96.html b/articles/2023/windowmaker-0.96.html new file mode 100755 index 0000000..fb1b0a5 --- /dev/null +++ b/articles/2023/windowmaker-0.96.html @@ -0,0 +1,48 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Window maker 0.96

+

06-11-2023

+ +

+ Windowmaker has had it's first update since 2000, so I had to try it out. +

+

+ Windowmaker was written in 1997. For me it's a blast from the past as I + used to run it in a commercial setting, dual booting with windows 3.11 and + running Applixware 4.41 with custom software I wrote for labeling luxury + goods. +

+

+ I chose Windowmaker as it was easy for my collegues to select an app with + a nice big button. +

+

+ After using FVWM, it was easy to set up in comparaison and a unique + paradigm straight from Steve Job's Nextstep. I loved it. +

+

+ Nowdays I use mainly the Xfce4 environment, but it's nice to have + something else to play with. I've used Tiling window managers such as i3 + but they just don't work for me. +

+ +
+
+ + diff --git a/articles/2023/windowmaker-in-1998.html b/articles/2023/windowmaker-in-1998.html new file mode 100755 index 0000000..d1ea148 --- /dev/null +++ b/articles/2023/windowmaker-in-1998.html @@ -0,0 +1,35 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Windowmaker in 1998

+

07-11-2023

+

+ I've kept a couple of screenshots of an application I wrote using + Applixware 4.41, running on Windowmaker, in 1998. +

+

+ It was used with an early HP laser printer with refillable toner pots to + produce personalised product labels that had a lot of variables. +

+ + + +
+
+ + diff --git a/articles/2024/A-new-lathe.html b/articles/2024/A-new-lathe.html new file mode 100755 index 0000000..5bf9069 --- /dev/null +++ b/articles/2024/A-new-lathe.html @@ -0,0 +1,32 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

New lathe

+

2024-02-22

+ +

I haven't updated this blog for a couple of months due to my yearly winter brain fog during the dark season, +but here I am again. I've just ordered a new lathe from Bordet, the Coronet Herald.

+

My home-made lathe works but has limitations that I hope to overcome, +and it's going to give me a well needed push to get back into making things rather than being a couch potato.

+

I chose the Coronet Herald as it is the only lathe in it's category that has a rotating headstock, +which enables turning of large pieces, and in general it is at the top of all reviews.

+

I also have a project for a new workshop, as sharing the garage with madame is far from optimal and a guy needs his man-cave, right?

+
+
+ + diff --git a/articles/2024/Another-Oland-tool.html b/articles/2024/Another-Oland-tool.html new file mode 100755 index 0000000..419369b --- /dev/null +++ b/articles/2024/Another-Oland-tool.html @@ -0,0 +1,29 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Another Oland tool

+

2024-03-18

+ +

I'm making myself some new oland tools. The ones I have are rather big, and I wanted some finer tools.

+

This one is for 5mm HSS tool bits. It has a 7mm hole in a 12mm steel shaft with a set screw to hold the tool bit, +which can be ground to any form

+

#woodturning #tools #homemade

+
+
+ + diff --git "a/articles/2024/support-perc\303\251-pour-bougie-chauffe-plat.html" "b/articles/2024/support-perc\303\251-pour-bougie-chauffe-plat.html" new file mode 100755 index 0000000..6895073 --- /dev/null +++ "b/articles/2024/support-perc\303\251-pour-bougie-chauffe-plat.html" @@ -0,0 +1,27 @@ + + + + + + + Bloggings + + +
+

Bloggings

+ Back + +
+ +
+
+

Support percé pour bougie chauffe-plat

+

2024-03-11

+

+

I was give a scrap block of Iroko to try out, and came up with this.

+

Piercing the holes took a while even with mini drill. It has a Tung oil finish.

+
+
+ + diff --git a/articles/2025/A-fledgling-bash-function-library.html b/articles/2025/A-fledgling-bash-function-library.html new file mode 100755 index 0000000..d59d1d0 --- /dev/null +++ b/articles/2025/A-fledgling-bash-function-library.html @@ -0,0 +1,33 @@ + + + + + + + A fledgling bash function library + + +
+

Bloggings

+ Back + +
+ +
+
+

A fledgling bash function library

+

2025-05-16

+

Messing with bash functions

+

I needed a function for writing colour text, so I thought why not start a library +and learn some bash scripting? Anyway, it's up on my git repository.

+

Bashlib git repository

+
+
+ + + diff --git a/articles/2025/AC7260-wifi-card-on-Thinkpad-X220.html b/articles/2025/AC7260-wifi-card-on-Thinkpad-X220.html new file mode 100755 index 0000000..0d6475a --- /dev/null +++ b/articles/2025/AC7260-wifi-card-on-Thinkpad-X220.html @@ -0,0 +1,36 @@ + + + + + + + AC7260 wifi card on Thinkpad X220 + + +
+

Bloggings

+ Back + +
+ +
+
+

AC7260 wifi/bluetooth card on Thinkpad X220

+

2025-04-05

+

Easy card replacement

+ac7260 card +

I had previously upgraded the bios +on this machine so I could whitelist future hardware.

+

The new card was easy to install: remove the keyboard by unscrewing 2 screws under the RAM trapdoor

+

Carefully remove the keyboard by sliding it towards the screen to uncover the lower tabs and unplug it, +then remove the screws holding the palmrest and remove the palmrest carefully unplugging it.

+

The wifi card socket is on the right next to the M2 ssd socket

+

I removed pin 51 on the AC7620 with a dremel rather than using tape. Pin 51 is used to activate or deactivate certain card functions, +including Bluetooth, and can be problematic on certain thinkpads. I did the same for my T430.

+

See also Deactivating the X220 internal Bluetooth controller

+ +
+
+ + diff --git a/articles/2025/Amazon-playing-silly-buggers.html b/articles/2025/Amazon-playing-silly-buggers.html new file mode 100755 index 0000000..a4ca86f --- /dev/null +++ b/articles/2025/Amazon-playing-silly-buggers.html @@ -0,0 +1,39 @@ + + + + + + + Amazon playing silly buggers + + +
+

Bloggings

+ Back + +
+ +
+
+

Amazon playing silly buggers

+

2025-03-21

+

I've dropped my Kindle for a Kobo

+

+

I downloaded all my purchased books, around 500, before Amazon terminated the possibility. Even though it says "purchase" on their site in reality they are now selling you a license, and only allowing books to be read on Kindles.

+

Enough of this.

+

Using Calibre I created a library that can be read on any ebook reader, and purchased a Kobo Clara colour.

+

Now I'm as happy as a pig in muck. Oh and Amazon, I won't be buying books from you any more. There's more than enough alternative sources.

+

** I love Glynn Stewarts science fiction stories, but most of his work is +published on Amazon. The solution was simple, I subscribed to Glynn's Patreon account and +receive advanced copies of his books that I can read on any reader.

+

https://www.patreon.com/glynnstewart

+

That said, I've read nearly all of Michael Connelly's books but some of +his ebooks on Google or Kobo are country restricted. For example I' unable to purchase the +full series of the Jack Macevoy series because I'm in France. WTF? All this +does is tell me to get a book from another author. Get a clue guys!

+ +
+
+ + diff --git a/articles/2025/Anacron-on-Artix.html b/articles/2025/Anacron-on-Artix.html new file mode 100755 index 0000000..624a53a --- /dev/null +++ b/articles/2025/Anacron-on-Artix.html @@ -0,0 +1,93 @@ + + + + + + + Anacron on Artix + + +
+

Bloggings

+ Back + +
+ +
+
+

Anacron on Artix

+

2025-06-16

+

On Arch Anacron is a systemd process

+

Anacron ensures cron scripts are run on machines that are frequently powered off

+

On Artix it can be run via cron (cronie)

+ +

The /etc/crontab file

+ +# /etc/crontab: configuration file for cron +# See cron(8) and crontab(5) for details. +# m h dom mon dow user command + +SHELL=/bin/bash +PATH=/sbin:/bin:/usr/sbin:/usr/bin +MAILTO=root +HOME=/ + +# run-parts +# (also runs the 0anacron script every hour) +12 * * * * root run-parts /etc/cron.hourly +22 10 * * * root run-parts /etc/cron.daily +32 10 * * 0 root run-parts /etc/cron.weekly +42 10 1 * * root run-parts /etc/cron.monthly + + +

The /etc/cron.hourly/0anacron script

+ +#!/bin/sh +# Check whether 0anacron was run today already +if test -r /var/spool/anacron/cron.daily; then +day=`cat /var/spool/anacron/cron.daily` +fi +if [ `date +%Y%m%d` = "$day" ]; then +exit 0; +fi + +# Do not run jobs when on battery power +if test -x /usr/bin/on_ac_power; then +/usr/bin/on_ac_power >/dev/null 2>&1 +if test $? -eq 1; then +exit 0 +fi +fi +/usr/sbin/anacron -s + + +

The /etc/anacrontab file

+ +# /etc/anacrontab: configuration file for anacron + +# See anacron(8) and anacrontab(5) for details. + +SHELL=/bin/sh +PATH=/sbin:/bin:/usr/sbin:/usr/bin +MAILTO=root +# the maximal random delay added to the base delay of the jobs +RANDOM_DELAY=45 +# the jobs will be started during the following hours only +START_HOURS_RANGE=3-22 + +#period in days delay in minutes job-identifier command +1 5 cron.daily nice run-parts /etc/cron.daily +7 25 cron.weekly nice run-parts /etc/cron.weekly +@monthly 45 cron.monthly nice run-parts /etc/cron.monthly + + +
+
+ + + diff --git a/articles/2025/Annoying-touchpad.html b/articles/2025/Annoying-touchpad.html new file mode 100755 index 0000000..e4f784c --- /dev/null +++ b/articles/2025/Annoying-touchpad.html @@ -0,0 +1,35 @@ + + + + + + + Annoying touchpad + + +
+

Bloggings

+ Back + +
+ +
+
+

Annoying touchpad

+

2025-04-28

+

My palm keeps hitting the trackpad

+

So I deactivated it. Got a red touchpoint for that!

+
+sudo pacman -S xf86-input-synaptics
+synclient TouchpadOff=1
+
+
+
+ + + diff --git a/articles/2025/Archwiki-on-my-laptop.html b/articles/2025/Archwiki-on-my-laptop.html new file mode 100755 index 0000000..bb91166 --- /dev/null +++ b/articles/2025/Archwiki-on-my-laptop.html @@ -0,0 +1,38 @@ + + + + + + + Archwiki on my laptop + + +
+

Bloggings

+ Back + +
+ +
+
+

Archwiki on my laptop

+

2025-05-15

+

Wikiman enables you to peruse wiki's on your computer

+
+pacman -S wikiman
+pacman -S arch-wiki-docs
+cp /etc/wikiman.conf ~/.config/wikiman/
+
+

edit ~/.config/wikiman/wikiman.config to your liking. I use the chawan browser instead of w3m for example.

+

git page for Wikiman

+

Note: wikiman can be used in the TTY which can be a life saver if you have borked your installation.

+
+
+ + + diff --git a/articles/2025/Back-to-the-future.html b/articles/2025/Back-to-the-future.html new file mode 100755 index 0000000..54908c1 --- /dev/null +++ b/articles/2025/Back-to-the-future.html @@ -0,0 +1,37 @@ + + + + + + + Back to the future + + +
+

Bloggings

+ Back + +
+ +
+
+

Back to the future

+

2025-04-25

+

4 years afterwards

+

Back in 2001 I was using Pyradio with Cava on Manjaro with i3

+

Today I'm using the same apps on Arch Linux with DWM

+

Not quite sure if I'm going backwards or forwards...

+pyradio screenshot +

Pyradio-m3u

+

Here's a handy app that fills pyradio with a few thousand stations

+

pyradio-m3u

+
+
+ + + diff --git a/articles/2025/Bash-prompt-without-scripts.html b/articles/2025/Bash-prompt-without-scripts.html new file mode 100755 index 0000000..cf6c42c --- /dev/null +++ b/articles/2025/Bash-prompt-without-scripts.html @@ -0,0 +1,37 @@ + + + + + + + Bash prompt without scripts + + +
+

Bloggings

+ Back + +
+ +
+
+

Bash prompt without scripts

+

2025-05-06

+

A pretty prompt in one line of my .bashrc

+

I tried several bash prompt scripts but returned to just having a single line in my .bashrc

+
+export PS1='\[\e[30;102m\] \A \[\e[92;103m\]\[\e[30m\] \u@\h \[\e[93;107m\]\[\e[30m\] \w \[\e[0;97m\]\n\[\e[0m\]\$ '
+
+

This site is a great generator

+

I used the base 16 colour palette so that it ends up displayed using the Pywal16 terminal palette.

+

+
+
+ + + diff --git a/articles/2025/Betterfox.html b/articles/2025/Betterfox.html new file mode 100755 index 0000000..cf9985c --- /dev/null +++ b/articles/2025/Betterfox.html @@ -0,0 +1,28 @@ + + + + + + + Betterfox + + +
+

Bloggings

+ Back + +
+ +
+
+

Betterfox

+

2025-03-22

+

With all the hoohaa around Firefox wanting your data I started using Floorp instead.

+

But there is hope. Betterfox makes your Firefox safer and faster by modifying user.js

+

There's a lot of super interesting information on the site too.

+

BetterFox

+
+
+ + diff --git a/articles/2025/Blog-scripts.html b/articles/2025/Blog-scripts.html new file mode 100755 index 0000000..9c418a8 --- /dev/null +++ b/articles/2025/Blog-scripts.html @@ -0,0 +1,44 @@ + + + + + + + Blog scripts + + +
+

Bloggings

+ Back + +
+ +
+
+

Blog scripts

+

2025-05-13

+

My simple blog scripts

+

I've added my blog scripts to the git server just in case someone +needs a quick simple blog like this one.

+

Blog articles are simply html, the site structure is on your computer +and there are a couple of Bash scripts to manage it:

+
    +
  • blogthis builds an articles header and footer, opens the editor
  • +
  • blogsend uses ssh to upload all recently added or modified files
  • +
  • Blogrss builds/updates the rss feed
  • +
  • Blogsitemap builds/updates the sitemap
  • +
+

Note that these Bash scripts rely on your having set up ssh correctly to allow +you to ssh to your web server without entering a password.

+

The articles are listed by three php files that include a search form.

+

get the files here

+
+
+ + + diff --git a/articles/2025/Bringing-back-the-fun.html b/articles/2025/Bringing-back-the-fun.html new file mode 100755 index 0000000..5cd95de --- /dev/null +++ b/articles/2025/Bringing-back-the-fun.html @@ -0,0 +1,34 @@ + + + + + + + Bringing back the fun + + +
+

Bloggings

+ Back + +
+ +
+
+

Bringing back the fun

+

2025-04-23

+

I installed xscreensaver and it's cool

+

Many years ago my window managers were FVWM and Windowmaker, and they were a great deal of fun.

+

Installing DWM is a breath of fresh air, giving me a bit of nostalgia for the good old days.

+

I'm trying to not fall into the trap of patching DWM to death and adding useless bling, just keeping it simple.

+

However, today I installed xscreensaver and my screen lit up reminding me that like the indie web, older stuff can be fun.

+
+
+ + + diff --git a/articles/2025/Browser-choices.html b/articles/2025/Browser-choices.html new file mode 100755 index 0000000..d8b483a --- /dev/null +++ b/articles/2025/Browser-choices.html @@ -0,0 +1,45 @@ + + + + + + + Browser choices + + +
+

Bloggings

+ Back + +
+ +
+
+

Browser choices

+

2025-04-02

+

Browser, browser, on the wall, who is the fairest of them all?

+

Here's my totally not objective shortlist to date

+
    +
  • Firefox - doing stupid things for money
  • +
  • Floorp - so many options I wound up not using
  • +
  • Chawan - works great with Ghostty, Neomutt & Newsboat
  • +
  • W3M - best of the text browsers after Chawan
  • +
  • Lynx - borks on ipv6
  • +
  • Dillo - fast and simple, too simple?
  • +
  • Librewolf - a lean secure Firefox
  • +
  • Waterfox - yeah but Librefox is leaner
  • +
  • Mullvad - nice and secure, I don't need a VPN though, yet
  • +
  • Otter - nice but crashed
  • +
  • Qutebrowser - yet another barrel of keystrokes to learn
  • +
  • Nyx - yet another barrel of keystrokes to learn
  • +
  • Chrome - google's squirmy tentacles, no thanks
  • +
  • Chromium - I just use it for Jitsi
  • +
  • Brave - crypto what?
  • +
  • Vivaldi - ok but it didn't hook me
  • +
  • Edge - vade retro satana
  • +
+
+
+ + diff --git a/articles/2025/Carbide-tools-for-wood-turning.html b/articles/2025/Carbide-tools-for-wood-turning.html new file mode 100755 index 0000000..09ea597 --- /dev/null +++ b/articles/2025/Carbide-tools-for-wood-turning.html @@ -0,0 +1,45 @@ + + + + + + + Carbide tools for wood turning + + +
+

Bloggings

+ Back + +
+ +
+
+

Carbide tools for wood turning

+

2025-09-07

+

Making my own tools

+

image

+

I obtained some HRC61~63 steel rods and made my own carbide wood turning tools.

+

As the rods are 12mm with a round profile instead of square, presentation of the carbide cutters at various angles, not just 90° is enabled. +My thinking was that I needed some beefy handles to provide leverage and facilitate control..

+

The handles are made of Ash, and came from the winter woodpile. A more noble end than being thrown in the woodburner.

+

First impressions are good, specially the round cutter. It looks like these tools are shapers, and position themselves between +the roughing gouge and finition.

+

Note that you'll need a hss+cobalt drill bit to make a hole in the hardened steel shafts.

+

Shafts: Linear bearing shafts, 12mm x 600mm

+

Carbide inserts:
15mm round
+15mm square

+

I might get some diamond shaped carbide cutters too, but I have some home made hss tools that do roughly the same job.

+

See here and here +for more of my home made lathe tools

+

#woodturning #tools #homemade

+
+
+ + + diff --git a/articles/2025/Chaotic-Aur.html b/articles/2025/Chaotic-Aur.html new file mode 100755 index 0000000..44e7ad1 --- /dev/null +++ b/articles/2025/Chaotic-Aur.html @@ -0,0 +1,43 @@ + + + + + + + Chaotic Aur + + +
+

Bloggings

+ Back + +
+ +
+
+

Chaotic Aur

+

2025-03-23

+

Chaotic Aur is an automated building repo for AUR packages

+

Retrieve the primary key to enable the installation of our keyring and mirror list

+sudo pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com +sudo pacman-key --lsign-key 3056513887B78AEB + +

Install the chaotic-keyring and chaotic-mirrorlist packages

+sudo pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' +sudo pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst' + +

Append (adding at the end) the following to /etc/pacman.conf

+[chaotic-aur] +Include = /etc/pacman.d/chaotic-mirrorlist + + +

Run a full system update along syncing the mirrorlist

+sudo pacman -Syu + +

The repository is ready to use! 🚀

+sudo pacman -S firedragon +
+
+ + diff --git a/articles/2025/Closing-laptop-lid-without-suspend.html b/articles/2025/Closing-laptop-lid-without-suspend.html new file mode 100755 index 0000000..5890d25 --- /dev/null +++ b/articles/2025/Closing-laptop-lid-without-suspend.html @@ -0,0 +1,44 @@ + + + + + + + Closing laptop lid without suspend + + +
+

Bloggings

+ Back + +
+ +
+
+

Closing laptop lid without suspend

+

2025-07-04

+

Looking into using a laptop as a home server

+

Since I've got a fibre connection I've been musing about not paying for a VPS and using a home server instead.

+

I have an unused laptop that could fit the bill maybe. The advantage of a laptop is that 1) I have one and 2) No need for +a ups or screen.

+

I'm not really sure that I'll build a home server like this, but I'm collecting info.

+

One of the things I was wondering is how to stop a laptop from entering suspend when the lid is closed. I found a +comment on unixstackexchange that explains how to do it on a non-systemd installation. (and a systemd one too but who cares about that?)

+

Find the path of the lid switch:

+cat /proc/acpi/wakeup +

Find the line for the lid and enter the command to deactivate it, for example:

+echo 'PNP0C0D:00' | sudo tee /sys/bus/acpi/drivers/button/unbind +

If it works, you can add the above line to /etc/rc.local to make it permanent.

+

Original comment

+

On systemd installations, edit /etc/systemd/logind.conf and uncomment the following line: HandleLidSwitch=ignore.

+ +
+
+ + + diff --git a/articles/2025/Cpu-scaling-governors-on-Thinkpax-X220.html b/articles/2025/Cpu-scaling-governors-on-Thinkpax-X220.html new file mode 100755 index 0000000..72ce067 --- /dev/null +++ b/articles/2025/Cpu-scaling-governors-on-Thinkpax-X220.html @@ -0,0 +1,31 @@ + + + + + + + Cpu scaling governors on Thinkpax X220 + + +
+

Bloggings

+ Back + +
+ +
+
+

Cpu scaling governors on Thinkpad X220

+

2025-03-26

+

There are only two CPU scaling governors on my Thinkpad X220

+

Powersave, and Performance

+

Attempting to use any other in tlpui will not give the desired results

+

Check available govenors:

+cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors +

See also: Linux +power consumption control

+
+
+ + diff --git a/articles/2025/DNS4U-European-DNS-servers-go-live.html b/articles/2025/DNS4U-European-DNS-servers-go-live.html new file mode 100755 index 0000000..442985e --- /dev/null +++ b/articles/2025/DNS4U-European-DNS-servers-go-live.html @@ -0,0 +1,35 @@ + + + + + + + DNS4U European DNS servers go live + + +
+

Bloggings

+ Back + +
+ +
+
+

DNS4U European DNS servers go live

+

2025-06-16

+

The EU now has an alternative to Google and Cloudflare DNS

+

JopinDNS launched

+

JoinDNS for public

+

The offers are Unfiltered resolution, Protective resolution, Protective with Child Protection, +Protective with Ad blocking, Protective with Child protection and Ad blocking

+ +
+
+ + + diff --git a/articles/2025/DWM-Dunst-and-Thinkpad-audio-keys.html b/articles/2025/DWM-Dunst-and-Thinkpad-audio-keys.html new file mode 100755 index 0000000..ee184b8 --- /dev/null +++ b/articles/2025/DWM-Dunst-and-Thinkpad-audio-keys.html @@ -0,0 +1,113 @@ + + + + + + + DWM Dunst and Thinkpad audio keys + + +
+

Bloggings

+ Back + +
+ +
+
+

DWM Dunst and Thinkpad audio keys

+

2025-04-24

+

How I got them working, microphone mute led included

+

DWM isn't a desktop environment, so there are a few things to add, like notifications and +audio keys.

+

I installed dunst and acpid. Dunst is managed by systemd, if you edit ~/.config/dunst/dunstrc +restart dunst with systemctl --user restart dunst.service

+

Dunst web page

+

Acpid Arch page

+ + +

dwm/config.h

+

The audio keys are registered in dwm/config.h +

+...
+{ 0, XF86XK_AudioMicMute, spawn, SHCMD("~/.local/bin/dwm-audio mictoggle") },
+{ 0, XF86XK_AudioMute, spawn, SHCMD("~/.local/bin/dwm-audio voltoggle") },
+{ 0, XF86XK_AudioLowerVolume, spawn, SHCMD("~/.local/bin/dwm-audio volquieter") },
+{ 0, XF86XK_AudioRaiseVolume, spawn, SHCMD("~/.local/bin/dwm-audio vollouder") },
+...
+
+ +

~/.local/bin/dwm-audio

+

The audio keys run a bash script which sets volume, speaker mute, and microphone mute.

+
+#!/bin/bash
+# Manage Thinkpad Audio keys
+
+msgTag="Audio"
+
+# Microphone
+if [[ "$@" == "mictoggle" ]]; then
+    pamixer --default-source -t
+    micmute="$(pamixer --default-source --get-mute)"
+    if [[ "$micmute" == "true" ]]; then
+        # Mic muted notification
+        dunstify -t 1000 -a "Microphone" -u low -i audio-input-microphone \
+        -h string:x-dunst-stack-tag:$msgTag "Microphone muted"
+    else
+        # Mic unmuted notification
+        dunstify -t 1000 -a "Microphone" -u low -i audio-input-microphone \
+        -h string:x-dunst-stack-tag:$msgTag "Microphone unmuted"
+    fi
+    exit 0
+fi
+
+# Speakers
+if [[ "$@" == "voltoggle" ]]; then
+	pamixer --toggle-mute
+elif [[ "$@" == "vollouder" ]]; then
+	pamixer -i 10
+elif [[ "$@" == "volquieter" ]]; then
+    pamixer -d 10
+fi
+
+volume="$(pamixer --get-volume-human)"
+mute="$(pamixer --get-mute)"
+if [[ $volume == 0 || "$mute" == "true" ]]; then
+    # Sound muted notification
+    dunstify -t 1000 -a "changeVolume" -u low -i audio-speakers \
+    -h string:x-dunst-stack-tag:$msgTag "Volume muted" 
+else
+    # Volume notification
+    dunstify -t 1000 -a "changeVolume" -u low -i audio-speakers \
+    -h string:x-dunst-stack-tag:$msgTag -h int:value:"$volume" "Volume: ${volume}"
+fi
+
+ +

Microphone mute led

+

I'm running Arch Linux on a Thinkpad X220, so I need to make the mic/mute button's led +lights up when muted. This can't be done with normal user permissions, so I installed acpid. +On Arch linux all acpi events are passed to /etc/acpi/handler.sh, so I added another +function to this file. +

+
+...
+button/micmute)
+  if [[ "$(cat /sys/devices/platform/thinkpad_acpi/leds/platform\:\:micmute/brightness)" == "1" ]]; then
+    echo "0" > /sys/devices/platform/thinkpad_acpi/leds/platform\:\:micmute/brightness
+  else
+    echo "1" > /sys/devices/platform/thinkpad_acpi/leds/platform\:\:micmute/brightness
+  fi
+;;
+...
+
+ +
+
+ + + diff --git a/articles/2025/DWM-circulate-through-tags.html b/articles/2025/DWM-circulate-through-tags.html new file mode 100755 index 0000000..c80535f --- /dev/null +++ b/articles/2025/DWM-circulate-through-tags.html @@ -0,0 +1,196 @@ + + + + + + + DWM circulate through tags + + +
+

Bloggings

+ Back + +
+ +
+
+

DWM circulate through tags

+

2025-05-07

+

Small modifications to DWM source code so far.

+

This is intended for my own records, I don't use git yet, perhaps I should look into it.

+

I haven't added any patches to my dwm 6.5 source code, but I have modified dwm.c to enable circulating through tags, +and edited config.h to play nicely with Pywal16 and my French keyboard.

+

Super+Shift+Left/Right keys circulate through tags
+Super+left/Right keys circulate through windows in a tag.

+

dwm.c

+

I added this at line 235

+
+static void view_adjacent(const Arg *arg);
+
+

I added this function at line 2067

+
+void
+view(const Arg *arg)
+{
+	if ((arg->ui & TAGMASK) == selmon->tagset[selmon->seltags])
+		return;
+	selmon->seltags ^= 1; /* toggle sel tagset */
+	if (arg->ui & TAGMASK)
+		selmon->tagset[selmon->seltags] = arg->ui & TAGMASK;
+	focus(NULL);
+	arrange(selmon);
+}
+
+

config.h

+

Here is my modified config.h

+
+/* See LICENSE file for copyright and license details. */
+#include 
+
+/* appearance */
+static const unsigned int borderpx  = 1;        /* border pixel of windows */
+static const unsigned int snap      = 32;       /* snap pixel */
+static const int showbar            = 1;        /* 0 means no bar */
+static const int topbar             = 1;        /* 0 means bottom bar */
+static const char *fonts[]          = { "JetBrainsMono Nerd Font Mono:size=11" };
+static const char dmenufont[]       = "JetBrainsMono Nerd Font Mono:size=11";
+
+/* Pywal16 */ 
+#include "/home/philip/.cache/wal/colors-wal-dwm.h"
+
+/* tagging */
+static const char *tags[] = { "Ⅰ" ,"Ⅱ", "Ⅲ", "Ⅳ"}; //, "5", "6", "7", "8", "9" };
+
+static const Rule rules[] = {
+	/* xprop(1):
+	 *	WM_CLASS(STRING) = instance, class
+	 *	WM_NAME(STRING) = title
+	 */
+	/* class        instance    title       tags mask     isfloating   monitor */
+	{ "ghostty",    NULL,       NULL,       1 << 0,       0,           -1 },
+	{ "librewolf",  NULL,       NULL,       1 << 1,       0,           -1 },
+	{ "Chromium",   NULL,       NULL,       1 << 1,       0,           -1 },
+	{ "Gimp",       NULL,       NULL,       1 << 2,       1,           -1 },
+	{ "gThumb",     NULL,       NULL,       1 << 2,       1,           -1 },
+	{ "Galculator", NULL,       NULL,       1 << 8,       1,           -1 },
+};
+
+/* layout(s) */
+static const float mfact     = 0.55; /* factor of master area size [0.05..0.95] */
+static const int nmaster     = 1;    /* number of clients in master area */
+static const int resizehints = 1;    /* 1 means respect size hints in tiled resizals */
+static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */
+
+static const Layout layouts[] = {
+	/* symbol     arrange function */
+	{ "Ƭ",      tile },    /* first entry is default */
+	{ "Φ",      NULL },    /* no layout function means floating behavior */
+	{ "µ",      monocle }, /* everything is maximised */
+};
+
+/* key definitions */
+/* modifiers are ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask and Mod5Mask */
+#define MODKEY Mod4Mask
+#define TAGKEYS(KEY,TAG) \
+	{ MODKEY,                       KEY,      view,           {.ui = 1 << TAG} }, \
+	{ MODKEY|ControlMask,           KEY,      toggleview,     {.ui = 1 << TAG} }, \
+	{ MODKEY|ShiftMask,             KEY,      tag,            {.ui = 1 << TAG} }, \
+	{ MODKEY|ControlMask|ShiftMask, KEY,      toggletag,      {.ui = 1 << TAG} },
+
+/* helper for spawning shell commands in the pre dwm-5.0 fashion */
+#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
+
+/* commands */
+static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
+static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", norm_bg, "-nf", norm_fg, "-sb", sel_bg, "-sf", sel_fg, NULL };
+static const char *termcmd[]   = { "ghostty", NULL };
+static const char *wwwcmd[]    = { "librewolf", NULL };
+static const char *brighter[]  = { "brightnessctl", "set", "10%+", NULL };
+static const char *dimmer[]    = { "brightnessctl", "set", "10%-", NULL };
+static const char *bluetooth[] = { "blueman-manager", NULL };
+static const char *scrotcmd[]  = { "screenshot.sh", NULL};
+
+static const Key keys[] = {
+	/* modifier                     key        function        argument */
+    { 0,            XF86XK_AudioMute,          spawn,          SHCMD("~/.local/bin/dwm-audio voltoggle") },
+    { 0,            XF86XK_AudioLowerVolume,   spawn,          SHCMD("~/.local/bin/dwm-audio volquieter") },
+    { 0,            XF86XK_AudioRaiseVolume,   spawn,          SHCMD("~/.local/bin/dwm-audio vollouder") },
+    { 0,            XF86XK_AudioMicMute,       spawn,          SHCMD("~/.local/bin/dwm-audio mictoggle") },
+	{ 0,            XF86XK_MonBrightnessDown,  spawn,          {.v = dimmer   } },
+	{ 0,            XF86XK_MonBrightnessUp,    spawn,          {.v = brighter } },
+	{ 0,            XF86XK_Launch1,            spawn,          SHCMD("rofi -show power-menu -modi power-menu:rofi-power-menu") },
+	{ 0,                            XK_Menu,   spawn,          SHCMD("rofi -show power-menu -modi power-menu:rofi-power-menu") },
+	{ 0,                            XK_Print,  spawn,          {.v = scrotcmd } },
+	{ MODKEY,                       XK_b,      togglebar,      {0} },
+	{ MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },
+	{ MODKEY,                       XK_f,      setlayout,      {.v = &layouts[1]} },
+	{ MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
+	{ MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },
+	{ MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
+	{ MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
+	{ MODKEY,                       XK_r,      spawn,          SHCMD("rofi -show run") },
+	{ MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
+	{ MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} },
+	{ MODKEY,                       XK_w,      spawn,          {.v = wwwcmd   } },
+	{ MODKEY,                       XK_Return, spawn,          {.v = termcmd  } },
+	{ MODKEY,                       XK_Right,  focusstack,     {.i = +1 } },
+	{ MODKEY,                       XK_Left,   focusstack,     {.i = -1 } },
+	{ MODKEY,                       XK_Tab,    view,           {0} },
+	{ MODKEY,                       XK_space,  setlayout,      {0} },
+	{ MODKEY,                       XK_agrave, view,           {.ui = ~0 } },
+	{ MODKEY,                       XK_comma,  focusmon,       {.i = -1 } },
+	{ MODKEY,                       XK_semicolon, focusmon,    {.i = +1 } },
+	{ MODKEY|ShiftMask,             XK_b, spawn,               {.v = bluetooth } },
+	{ MODKEY|ShiftMask,             XK_c,      killclient,     {0} },
+	{ MODKEY|ShiftMask,             XK_Right,  view_adjacent,  {.i = +1 } },
+    { MODKEY|ShiftMask,             XK_Left,   view_adjacent,  {.i = -1 } },
+	{ MODKEY|ShiftMask,             XK_Return, zoom,           {0} },
+	{ MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
+	{ MODKEY|ShiftMask,             XK_agrave, tag,            {.ui = ~0 } },
+	{ MODKEY|ShiftMask,             XK_comma,  tagmon,         {.i = -1 } },
+	{ MODKEY|ShiftMask,             XK_semicolon, tagmon,      {.i = +1 } },
+	{ MODKEY|ShiftMask,             XK_q,      quit,           {0} },
+	{ MODKEY|ShiftMask,             XK_x,      spawn,          SHCMD("rofi -show power-menu -modi power-menu:rofi-power-menu") },
+	TAGKEYS(                        XK_ampersand,              0)
+	TAGKEYS(                        XK_eacute,                 1)
+	TAGKEYS(                        XK_quotedbl,               2)
+	TAGKEYS(                        XK_apostrophe,             3)
+	TAGKEYS(                        XK_parenleft,              4)
+	TAGKEYS(                        XK_minus,                  5)
+	TAGKEYS(                        XK_egrave,                 6)
+	TAGKEYS(                        XK_underscore,             7)
+	TAGKEYS(                        XK_ccedilla,               8)
+	TAGKEYS(                        XK_agrave,                 9)
+};
+
+/* button definitions */
+/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
+static const Button buttons[] = {
+	/* click                event mask      button          function        argument */
+	{ ClkLtSymbol,          0,              Button1,        setlayout,      {0} },
+	{ ClkLtSymbol,          0,              Button3,        setlayout,      {.v = &layouts[2]} },
+	{ ClkWinTitle,          0,              Button2,        zoom,           {0} },
+	{ ClkStatusText,        0,              Button2,        spawn,          {.v = termcmd } },
+	{ ClkClientWin,         MODKEY,         Button1,        movemouse,      {0} },
+	{ ClkClientWin,         MODKEY,         Button2,        togglefloating, {0} },
+	{ ClkClientWin,         MODKEY,         Button3,        resizemouse,    {0} },
+	{ ClkTagBar,            0,              Button1,        view,           {0} },
+	{ ClkTagBar,            0,              Button3,        toggleview,     {0} },
+	{ ClkTagBar,            MODKEY,         Button1,        tag,            {0} },
+	{ ClkTagBar,            MODKEY,         Button3,        toggletag,      {0} },
+	{ ClkTagBar,            0,              Button4,        view_adjacent,  {.i = -1 } },
+	{ ClkTagBar,            0,              Button5,        view_adjacent,  {.i = +1 } },
+};
+
+
+
+
+ + + diff --git a/articles/2025/DWM-slstatus.html b/articles/2025/DWM-slstatus.html new file mode 100755 index 0000000..7ebef78 --- /dev/null +++ b/articles/2025/DWM-slstatus.html @@ -0,0 +1,46 @@ + + + + + + + DWM slstatus + + +
+

Bloggings

+ Back + +
+ +
+
+

DWM slstatus

+

2025-04-25

+

KISS

+

slstatus bar image

+

https://tools.suckless.org/slstatus/

+

After fiddling with dwm-blocks and dwm-bar, I decided that the only thing I want to see +in my status bar is battery info and date/time. The rest can be done with btop and alerts.

+

So I cloned the slstatus source code from suckless.org and added the following in slstatus/config.h

+
+static const struct arg args[] = {
+        /* function format          argument */
+        { battery_remaining, "%s",           "BAT0" },
+        { battery_state,     " %s",          "BAT0" },
+        { battery_perc,      " %s%%",        "BAT0" },
+        { datetime,          " | %s", "%a %d-%m %T" },
+};
+
+

As I'm using the Jetbrains mono nerdfont in DWM I added some icons in slstatus/components/battery.c

+

battery code

+
+
+ + + diff --git a/articles/2025/Daft-poems.html b/articles/2025/Daft-poems.html new file mode 100755 index 0000000..a4b1e93 --- /dev/null +++ b/articles/2025/Daft-poems.html @@ -0,0 +1,34 @@ + + + + + + + Poems + + +
+

Bloggings

+ Back + +
+ +
+
+

Poems

+

2025-08-22

+

Playing with words

+ +

Some poems

+ +

No pretention here, just learning. Let me know if I should keep my day job :-)

+
+
+ + + diff --git a/articles/2025/Debian-12-to-13-upgrade.html b/articles/2025/Debian-12-to-13-upgrade.html new file mode 100755 index 0000000..3fddef5 --- /dev/null +++ b/articles/2025/Debian-12-to-13-upgrade.html @@ -0,0 +1,32 @@ + + + + + + + Debian 12 to 13 upgrade + + +
+

Bloggings

+ Back + +
+ +
+
+

Debian 12 to 13 upgrade

+

2025-08-27

+

Server upgrade successful

+

I have upgraded my server to the latest Debian version, Trixie (13) without problem.

+

Mailcow have posted some simple steps to follow here

+
+
+ + + diff --git a/articles/2025/Detrumpez-vous.html b/articles/2025/Detrumpez-vous.html new file mode 100755 index 0000000..f967557 --- /dev/null +++ b/articles/2025/Detrumpez-vous.html @@ -0,0 +1,34 @@ + + + + + + + Détrumpez-vous + + +
+

Bloggings

+ Back + +
+ +
+
+

Detrumpify

+

2025-05-03

+

Technology against politics

+

An interesting addition for smartphone driven boycotts

+

Web site

+

Détrumpez-vous is an app for iPhone and Android that signals products that are of American origin.

+

I'm going to test this on my weekly shopping.

+
+
+ + + diff --git a/articles/2025/Dmenu-updates.html b/articles/2025/Dmenu-updates.html new file mode 100755 index 0000000..4eba85d --- /dev/null +++ b/articles/2025/Dmenu-updates.html @@ -0,0 +1,46 @@ + + + + + + + Dmenu updates + + +
+

Bloggings

+ Back + +
+ +
+
+

Dmenu updates

+

2025-06-16

+

more patches added to dmenu

+

I've updated my dmenu fork, it now has the following patches:

+ +
    +
  • xresources
  • +
  • center
  • +
  • border
  • +
  • xyz
  • +
  • fuzzymatch
  • +
  • fuzzyhighlight
  • +
  • mouse and motions support
  • +
+ +

I've also tweaked the patches to work with xresources.

+ +

my dmenu git repository

+ +
+
+ + + diff --git a/articles/2025/Dwmblocks.html b/articles/2025/Dwmblocks.html new file mode 100755 index 0000000..1c2d2d8 --- /dev/null +++ b/articles/2025/Dwmblocks.html @@ -0,0 +1,38 @@ + + + + + + + Dwmblocks + + +
+

Bloggings

+ Back + +
+ +
+
+

Dwmblocks

+

2025-06-02

+

eating previous thoughts

+

I wanted to keep my status bar simple, and slstatus fitted the bill

+

But I was missing an indication of the CPU temperature as I got tired of using conky +as it was only visible on empty DWM tags, and I didn't want to try writing a program in C to do it.

+

So a new status monitor was needed. I liked the idea of dwmblocks firing up bash scripts, +but I tried the original and several forks without luck. I finally settled on +dwmblocks-async, because it is more recent and ... it worked.

+

Dwmblocks-async

+

An example script

+
+
+ + + diff --git a/articles/2025/Enable-Arch-Extra-repository-in-Artix.html b/articles/2025/Enable-Arch-Extra-repository-in-Artix.html new file mode 100755 index 0000000..44fc86e --- /dev/null +++ b/articles/2025/Enable-Arch-Extra-repository-in-Artix.html @@ -0,0 +1,49 @@ + + + + + + + Enable Arch Extra repository in Artix + + +
+

Bloggings

+ Back + +
+ +
+
+

Enable Arch Extra repository in Artix

+

2025-06-20

+

Extending Artix package library

+

Artix Linux is mostly Arch Linux, minus systemd of course, and plus packages that +replace it's absence.

+

In order to access packages that may not be available via Artix, it's possible to add +the Arch Linux Extra Mirror.

+ +pacman -S artix-archlinux-support +wget https://archlinux.org/mirrorlist/all/ -O /etc/pacman.d/mirrorlist-arch + + +

Edit /etc/pacman.conf and activate the mirror.

+ +[extra] +Include = /etc/pacman.d/mirrorlist-arch + +

Populate the Arch Linux keyring and synchronize the repository

+ +pacman-key --populate archlinux +pacman -Syu + +
+
+ + + diff --git a/articles/2025/Eza.html b/articles/2025/Eza.html new file mode 100755 index 0000000..8709fb3 --- /dev/null +++ b/articles/2025/Eza.html @@ -0,0 +1,32 @@ + + + + + + + Eza + + +
+

Bloggings

+ Back + +
+ +
+
+

Eza

+

2025-03-24

+

Eza is a replacement for ls that uses symbols that are found in nerdfonts

+

+

I edited my .bashrc to alias ls to eza like so:

+alias ls="eza --icons=always" +alias ll="eza --icons=always -l" +alias la="eza --icons=always -la" + +

Pretty

+
+
+ + diff --git a/articles/2025/Fixing-my-dad's-Stanley-8-CFW-lock-plane.html b/articles/2025/Fixing-my-dad's-Stanley-8-CFW-lock-plane.html new file mode 100755 index 0000000..4e5f9e6 --- /dev/null +++ b/articles/2025/Fixing-my-dad's-Stanley-8-CFW-lock-plane.html @@ -0,0 +1,38 @@ + + + + + + + Fixing my dad's Stanley 8 CFW lock plane + + +
+

Bloggings

+ Back + +
+ +
+
+

Fixing my dad's Stanley 8 CFW lock plane

+

2025-08-27

+

Cast iron fixes

+

I inherited a small low angle block plane from my dad.

+

Nice looking with brass buttons, but upon inspection the blade wasn't straight. +I removed it and checked, it was square and just needed sharpening, but when I looked at the cast iron base, +the seat of the blade at throat level was thicker on one side, making it impossible to align.

+

The sides were also both slightly more that 90° which didn't help.

+

The easiest solution was to remove the adjustable front throat and reform the blade seat with a file.

+

It worked, and after flattening the foot of the plane and sides using sandpaper on a granit slab, + then sharpening the blade I now have a very nice block plane.

+
+
+ + + diff --git a/articles/2025/Flowers-for-the-bees.html b/articles/2025/Flowers-for-the-bees.html new file mode 100755 index 0000000..daf0327 --- /dev/null +++ b/articles/2025/Flowers-for-the-bees.html @@ -0,0 +1,35 @@ + + + + + + + Flowers for the bees + + +
+

Bloggings

+ Back + +
+ +
+
+

Flowers for the bees

+

2025-04-12

+

I sowed some flower seeds

+

I wouldn't mind having half the garden for wild flowers, although I'm not +sure what the maintenance would be like, there's a lot of native flora that is +a pain here in Brittany.

+

Anyway I sowed a small patch to see what happens, a trial run. I'm sure the bees +will appreciate.

+
+
+ + + diff --git a/articles/2025/France-rejects-backdoors.html b/articles/2025/France-rejects-backdoors.html new file mode 100755 index 0000000..36488fd --- /dev/null +++ b/articles/2025/France-rejects-backdoors.html @@ -0,0 +1,26 @@ + + + + + + + France rejects backdoors + + +
+

Bloggings

+ Back + +
+ +
+
+

France rejects backdoors

+

2025-03-22

+

It's always a warm fuzzy feeling when we do something smart

+

eff.org

+
+
+ + diff --git a/articles/2025/Ghostty.html b/articles/2025/Ghostty.html new file mode 100755 index 0000000..cf55cc9 --- /dev/null +++ b/articles/2025/Ghostty.html @@ -0,0 +1,35 @@ + + + + + + + Ghostty + + +
+

Bloggings

+ Back + +
+ +
+
+

Ghostty

+

2025-03-27

+

I've been playing with Ghostty, a new terminal emulator that seems very promising

+

+

Here's Newsboat opening an article with Chawan inside Ghostty:

+

news article in chawan

+

Tips

+

When I ssh into a vps I found some keys where not working in mc (midnight commander). The solution was to edit ~/.ssh/config and add:

+

Host * + setenv Term=xterm-256color

+

Ressources

+

Ghostty

+

Awasome Ghostty

+
+
+ + diff --git a/articles/2025/Git-repository.html b/articles/2025/Git-repository.html new file mode 100755 index 0000000..ccb829a --- /dev/null +++ b/articles/2025/Git-repository.html @@ -0,0 +1,32 @@ + + + + + + + Git repository + + +
+

Bloggings

+ Back + +
+ +
+
+

Git repository

+

2025-05-07

+

I've added a git repository

+

Nothing much there yet, but I've got cgit running...

+

https://git.wittamore.fr

+
+
+ + + diff --git a/articles/2025/Gopher-it.html b/articles/2025/Gopher-it.html new file mode 100755 index 0000000..04ea5cb --- /dev/null +++ b/articles/2025/Gopher-it.html @@ -0,0 +1,34 @@ + + + + + + + Gopher it + + +
+

Bloggings

+ Back + +
+ +
+
+

Gopher it

+

2025-09-14

+

My Gopher hole

+

After all I've said against Gopher and Gemini, I've started my own Gopher hole.

+

Just proves humans are fickle and you shouldn't listen to my rants and I'm an incorrigible fiddler.

+

You'll need a gopher browser such as Lagrange (GUI) or +Lynx (TUI) for this link: gopher://nagatha.fr

+
+
+
+ +

 

+ +

§

+
+ + diff --git a/articles/2025/Greycoders-list-of-Text-only-minimalist-web-sites.html b/articles/2025/Greycoders-list-of-Text-only-minimalist-web-sites.html new file mode 100755 index 0000000..70a68c7 --- /dev/null +++ b/articles/2025/Greycoders-list-of-Text-only-minimalist-web-sites.html @@ -0,0 +1,26 @@ + + + + + + + Greycoders list of Text only minimalist web sites + + +
+

Bloggings

+
Back + +
+ +
+
+

Greycoders list of minimalist web sites 2025

+

2025-04-03

+

Avoiding web pages filled with ads, videos, and bandwidth-heavy content

+

https://greycoder.com

+
+
+ + diff --git a/articles/2025/Hard-disk-fail.html b/articles/2025/Hard-disk-fail.html new file mode 100755 index 0000000..7e341c2 --- /dev/null +++ b/articles/2025/Hard-disk-fail.html @@ -0,0 +1,28 @@ + + + + + + + Hard disk fai + + +
+

Bloggings

+ Back + +
+ +
+
+

Hard disk fail

+

2025-03-19

+

The hard disk on my X220 failed

+

and my backup machine was in an unstable state for a while and I hadn't fixed it. Examination of my collection of USB keys found no linux installer, so I was stumped through lazyness.

+

But at the bottom of a pencil holder I found another usb key with an old copy of Linux Mint which enabled me to download Arch and recover.

+

Luckily all my inportant files were saved, and I use Bitwarden too, so with a new SSD I was quickly back up and running.

+
+
+ + diff --git a/articles/2025/Headless-Arch-Install.html b/articles/2025/Headless-Arch-Install.html new file mode 100755 index 0000000..8852691 --- /dev/null +++ b/articles/2025/Headless-Arch-Install.html @@ -0,0 +1,40 @@ + + + + + + + Headless Arch Install + + +
+

Bloggings

+ Back + +
+ +
+
+

Headless Arch Install

+

2025-03-21

+

I have a micro pc I'd like to use as a web server

+

It doesn't have a screen so I'll need to do a headless installation

+

I found some simple instructions here: https://tarneo.fr/posts/arch_headless/

+
+sudo pacman -S archiso +mkdir arch-headless && cd arch-headless +cp -r /usr/share/archiso/configs/releng/ . +mkdir releng/airootfs/root/.ssh/ +cp ~/.ssh/id_rsa.pub releng/airootfs/root/.ssh/authorized_keys +sudo mkarchiso -v -o ./out ./releng + +Insert a usb key, mine is in /dev/sdc, and create a bootable usb drive +dd if=./out/archlinux-2025.03.21-x86_64.iso of=/dev/sdc bs=4M; sync +
+

Find the IP address of the machine, and ssh to it. You can then run +archinstall for example.

+
+
+ + diff --git a/articles/2025/Html-center-element.html b/articles/2025/Html-center-element.html new file mode 100755 index 0000000..50cdf83 --- /dev/null +++ b/articles/2025/Html-center-element.html @@ -0,0 +1,42 @@ + + + + + + + Html center element + + +
+

Bloggings

+ Back + +
+ +
+
+

Html center element

+

2025-04-10

+

Making things simpler still

+

The center element in html is depreciated, and validation of the page shows warnings. +Instead the use of the css style text-align:center is precognised.

+

But this is ignored in terminal text browsers, and I prefer some sort of consistency, so I've removed center elements and text-align css. +The page itself is centered setting margins. Chawan gives the best rendering on the terminal, here I'm using Ghostty.

+

Librefox

+

image of blog in Librefox

+

Chawan (terminal)

+

image of blog in Chawan

+

W3M (terminal)

+

image of blog in W3M

+

Links (terminal)

+

image of blog in Links

+
+
+ + + diff --git a/articles/2025/Install-the-Chawan-text-browser-on-Artix.html b/articles/2025/Install-the-Chawan-text-browser-on-Artix.html new file mode 100755 index 0000000..0136bb9 --- /dev/null +++ b/articles/2025/Install-the-Chawan-text-browser-on-Artix.html @@ -0,0 +1,42 @@ + + + + + + + Install the Chawan text browser on Artix + + +
+

Bloggings

+ Back + +
+ +
+
+

Install the Chawan text browser on Artix

+

2025-06-15

+

the Arch package doesn't compile, here's the solution

+

The package chawan-git in the AUR doesn't compile as the included NIM version is too old

+

Here's how I installed it in Artix Linux

+

Install the NIM compiler from https://nim-lang.org/install.html

+

The default dependancies were already installed on my hard disk: (OpenSSL, libssh2, brotli)

+cd ~/src +git clone https://git.sr.ht/~bptato/chawan && cd chawan +make +sudo make install +cha -V +

And it's done. I use mostly use chawan as newsboat's browser, it's really good.

+

Thanks to Kachick

+

Previous article: rdrview or chawan

+
+
+ + + diff --git a/articles/2025/Jazz-radio-recording-from-1976.html b/articles/2025/Jazz-radio-recording-from-1976.html new file mode 100755 index 0000000..56f8517 --- /dev/null +++ b/articles/2025/Jazz-radio-recording-from-1976.html @@ -0,0 +1,47 @@ + + + + + + + Jazz radio recording from 1976 + + +
+

Bloggings

+ Back +
+ +
+
+

Jazz radio recording from 1976

+

2025-05-24

+

KBCA Jazz Radio - Los Angeles
Recorded February 1976

+

An enjoyable 3 hour radio time machine

+
+ +
+
+
+ + + diff --git a/articles/2025/Koreader-for-e-ink-devices.html b/articles/2025/Koreader-for-e-ink-devices.html new file mode 100755 index 0000000..107c886 --- /dev/null +++ b/articles/2025/Koreader-for-e-ink-devices.html @@ -0,0 +1,32 @@ + + + + + + + Koreader for e-ink devices + + +
+

Bloggings

+ Back + +
+ +
+
+

Koreader for e-ink devices

+

2025-03-24

+

I installed Koreader on my Kobo Clara Colour last night

+

Like everything, there's a learning curve due to the multiplicity of options. The first thing I did was copy the Bookerly font to the Koreader fonts folder on the Kobo, as I find the default Noto fonts too ugly for reading.

+

The second thing I did was remove the Koreader installation log file and +logo which stuck out like a sore thumb in the file manager

+

The third thing I have to do is read the user guide...

+

Anyhow reading is a pleasure once I fixed the font, font size, and line spacing

+

Koreader +

One-Click Install Packages for KOReader & Plato

+
+
+ + diff --git a/articles/2025/Ladybird-web-browser.html b/articles/2025/Ladybird-web-browser.html new file mode 100755 index 0000000..0ce8563 --- /dev/null +++ b/articles/2025/Ladybird-web-browser.html @@ -0,0 +1,35 @@ + + + + + + + Ladybird web browser + + +
+

Bloggings

+ Back + +
+ +
+
+

Ladybird web browser

+

2025-06-26

+

L'éspoir fait vivre

+

The Ladybird web browser is truly something different, and a hope for the future.

+

It has no connection to Google, no rehash of older web engines, with no corporate influence looming over it.

+

Written transparently, W3C standards compliant, it will be available for public beta in 2026, with release is planned for 2028

+

There's an aphid eating light at the end of the tunnel.

+

https://ladybird.org/

+
+
+ + + diff --git a/articles/2025/Les-Oiseaux-des-Jardins.html b/articles/2025/Les-Oiseaux-des-Jardins.html new file mode 100755 index 0000000..a705631 --- /dev/null +++ b/articles/2025/Les-Oiseaux-des-Jardins.html @@ -0,0 +1,32 @@ + + + + + + + Les Oiseaux des Jardins + + +
+

Bloggings

+ Back + +
+ +
+
+

Les Oiseaux des Jardins

+

2025-04-04

+

Identify garden birds in Brittany

+

My bird feeder only has Blue Tits, Coal Tits, and sparrows - but you never know.

+

poster-les-oiseaux-des-jardins

+

Bretagne Vivant - comptage des oiseaux

+

Bretagne Vivante has been Brittany's leading association for the protection of nature and biodiversity since 1959. +Recognized as a non-profit organization, it works on a daily basis to improve knowledge and preservation of the region's natural heritage. +It also manages a network of protected sites and nature reserves throughout Brittany and Loire-Atlantique. +Passing on and sharing its passions is also at the heart of Bretagne Vivante's missions.

+
+
+ + diff --git a/articles/2025/Linux-System-Performance-Tuning.html b/articles/2025/Linux-System-Performance-Tuning.html new file mode 100755 index 0000000..7dcd6a4 --- /dev/null +++ b/articles/2025/Linux-System-Performance-Tuning.html @@ -0,0 +1,27 @@ + + + + + + + Linux System Performance Tuning + + +
+

Bloggings

+ Back + +
+ +
+
+

Linux System Performance Tuning

+

2025-03-26

+

Linux System Performance Tuning: Optimizing CPU, Memory, and Disk

+ +

Linuxjournal

+
+
+ + diff --git a/articles/2025/Linux-power-consumption-control.html b/articles/2025/Linux-power-consumption-control.html new file mode 100755 index 0000000..31748e0 --- /dev/null +++ b/articles/2025/Linux-power-consumption-control.html @@ -0,0 +1,35 @@ + + + + + + + Linux power consumption control + + +
+

Bloggings

+ Back + +
+ +
+
+

Linux power consumption control

+

2025-03-23

+

TLP is a feature-rich command line utility for Linux

+

saving laptop battery power without the need to delve deeper into technical details.

+

TLP’s default settings are already optimized for battery life, so you may install it and just sit back and relax. Nevertheless, TLP is completely customizable to get even more power savings or meet your exact requirements.

+sudo pacman -S tlp tlpui cpupower +sudo systemctl enable tlp.service +

I enabled the panel cpufreq plugin on my Thinkpad X220 and saw that AC/BAT power changes +were handled correctly

+

+

TLP Web site

+

Arch Linux TLP page

+ +
+
+ + diff --git a/articles/2025/Lynx,-Gopher,-and-video-files.html b/articles/2025/Lynx,-Gopher,-and-video-files.html new file mode 100755 index 0000000..6288414 --- /dev/null +++ b/articles/2025/Lynx,-Gopher,-and-video-files.html @@ -0,0 +1,102 @@ + + + + + + + Lynx, Gopher, and video files + + +
+

Bloggings

+ Back + +
+ +
+
+

Lynx, Gopher, and video files

+

2025-09-21

+

Getting Lynx to open video files

+ +

I've been using Lynx as a Gopher browser on Artix Linux, +and I like it a lot as it renders cleanly, has logical +keybindings, and enables following html links.

+

But...

+

Trying to open video files with an external application +wasn't working. Luckily on one test I saw an error +concerning "mpeg_play".

+ +

The only mention of this file is as a VIEWER entry in +lynx.cfg. But changing it to something else has no effect +at all.

+ +

Somewhere in lynx, mpeg_play is hardcoded. 🤔. Checking the Lynx source code, I found it in HTInit.c

+

Why short circuit the config file this way? Anyway, I wrote a bash script named mpeg_play:

+ +

+#!/usr/bin/env bash
+/usr/bin/mpv --title="Mpv" >/dev/null 2>&1 $1 +

+ +

chmod +x mpeg_play and put it in my PATH

+ +

and it works!
+Lynx can now play media files in Gopher holes. +(Note the --title parameter is to get it to play nice with dwm).

+ +

The question remains: why is this hard coded?

+ +

As for mpeg_play, it appears in Linux mailcap +entries in the 90's and seems to have been bundled +in ximagetools.

+ +

Mpeg_play appears to date back a long way as a UNIX application:

+ +

http://www.geom.uiuc.edu/software/mpeg_play

+ +

Update 2025-09-23

+ +

A little tweak made this script capable of opening playlists + +

----------

+

+#!/usr/bin/env bash
+# necessary for Lynx browser video files
+# chmod +x and place in your PATH
+
+# mpv can sometimes take a few seconds to open when streaming
+# so I use notification that it's happening
+
+dunstify -t 2000 -a "Video" -u low -i "media-playback-start-symbolic"\
+  -h string:x-dunst-stack-tag:"Media" "MPV Launching" &
+
+# detect if playlist
+# Lynx uses an anonymous file in /tmp, so we can only
+# detect a file type by it's contents, not it's extension
+
+if [ "$(grep -c "EXT3MU" "$1")" -eq 1 ]; then
+  # this is a playlist
+  # I use dwm, the mpv options used here make it compatible
+  mpv --geometry=1068x600 --ontop --idle=yes --force-window=yes\
+    --playlist="$1" >/dev/null 2>&1 &
+else
+  mpv --geometry=1068x600 --ontop --idle=yes --force-window=yes\
+    "$1" >/dev/null 2>&1 &
+fi
+
+exit 0
+

+

----------

+

The latest version can be found at git.wittamore.fr

+ +
+
+ + + diff --git a/articles/2025/Mailcow-Docker-too-many-requests.html b/articles/2025/Mailcow-Docker-too-many-requests.html new file mode 100755 index 0000000..619879a --- /dev/null +++ b/articles/2025/Mailcow-Docker-too-many-requests.html @@ -0,0 +1,38 @@ + + + + + + + Mailcow Docker too many requests + + +
+

Bloggings

+ Back + +
+ +
+
+

Mailcow Docker too many requests

+

2025-04-29

+

Dcker changes

+

While updating Mailcow this morning Docker gave me a "too many requests" error.

+

It seems that Docker now limits the IPv6’s subnet instead of the IPv6 address itself, which +could mean your pull limit is shared.

+

To fix this you can create a personal account at docker.com, this will allow 200 image pulls per 6 hours. +My Mailcow installation does 7 pulls for an update.

+

Docker account creation

+

Once the account created, copy the personal access token, go back to your server and enter docker login -u (login)

+

Mailcow will now update without error.

+
+
+ + + diff --git a/articles/2025/Mailcow-with-Nginx-reverse-proxy-(updated).html b/articles/2025/Mailcow-with-Nginx-reverse-proxy-(updated).html new file mode 100755 index 0000000..efbdc99 --- /dev/null +++ b/articles/2025/Mailcow-with-Nginx-reverse-proxy-(updated).html @@ -0,0 +1,31 @@ + + + + + + + Mailcow with Nginx reverse proxy (updated) + + +
+

Bloggings

+ Back + +
+ +
+
+

Mailcow with Nginx reverse proxy (updated)

+

2025-09-11

+

Improved instructions with DANE and MTS-STA info

+

-> Link to the updated post

+
+
+ + + diff --git a/articles/2025/Mailcow-with-Nginx-reverse-proxy.html b/articles/2025/Mailcow-with-Nginx-reverse-proxy.html new file mode 100755 index 0000000..657b214 --- /dev/null +++ b/articles/2025/Mailcow-with-Nginx-reverse-proxy.html @@ -0,0 +1,207 @@ + + + + + + + Mailcow with Nginx reverse proxy + + +
+

Bloggings

+ Back + +
+ +
+
+

Mailcow with Nginx reverse proxy (updated)

+

2025-04-19

+

Using other web services with Mailcow

+

This is roughly what I did to have an Nginx web server on the same machine as dockerized +Mailcow

+

Note: mail.xxxxx.com is your mail server (MX), yourdomain.com is whatever domain you wish to use.

+
    +
  1. Change the default http and https ports (for example 8480 and 8443)
    +and set SKIP_LETS_ENCRYPT=y in /opt/mailcow-dockerized/mailcow.conf
  2. +
  3. Restart Mailcow by executing
    +cd /opt/mailcow-dockerized;docker compose restart
  4. +
  5. Make sure the DNS entry mail.xxxxx.com points to the server
  6. +
  7. mkdir -p /var/www/html/letsencrypt/.well-known/acme-challenge
  8. +
  9. Create /etc/nginx/letsencrypt_path. This can be re-used in your other domains. +
    # url for letsencrypt
    +location ^~ /.well-known/acme-challenge/ {
    +  allow all;
    +  default_type "text/plain";
    +  # Path can be used for cert-validation on all domains
    +  root /var/www/html/letsencrypt;
    +  break;
    +}
    +
    +
  10. +
  11. Stop the nginx server systemctl stop nginx
  12. +
  13. Run certbot certonly -d mail.xxxxx.com (select 2 standalone)
  14. +
  15. Create /etc/nginx/sites-available/mail.xxxxx.com
  16. +
    server {
    +  listen 443 ssl;
    +  listen [::]:443 ssl;
    +  http2 on;
    +
    +  server_name mail.xxxxx.com;
    +
    +  charset UTF-8;  
    +  access_log /var/log/nginx/access.mail.xxxxx.com;  
    +  error_log /var/log/nginx/error.mail.xxxxx.com;  
    +  include snippets/error_pages.conf;
    +  ssl_certificate /etc/letsencrypt/live/mail.xxxxx.com/fullchain.pem; 
    +  ssl_certificate_key /etc/letsencrypt/live/mail.xxxxx.com/privkey.pem; 
    +  include /etc/letsencrypt/options-ssl-nginx.conf;
    +  ssl_dhparam /etc/letsencrypt/ssl-dhparams-2048.pem;  
    +
    +  include /etc/nginx/letsencrypt_path;
    +
    +  location / {
    +    proxy_pass      http://127.0.0.1:8480;
    +    proxy_buffering off;
    +    include /etc/nginx/proxy_params;
    +    
    +  }
    +
    +}
    +
    +server {
    +
    +    listen 80;
    +    listen [::]:80;
    +    server_name mail.xxxxx.com;
    +    return 301 https://mail.xxxxx.com;
    +}
    +
    +
  17. ln -s /etc/nginx/sites-available/mail.xxxxx.com
    /etc/nginx/sites-enabled/mail.xxxxx.com
  18. +
  19. Test with nginx -t, if all is well run sudo systemctl start nginx
  20. +
  21. Pointing your browser to https://mail.xxxxx.com should show you the Mailcow login page.
  22. +
+

Problem

+

The problem is that Mailcow can no longer use port 80 to update it's ssl certificates that +are used by postfix and dovecot. Instead certbot puts them in /etc/letsencrypt/live. +To fix this the following script runs from crontab daily.

+
#!/usr/bin/env bash
+
+# we are running behind an nginx proxy, where certbot is run  by systemd,
+# so the mail.xxxxx.com certificates are updated, but not copied to the mailcow folder
+# in case the certificate isn't renewed automatically, run this:
+# sudo certbot -n certonly --webroot -w /var/www/html/letsencrypt -d mail.xxxxx.com
+
+t1="/etc/letsencrypt/live/mail.xxxxx.com/fullchain.pem"
+t2="/opt/mailcow-dockerized/data/assets/ssl/mail.xxxxx.com/cert.pem" 
+
+# test if certificate has been updated
+differ=$(cmp -b $t1 $t2 | grep -c "differ")
+
+[[ "$differ" = "0" ]] && exit 0
+
+# these files are required in /data/assets/ssh/mail.xxxxx.com
+cp /etc/letsencrypt/live/mail.xxxxx.com/fullchain.pem /opt/mailcow-dockerized/data/assets/ssl/mail.xxxxx.com/cert.pem
+cp /etc/letsencrypt/live/mail.xxxxx.com/privkey.pem /opt/mailcow-dockerized/data/assets/ssl/mail.xxxxx.com/key.pem
+
+# these files are required in /data/assets/ssl/ (turns out sending failed otherwise)
+cp /etc/letsencrypt/live/mail.xxxxx.com/fullchain.pem /opt/mailcow-dockerized/data/assets/ssl/cert.pem
+cp /etc/letsencrypt/live/mail.xxxxx.com/privkey.pem /opt/mailcow-dockerized/data/assets/ssl/key.pem
+
+# update postfix & docker
+docker exec $(/usr/bin/docker ps -qaf name=postfix-mailcow) postfix reload
+docker exec $(/usr/bin/docker ps -qaf name=dovecot-mailcow) dovecot reload
+
+

Inspiration: Felix Moesbauer

+

Don't forget to check and correct if necessary your DANE and MTA-STS records if you use them

+

DANE

+

On your mail server:

+
apt install hash-slinger -y
+

Create a TLSA record:

+
tlsa --create --selector 1 -p 25 --certificate /etc/letsencrypt/live/mail.xxxxx.com/fullchain.pem mail.xxxxx.com
+
+

The last line or the result will be something like:

+
_25._tcp.mail.xxxxx.com. IN TLSA 3 1 1 443ac7c5c70fbfbc...
+

Enter this TLSA line in your mail server's DNS record.

+

Do the same for the following ports:

+
_110._tcp.mail.xxxxx.com
+_143._tcp.mail.xxxxx.com
+_465._tcp.mail.xxxxx.com
+_587._tcp.mail.xxxxx.com
+_993._tcp.mail.xxxxx.com
+_995._tcp.mail.xxxxx.com
+
+

You can check your DANE records at huque.com

+

dane success

+

MTA-STS

+

This is a fallback to DANE, you can run both.

+

Note: https access to mta-sts.yourdomain.com is obligatory

+
    +
  1. Create /var/www/html/mta-sts/.well-known/mta-sts.txt with the following content:
    +
    version: STSv1
    +mode: enforce
    +max_age: 172800
    +mx: mail.xxxxx.com
    +
    +
  2. +
  3. Create the DNS record _mta-sts.mail.xxxxx.com as TXT with "v=STSv1; id=INSERT AN ID, EX. 202511101644"
  4. +
  5. Create the DNS record _mta-sts.yourdomain.com as CNAME pointing to _mta-sts.mail.xxxxx.com (your mail server)
  6. +
  7. Create the DNS record mta-sts.yourdomain.com pointing to the ip of the web server
  8. +
  9. You may need to wait for the DNS records to propagate
  10. +
  11. Stop Nginx with systemctl stop nginx
  12. +
  13. Create a letsencrypt certificate with certbot certonly -d mta-sts.yourdomain.com (select 2 standalone)
  14. +
  15. Create mta-sts.yourdomain.com in Nginx:
  16. +
  17. /etc/sites-available/mta-sts.yourdomain.com
    +
    server {
    +   listen 443 ssl;
    +   listen [::]:443 ssl;
    +   http2 on;
    +
    +   charset UTF-8;  
    +   access_log /var/log/nginx/access.mts-sta.yourdomain.com;  
    +   error_log /var/log/nginx/error.mts-sta.yourdomain.com;  
    +   include snippets/error_pages.conf;     
    +   ssl_certificate /etc/letsencrypt/live/mta-sts.yourdomain.com/fullchain.pem;
    +   ssl_certificate_key /etc/letsencrypt/live/mta-sts.yourdomain.com/privkey.pem;
    +   include /etc/letsencrypt/options-ssl-nginx.conf;
    +   ssl_dhparam /etc/letsencrypt/ssl-dhparams-2048.pem;
    +
    +   include /etc/nginx/letsencrypt_path;
    +  
    +   root /var/www/html/mta-sts;
    +   index index.html index.htm;
    +
    +   server_name mta-sts.yourdomain.com;
    +
    +   location / {
    +      try_files $uri $uri/ =404;
    +   }
    +}
    +server {
    +    listen 80;
    +    listen [::]:80;
    +    server_name mta-sts.yourdomain.com;
    +    return 301 https://mta-sts.yourdomain.com;
    +}
    +
    +
  18. +
  19. ln -s /etc/nginx/sites-available/mta-sts.yourdomain.com
    /etc/nginx/sites-enabled/mta-sts.yourdomain.com
  20. +
  21. Test with nginx -t and if all goes well start nginx systemctl start nginx
  22. +
+

You can check your domain's MTA-STS at mxtoolbox.com

+

 

+

All this worked for me :-) I hope it does for you!

+ +
+
+ + + + + + diff --git a/articles/2025/Menu-editor-for-XFCE4.html b/articles/2025/Menu-editor-for-XFCE4.html new file mode 100755 index 0000000..8f2bedb --- /dev/null +++ b/articles/2025/Menu-editor-for-XFCE4.html @@ -0,0 +1,26 @@ + + + + + + + Menu editor for XFCE4 + + +
+

Bloggings

+ Back + +
+ +
+
+

Menu editor for XFCE4

+

2025-03-23

+

Alacarte is a gui menu editor for Gnome and XFCE

+yay -S alacarte-xfce +
+
+ + diff --git a/articles/2025/Microphone-distortion-on-Thinkpad-X220.html b/articles/2025/Microphone-distortion-on-Thinkpad-X220.html new file mode 100755 index 0000000..8b40778 --- /dev/null +++ b/articles/2025/Microphone-distortion-on-Thinkpad-X220.html @@ -0,0 +1,38 @@ + + + + + + + Microphone distortion on Thinkpad X220 + + +
+

Bloggings

+ Back + +
+ +
+
+

Microphone distortion on Thinkpad X220

+

2025-04-27

+

Trying to fix a bad microphone

+

The X220 has a notoriously bad internal microphone. It can be somewhat improved by making the input mono with module-remap-source

+

/etc/modules-load.d/microphone.conf

+
+# make micro mono
+module-remap-source master=alsa_input.pci-0000_00_1b.0.analog-stereo channels=1 master_channel_map=front-left channel_map=mono
+
+

Replace master= with your device, and master_channel_map= with the device's channel

+

It's a bit better, although an external usb microphone is the real solution.

+
+
+ + + diff --git a/articles/2025/Modified-dwm-bar-battery-script.html b/articles/2025/Modified-dwm-bar-battery-script.html new file mode 100755 index 0000000..b837c73 --- /dev/null +++ b/articles/2025/Modified-dwm-bar-battery-script.html @@ -0,0 +1,80 @@ + + + + + + + Modified dwm-bar battery script + + +
+

Bloggings

+ Back + +
+ +
+
+

Modified dwm-bar battery script

+

2025-04-23

+

adding battery charging nerdfont icons

+

This is a modification of the default dwm-battery script

+

+
+#!/bin/sh
+
+# A dwm_bar function to read the battery level and status
+# GNU GPLv3
+
+dwm_battery () {
+    # Change BAT1 to whatever your battery is identified as. Typically BAT0 or BAT1
+    CHARGE=$(cat /sys/class/power_supply/BAT0/capacity)
+    STATUS=$(cat /sys/class/power_supply/BAT0/status)
+
+    #printf "%s" "$SEP1"
+    printf " %s"
+    if [ "$IDENTIFIER" = "unicode" ]; then
+        if [ "$STATUS" = "Charging" ]; then
+           if   [ "${CHARGE}" -lt 10 ];  then ICON="󱃍󱐋"
+           elif [ "${CHARGE}" -lt 20 ];  then ICON="󰁺󱐋"
+           elif [ "${CHARGE}" -lt 30 ];  then ICON="󰁻󱐋"
+           elif [ "${CHARGE}" -lt 40 ];  then ICON="󰁼󱐋"
+           elif [ "${CHARGE}" -lt 50 ];  then ICON="󰁽󱐋"
+           elif [ "${CHARGE}" -lt 60 ];  then ICON="󰁾󱐋"
+           elif [ "${CHARGE}" -lt 70 ];  then ICON="󰁿󱐋"
+           elif [ "${CHARGE}" -lt 80 ];  then ICON="󰂀󱐋"
+           elif [ "${CHARGE}" -lt 90 ];  then ICON="󰂂󱐋"
+           elif [ "${CHARGE}" -lt 100 ]; then ICON="󰁹󱐋"
+           fi
+        else
+           if   [ "${CHARGE}" -lt 10 ];  then ICON="󱃍"
+           elif [ "${CHARGE}" -lt 20 ];  then ICON="󰁺"
+           elif [ "${CHARGE}" -lt 30 ];  then ICON="󰁻"
+           elif [ "${CHARGE}" -lt 40 ];  then ICON="󰁼"
+           elif [ "${CHARGE}" -lt 50 ];  then ICON="󰁽"
+           elif [ "${CHARGE}" -lt 60 ];  then ICON="󰁾"
+           elif [ "${CHARGE}" -lt 70 ];  then ICON="󰁿"
+           elif [ "${CHARGE}" -lt 80 ];  then ICON="󰂀"
+           elif [ "${CHARGE}" -lt 90 ];  then ICON="󰂂"
+           elif [ "${CHARGE}" -lt 100 ]; then ICON="󰁹"
+           fi
+        fi
+        printf "%s %s%% " "$ICON" "$CHARGE"
+    else
+        printf "BAT %s%% %s" "$CHARGE" "$STATUS"
+    fi
+    #printf "%s\n" "$SEP2"
+}
+
+dwm_battery
+
+
+
+ + + diff --git a/articles/2025/My-gopher-site.html b/articles/2025/My-gopher-site.html new file mode 100755 index 0000000..c372098 --- /dev/null +++ b/articles/2025/My-gopher-site.html @@ -0,0 +1,35 @@ + + + + + + + My gopher site + + +
+

Bloggings

+ Back + +
+ +
+
+

My gopher site

+

2025-09-26

+

moving to saner tech

+

my gopher site pic

+

If you haven't noticed, I'm blogging (phlogging) on my gopher site now.

+

If you have a termnal, install lynx and point it to gopher://wittamore.fr

+

If you don't, point your web browser to gopherproxy, +the results are not as good but you'll get the gist.

+
+
+ + + diff --git a/articles/2025/Naked-DWM.html b/articles/2025/Naked-DWM.html new file mode 100755 index 0000000..bb64c73 --- /dev/null +++ b/articles/2025/Naked-DWM.html @@ -0,0 +1,101 @@ + + + + + + + Naked DWM + + +
+

Bloggings

+ Back + +
+ +
+
+

Naked DWM

+

2025-05-01

+

Zero dwm patches...

+

Inspiration from Bread on Penguins and BugsWriter

+

+

I've been messing with DWM patches but I went back to naked DWM. +The only caveat is a couple of lines of code in dwm/config.h to integrate Pywal16, +that allows me to have a colour theme that matches whatever wallpaper I'm using.

+

It's possible to patch DWM with the Xresources patch but patches are version dependant and can be a pain. +I prefer simple and maintainable.

+

Install pywal16

+
+yay -S python-pywal16
+
+

Modify dwm/config.h

+

In dwm/config.h I removed the default colour settings:

+
+static const char col_gray1[]       = "#222222";
+static const char col_gray2[]       = "#444444";
+static const char col_gray3[]       = "#bbbbbb";
+static const char col_gray4[]       = "#eeeeee";
+static const char col_cyan[]        = "#005577";
+static const char *colors[][3]      = {
+	/*               fg         bg         border   */
+	[SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
+	[SchemeSel]  = { col_gray4, col_cyan,  col_cyan  },
+};
+
+

and replaced them with this line:

+
+/* Pywal16 */ 
+#include "/home/philip/.cache/wal/colors-wal-dwm.h"
+
+

xinitrc

+

In my .xinitrc I have wal -Rq which recalls the last wallpaper setting.

+

Chooser script

+

This script chooses the wallpaper then recompiles dwm and dmenu.

+
+#!/usr/bin/env bash
+# Choose a wallpaper 
+# requires nsxiv, pywal16
+# ~/.local/bin is in PATH
+
+FOLDER=~/Pictures/wallpaper
+# thumbnail display of images
+CHOICE=$(nsxiv -otb $FOLDER/*) 
+
+wal -i $CHOICE
+
+# Post process
+
+# DWM
+cd ~/.local/src/dwm
+make clean ; make
+rm -f ~/.local/bin/dwm
+cp dwm ~/.local/bin
+
+# DWMMENU
+rm -f ~/.local/dmenu*
+cd ~/.local/src/dmenu
+make clean ; make
+cp {dmenu,dmenu_run,dmenu_path} ~/.local/bin
+
+
+
+ + + + + + + + + + + + + + diff --git a/articles/2025/Neomutt-as-default-in-XFCE4.html b/articles/2025/Neomutt-as-default-in-XFCE4.html new file mode 100755 index 0000000..4c7259b --- /dev/null +++ b/articles/2025/Neomutt-as-default-in-XFCE4.html @@ -0,0 +1,47 @@ + + + + + + + Neomutt as default in XFCE4 + + +
+

Bloggings

+ Back + +
+ +
+
+

Neomutt as default in XFCE4

+

2025-03-21

+

I've always loved Mutt and now Neomutt on XFCE4

+

Note: I use RBW to access my Bitwarden password vault on the command line or in +scripts, so I need to make sure it is unlocked before running Neomutt, hence +the Exec line in the desktop entry.

+

RBW sudo pacman -S rbw

+ +

Create desktop entry

+ +
~/.local/share/applications/neomutt.desktop
+ +[Desktop Entry] +Categories=Office;Network;Email; +Comment=Simple text-based Mail User Agent +Exec=xfce4-terminal -x bash -c '"rbw unblock" ; neomutt' %u +Icon=neomutt +Name=neomutt +MimeType=x-scheme-handler/mailto; +NoDisplay=false +Terminal=false +Type=Application + +

Add xdg mime type

+
xdg-mime default neomutt.desktop x-scheme-handler/mailto
+
+
+ + diff --git a/articles/2025/New-builds-of-dwm-and-st.html b/articles/2025/New-builds-of-dwm-and-st.html new file mode 100755 index 0000000..1601b4c --- /dev/null +++ b/articles/2025/New-builds-of-dwm-and-st.html @@ -0,0 +1,35 @@ + + + + + + + New builds of dwm and st + + +
+

Bloggings

+ Back + +
+ +
+
+

New builds of dwm, dmenu, and st

+

2025-05-21

+

new builds with patches

+

I've updated my builds of dwm, dmenu, and st, available on my git server

+

Although I've compiled St, Kitty and Ghostty are my favorite terminal emulators. St has many patches, but not all of them work together. St is meant to be a bare bones -suckless- terminal emulator.

+

The DWM build has the xrdb, rotatestack, adjacenttag, center, statuscmd and swallow patches.

+

I was using slstatus with time and battery indications, but dwmblocks-async adds bit of flair.

+

Dmenu has the xresources and center patches.

+
+
+ + + diff --git a/articles/2025/Newsboat-and-gopher-RSS-feeds.html b/articles/2025/Newsboat-and-gopher-RSS-feeds.html new file mode 100755 index 0000000..ec1c48f --- /dev/null +++ b/articles/2025/Newsboat-and-gopher-RSS-feeds.html @@ -0,0 +1,36 @@ + + + + + + + Newsboat and gopher RSS feeds + + +
+

Bloggings

+ Back + +
+ +
+
+

Newsboat and gopher RSS feeds

+

2025-09-24

+

How to read gopher RSS feeds in newsboat

+

curl is able to access gopher files, and newsboat has an "exec" command +that can be used run commands.

+

So to read a gopher rss feed you can simply edit .newsboat/urls and add the following line:

+

"exec:curl gopher://url"

+

For example:

+

"exec:curl gopher://lucio.albenga.es/0/lfa/en/phlog/rss.xml"

+
+
+ + + diff --git a/articles/2025/Oddly-useful-Linux-tools.html b/articles/2025/Oddly-useful-Linux-tools.html new file mode 100755 index 0000000..719dd56 --- /dev/null +++ b/articles/2025/Oddly-useful-Linux-tools.html @@ -0,0 +1,50 @@ + + + + + + + Oddly useful Linux tools + + +
+

Bloggings

+ Back +
+ +
+
+

Oddly useful Linux tools

+

2025-05-08

+

Bread on Penguins with some interesting tools

+

+ Some really interesting videos, Bread on Penguins is taking up where + Luke Smith left off +

+
+ +
+
+
+ + + diff --git a/articles/2025/Pipewire.html b/articles/2025/Pipewire.html new file mode 100755 index 0000000..dd75885 --- /dev/null +++ b/articles/2025/Pipewire.html @@ -0,0 +1,62 @@ + + + + + + + Pipewire + + +
+

Bloggings

+ Back + +
+ +
+
+

Pipewire

+

2025-04-28

+

Fixing Thinkpad X220 microphone woes

+

So with my nice new DWM installation I waltz into a Jitsi meeting only to find that my microphone +wasn't working even though it appeared to. Something was missing in pulseaudio after I removed XFCE4, or +wasn't taken into account in DWM. Then I noticed that Librewolf was looking for Pipewire. What?

+

Eventually I got it working, but the microphone was distorted and full of parasites. +Adding a module remap to +turn the two laptop microphones into mono was a tad better but I decided go for the bleeding +edge and install Pipewire instead of Pulseaudio.

+
+sudo pacman -Rdd pulseaudio
+sudo pacman -S pipewire-{jack,alsa,pulse}
+systemctl --user enable --now pipewire pipewire-pulse pipewire-media-session
+
+

Noise suppression

+
+git clone https://github.com/werman/noise-suppression-for-voice.git
+
+

Follow the instructions at Noise suppression for Voice

+

In order to change the default source:

+
+pactl list sources short
+pactl set-default-source rnnoise_source
+systemctl --user restart pipewire.service 
+
+

And that's the best I'll probably ever get out of the internal X220 microphones.

+

Why not just use Alsa? Because I use a bluetooth headset and noise suppression.

+

Why not just use an external microphone? I've ordered one :-)

+ +

Bluetooth Autoconnect

+

Just to add, Bluetooth Autoconnect was built for Pulseaudio but works fine with Pipewire.

+

Bluetooth autoconnect will connect any client that is paired and trusted, in my case a headset.

+

If you use Chaotic-Aur, pacman -S bluetooth-autoconnect will install it. Use yay -S bluetooth-autoconnect if not.

+ +
+
+ + + diff --git a/articles/2025/Power-notifications.html b/articles/2025/Power-notifications.html new file mode 100755 index 0000000..af66de7 --- /dev/null +++ b/articles/2025/Power-notifications.html @@ -0,0 +1,31 @@ + + + + + + + Power notifications + + +
+

Bloggings

+ Back + +
+ +
+
+

Power notifications

+

2025-04-26

+

Searching how to get a notification for power source changes or USB drives

+

I found the solution here: udev desktop notifications

+
+
+ + + diff --git a/articles/2025/Powerline-Bash.html b/articles/2025/Powerline-Bash.html new file mode 100755 index 0000000..9af5c90 --- /dev/null +++ b/articles/2025/Powerline-Bash.html @@ -0,0 +1,27 @@ + + + + + + + Powerline Bash + + +
+

Bloggings

+ Back + +
+ +
+
+

Powerline Bash

+

2025-03-24

+

Make your bash prompt look real pretty

+

+

powerline.bash

+
+
+ + diff --git a/articles/2025/RSS-feeds-that-don't-suck-on-terminals.html b/articles/2025/RSS-feeds-that-don't-suck-on-terminals.html new file mode 100755 index 0000000..d3757bf --- /dev/null +++ b/articles/2025/RSS-feeds-that-don't-suck-on-terminals.html @@ -0,0 +1,83 @@ + + + + + + + RSS feeds that don't suck on terminals + + +
+

Bloggings

+ Back + +
+ +
+
+

RSS feeds that don't suck on terminals

+

2025-04-05

+

RSS news in the terminal

+

I'm building a list of RSS feeds that work in the terminal. +There are a lot of feeds out there but not all of the linked articles display well.

+ +

Basically it's a question of whether the page linked in the RSS feed is displayed well in +a text browser, which isn't always the case. I find the Chawan text browser gives the best +web display in general and includes images, so I'm using it as a benchmark.

+

It's always possible to use rdrview to pre-format the text before sending to cha, +with browser "rdrview -B cha %u" in .newsboat/config, but this removes the images.

+

This is an ongoing task so it will probably end up as a static page

+

The list so far:

+ +---Linux--- +https://old.reddit.com/r/commandline/.rss +https://old.reddit.com/r/Ghostty/.rss +https://old.reddit.com/r/xfce/.rss +https://old.reddit.com/r/neomutt/.rss +https://old.reddit.com/.rss +https://itsfoss.com/rss/ +https://archlinux.org/feeds/news +https://www.linuxjournal.com/node/feed +https://www.cyberciti.biz/feed/ +https://terminaltrove.com/blog.xml +https://terminaltrove.com/new.xml +https://terminaltrove.com/totw.xml + +---News-English--- +https://www.theatlantic.com/feed/all/ + +---News-French--- +https://www.thelocal.fr/feeds/rss.php +https://www.diplomatie.gouv.fr/spip.php?page=backend-fd +https://mondediplo.com/backend +https://frenchdailynews.com/feed +https://www.euronews.com/rss +https://tempsreel.nouvelobs.com/rss.xml +https://www.lepoint.fr/rss.xml + +---Science--- +https://www.science.org/rss/news_current.xml +http://rss.sciam.com/ScientificAmerican-Global +https://www.lemonde.fr/sciences/rss_full.xml +https://www.newscientist.com/feed/home/?cmpid=RSS%7CNSNS-Home +http://feeds.feedburner.com/sciencealert-latestnews +http://awesci.com/feed/ +https://blogs.esa.int/rocketscience/feed/ + +---Tech--- +https://feeds.feedburner.com/TheHackersNews?format=xml + +---Divertissement--- +https://xkcd.com/rss.xml + +---Other--- + +
+
+ + diff --git a/articles/2025/Reducing-web-font-size.html b/articles/2025/Reducing-web-font-size.html new file mode 100755 index 0000000..e03b92f --- /dev/null +++ b/articles/2025/Reducing-web-font-size.html @@ -0,0 +1,39 @@ + + + + + + + Reducing web font size + + +
+

Bloggings

+ Back + +
+ +
+
+

Reducing web font size

+

2025-04-06

+

I stumbled on a marvellous post

+

I started using the Jetbrains font for this blog, but adding the font in the css file makes it +pretty heavy, and I've been considering removing it. BUT...

+

I stumbled on this post +and tried Neil's suggestion on the JetbrainsMono-Regular truetype font, and the font filesize was reduced from 274k to 66Kb

+pipx install fonttools +pyftsubset JetbrainsMono-Regular.ttf --output-file=JetbrainsMono-Regular-reduced.ttf --unicodes=U+0020-007E +

So I decided to try it on the JetBrainsMono Regular Nerdfont, a whopping 2.4Mb, but the result was even better, 18Kb!

+.rw-r--r-- 66k philip 6 avril 23:04 JetBrainsMono-reduced.ttf +.rw-r--r-- 18k philip 6 avril 23:20 JetBrainsMonoNerd-reduced.ttf + +

Understanding why will take a bit of forensics, in the mean time this blog has become much lighter.

+

Update

+

I wound up just using the default monospace for the main text, and Ultra (reduced) for the title .

+ +
+
+ + diff --git a/articles/2025/Replace-sudo-with-doas-on-Artix.html b/articles/2025/Replace-sudo-with-doas-on-Artix.html new file mode 100755 index 0000000..d05bb5a --- /dev/null +++ b/articles/2025/Replace-sudo-with-doas-on-Artix.html @@ -0,0 +1,92 @@ + + + + + + + Replace sudo with doas on Artix + + +
+

Bloggings

+ Back + +
+ +
+
+

Replace sudo with doas on Artix

+

2025-06-18

+

More efficient, less complicated

+

Sudo is quite bloated and not without security problems. It is intended to cover situations +that normal Linux users will never encounter, and its configuration is messy.

+

Doas is an application from OpenBSD that is simpler and cleaner.

+

Here are the steps I took to install doas and replace sudo:

+sudo pacman -S opendoas +

Add my username to the group wheel:

+sudo usermod -aG wheel philip +

Create /etc/doas.conf and add:

+permit setenv {PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin} :wheel +

Modify the ownership and permissions:

+doas chown -c root:root /etc/doas.conf +doas chmod -c 0400 /etc/doas.conf + +

You should now be able to remove sudo:

+doas pacman -Rdd sudo +

Create a symlink to sudo

+ln -s $(which doas) /usr/bin/sudo +

So now it would be nice to have the equivalent of sudoedit.

+

Create /root/scripts/doasedit (I use the micro editor):

+#!/usr/bin/env bash + +DOASDIR="/tmp/doas-$(date +%s)" +mkdir $DOASDIR +chmod 700 $DOASDIR +DOASFILE="$DOASDIR/doas.conf" + +cp /etc/doas.conf $DOASFILE +chmod 600 $DOASFILE + +micro $DOASFILE +sync + +doas -C $DOASFILE && echo "valid config" && cp $DOASFILE /etc/doas.conf && chmod 400 /etc/doas.conf || echo "invalid config" +sync + +rm -rf $DOASDIR + + +

Create /usr/local/bin/doasedit:

+ +#!/usr/bin/env bash +if [ "$(id -u)" != 0 ]; then + doas /root/script/doasedit +else + /root/script/doasedit +fi + + +

Modify the permissions

+doas chmod 700 /root/script/doasedit +doas chmod 755 /usr/local/bin/doasedit + + +

Test doasedit:

+doasedit +

add this line:

+permit nopass philip as root cmd pacman +

save and you should see:

+valid config + +

Source

+ +
+
+ + + diff --git a/articles/2025/Rsync-backup-to-Synology-Diskstation.html b/articles/2025/Rsync-backup-to-Synology-Diskstation.html new file mode 100755 index 0000000..62f9c50 --- /dev/null +++ b/articles/2025/Rsync-backup-to-Synology-Diskstation.html @@ -0,0 +1,46 @@ + + + + + + + Rsync backup to Synology Diskstation + + +
+

Bloggings

+ Back + +
+ +
+
+

Rsync backup to Synology Diskstation

+

2025-03-25

+

This could change but it works for me.

+

My Diskstation isn't always on, so I run this from the command line rather than cron.

+

To avoid errors devices and links are skipped, permissions, times, group and owner are not written and files are compared by size only.

+

Ssh is configured with ssh-copy-id for passwordless access and host:port details in .ssh/config

+

Note: I set the rsync options on the diskstation but had to chmod 755 my +diskstation's home folder before passwordless ssh worked

+#!/bin/sh + + rsync -r --no-D --no-t --no-o --no-g --no-p \ + --size-only \ + --delete \ + --update \ + --exclude .cache/ \ + --exclude Downloads/ \ + --exclude tmp/ \ + --exclude .local/share/Trash/ \ + --exclude .wine \ + --info=progress2 \ + --stats \ + /home/philip philip@dsm:backup-X220 + + +
+
+ + diff --git a/articles/2025/Screen-scaling-with-xrandr.html b/articles/2025/Screen-scaling-with-xrandr.html new file mode 100755 index 0000000..9e42c67 --- /dev/null +++ b/articles/2025/Screen-scaling-with-xrandr.html @@ -0,0 +1,44 @@ + + + + + + + Screen scaling with xrandr + + +
+

Bloggings

+ Back + +
+ +
+
+

Screen scaling with xrandr

+

2025-03-30

+

Changing screen scaling on my X220

+

The Thinkpad X220 has a screen resolution of 1366x768 (16:9), which suits the size of the 13" screen, +but sometimes you stumble on applications that have gui elements that are taller than the screen.

+

In Linux, it's possible to change the screen scaling to emulate a larger screen with xrandr. +It won't look as crisp as the real resolution, but might get you out of a bind.

+

This command will emulate a 1920x1080 (16:9) screen:

+xrandr --output LVDS1 --panning 1920x1080 --scale 1.406x1.406 +

or 1600x900:

+xrandr --output LVDS1 --panning 1600x900 --scale 1.171x1.172 +

To return to the original scaling, type:

+xrandr --output LVDS1 --panning 1366x768 --scale 1x1 +

On the other hand , if you have for example a 1920x1080 (16:9) screen but would like to +scale down to 1600x900
(which might well be the case when I receive the new 1920x1080 IPS screen for my 14" T430)

+xrandr --output LVDS1 --panning 1600x900 --scale 0.8333x0.8333 +

 

+

In XFCE4, you can also magnify the resolution in
+Settings->Appearance->Settings->Window Scaling

+

you can also do this on the command line with

+xfconf-query -c xsettings -p /Gdk/WindowScalingFactor -s SCALE +

where SCALE is either 1 or 2

+
+
+ + diff --git a/articles/2025/Shellcheck-your-bash-scripts.html b/articles/2025/Shellcheck-your-bash-scripts.html new file mode 100755 index 0000000..36ff5c7 --- /dev/null +++ b/articles/2025/Shellcheck-your-bash-scripts.html @@ -0,0 +1,36 @@ + + + + + + + Shellcheck your bash scripts + + +
+

Bloggings

+ Back +
+
+ +
+
+

Shellcheck your bash scripts

+

2025-05-14

+

Shellcheck is a handy online and command line tool

+

+ I've started using this tool to clean up my scripts. Testing via the web + interface displays links to explanations of the errors or warnings found. +

+

https://www.shellcheck.net/

+
yay -Ss shellcheck
+
+
+ + + diff --git a/articles/2025/Simplex-a-decentralised-private-messenger.html b/articles/2025/Simplex-a-decentralised-private-messenger.html new file mode 100755 index 0000000..11f6efe --- /dev/null +++ b/articles/2025/Simplex-a-decentralised-private-messenger.html @@ -0,0 +1,29 @@ + + + + + + + Simplex a decentralised private messenger + + +
+

Bloggings

+ Back + +
+ +
+
+

Simplex a decentralised private messenger

+

2025-04-04

+

A messenger app without user IDs

+

Other apps have user IDs: Signal, Matrix, Session, Briar, Jami, Cwtch, etc. +SimpleX does not, not even random numbers.This radically improves your privacy.

+

Simplex

+

Rick Carlino's blog

+
+
+ + diff --git a/articles/2025/Slim-fork-login-manager.html b/articles/2025/Slim-fork-login-manager.html new file mode 100755 index 0000000..1b55788 --- /dev/null +++ b/articles/2025/Slim-fork-login-manager.html @@ -0,0 +1,35 @@ + + + + + + + Slim-fork login manager + + +
+

Bloggings

+ Back + +
+ +
+
+

Slim-fork login manager

+

2025-04-26

+

Slim has been ressurected

+

Slim is an lightweight login manager that has been ressurected, patched, and improved.

+

Oh the power of open source software...

+

Slim fork

+

Slim Themes

+

slim greeny-dark theme screenshot

+
+
+ + + diff --git a/articles/2025/Slstatus-date-with-alternative-locale.html b/articles/2025/Slstatus-date-with-alternative-locale.html new file mode 100755 index 0000000..60d7b44 --- /dev/null +++ b/articles/2025/Slstatus-date-with-alternative-locale.html @@ -0,0 +1,59 @@ + + + + + + + Slstatus date with alternative locale + + +
+

Bloggings

+ Back + +
+ +
+
+

Slstatus date with alternative locale

+

2025-04-26

+

Modifying slstatus to display French date

+

My default locale is en-US, but I wanted to display weekdays in French in the slstatus bar.

+

The solution is to add setlocale to the function in
slstatus/components/datetime.c

+

+
+/* See LICENSE file for copyright and license details. */
+#include <stdio.h>
+#include <time.h>
+#include <locale.h>
+
+#include "../slstatus.h"
+#include "../util.h"
+
+
+const char *
+datetime(const char *fmt)
+{    
+	setlocale(LC_ALL,"fr_FR.utf8");
+	time_t t;
+
+	t = time(NULL);
+
+	if (!strftime(buf, sizeof(buf), fmt, localtime(&t))) {
+		warn("strftime: Result string exceeds buffer size");
+		return NULL;
+	}
+
+	return buf;
+}
+
+
+
+ + + diff --git a/articles/2025/Starship-prompt.html b/articles/2025/Starship-prompt.html new file mode 100755 index 0000000..5371de9 --- /dev/null +++ b/articles/2025/Starship-prompt.html @@ -0,0 +1,34 @@ + + + + + + + Starship prompt + + +
+

Bloggings

+ Back + +
+ +
+
+

Starship prompt

+

2025-04-26

+

Making the terminal pretty with Starship

+

I got fed up with the powerline prompt and installed starship +with the gruvbox-rainbow preset.

+

+

And with that, I'm done for the day.

+
+
+ + + diff --git a/articles/2025/Stick-it-to-the-man.html b/articles/2025/Stick-it-to-the-man.html new file mode 100755 index 0000000..2846439 --- /dev/null +++ b/articles/2025/Stick-it-to-the-man.html @@ -0,0 +1,36 @@ + + + + + + + Stick it to the man + + +
+

Bloggings

+ Back + +
+ +
+
+

Artix: Stick it to the man

+

2025-06-29

+

Artix is the resistance: Xlibre

+

resistance.jpg

+

Xlibre released for testing on Artix Linux

+

Artix is becoming what Arch should have been. While corporations have been instrumental in Linux's progression over the years, +allowing them to forge Linux into a new sort of Windows where applications are becoming totally phagocyted by a +few pieces of software (Wayland, Systemd,...) requires solid resistance.

+

Kudos to the people making this happen.

+
+
+ + + diff --git a/articles/2025/TLP-recalibration-error-on-Thinkpad-X220.html b/articles/2025/TLP-recalibration-error-on-Thinkpad-X220.html new file mode 100755 index 0000000..6ba27a4 --- /dev/null +++ b/articles/2025/TLP-recalibration-error-on-Thinkpad-X220.html @@ -0,0 +1,29 @@ + + + + + + + TLP recalibration error on Thinkpad X220 + + +
+

Bloggings

+ Back + +
+ +
+
+

TLP recalibration error on Thinkpad X220

+

2025-04-08

+

Error: cannot read charge level of battery BAT0

+

My attempt to recalibrate the battery on my X220 failed. Hunting for info I found this on github +

It's a TLP bug that was fixed a couple of weeks ago. The solution was to install the git versions of tlp.

+yay -S tlp-git tlp-rdw-git +

Now I can plug in my X220 to the mains and run tlp recalibrate BAT0 overnight.

+
+
+ + diff --git a/articles/2025/Taking-the-leap-to-Artix.html b/articles/2025/Taking-the-leap-to-Artix.html new file mode 100755 index 0000000..6daee3b --- /dev/null +++ b/articles/2025/Taking-the-leap-to-Artix.html @@ -0,0 +1,45 @@ + + + + + + + Taking the leap to Artix + + +
+

Bloggings

+ Back + +
+ +
+
+

Taking the leap to Artix

+

2025-06-14

+

systemd no more

+

Artix Linux is a distribution based on Arch, but without systemd.

+

Seeing how systemd has become insidious within Linux it's no mean feat.

+

After watching this video, +and having read a lot of systemd warnings by old timers, +I decided to try Artix. I prefer a rolling release distribution, and I like Arch a lot, +so Artix was the logical choice.

+

After the first hour of floundering around I got it working.

+

For some reasong the default network manager was limiting network access, for example the Artix site +and my own site were ok, but reddit and duckduckgo were not allowed. I checked /etc/hosts but couldn't find +the culprit. In the end I removed ConnMan and installed networkmanager and it worked straight away. In addition +I can now use nmtui.

+

There are still things to fix, for example the SLiM desktop manager no longer works, true it's ancient, +so I'll have to find a replacement Until then I'm just typing startx after logging in.

+

I have dwm running, bluetooth and pipewire too, so it's just a question of fiddling around.

+ +
+
+ + + diff --git a/articles/2025/Terminal-Trove.html b/articles/2025/Terminal-Trove.html new file mode 100755 index 0000000..e07b7ea --- /dev/null +++ b/articles/2025/Terminal-Trove.html @@ -0,0 +1,29 @@ + + + + + + + Terminal Trove + + +
+

Bloggings

+ Back + +
+ +
+
+

Terminal Trove

+

2025-04-02

+

Terminal Trove curates and showcases all things in the terminal

+

such as command line interface tools (CLI), text mode interface tools (TUI), developer tools and more no matter what platform or medium.

+

The site also has RSS feeds, and is present on mastodon and BlueSky among others

+

https://terminaltrove.com

+

Nice site

+
+
+ + diff --git a/articles/2025/The-Mote-in-God's-eye.html b/articles/2025/The-Mote-in-God's-eye.html new file mode 100755 index 0000000..d6c779c --- /dev/null +++ b/articles/2025/The-Mote-in-God's-eye.html @@ -0,0 +1,36 @@ + + + + + + + The Mote in God's eye + + +
+

Bloggings

+ Back + +
+ +
+
+

The Mote in God's eye

+

2025-04-06

+

Science fiction by Larry Niven and Jerry Pournelle

+

I'm re-reading this book on my Kobo. It's a book I first read back in the 70's. +I probably bought it at Shakespeare & Co. a famous bookshop in the latin quarter of Paris, where +I could go and spend a couple of hours reading a book in a big leather armchair, +so it bears a touch of nostalgia for me.

+

The premise is of an intelligent species (the Moties), locked in it's own solar system, +victim of endless cycles of expansion and destruction due to it's fertility. +Larry Niven thought big when he wrote novels like Ringworld, and here it's no exception.

+

Some things seem a bit dated, for example the descendents of Russia, America or Scotland +being important in the distant future, but all in all a good thought provoking read. +To me it begs the question: what if our own species winds up becoming Moties?

+

📘 Kobo ebook

+
+
+ + diff --git a/articles/2025/The-last-thing-the-EU-needs-....html b/articles/2025/The-last-thing-the-EU-needs-....html new file mode 100755 index 0000000..05dd1d6 --- /dev/null +++ b/articles/2025/The-last-thing-the-EU-needs-....html @@ -0,0 +1,31 @@ + + + + + + + The last thing the EU needs ... + + +
+

Bloggings

+ Back + +
+ +
+
+

The last thing the EU needs ...

+

2025-04-09

+

Clickbait title for some serious points

+

The Last Thing the EU Needs Is Its Own Linux Distro

+

Having installed Linux in a couple of schools only to have the teachers showered in Microsoft freebies and propaganda, +I fully support this guy because otherwise I know how this is going to end up.

+

The roll over and beg attitude of authorities towards Microsoft lobbying is terrifying, and it has to change through top down +directives that place independant European solutions first.

+ +
+
+ + diff --git a/articles/2025/The-universe-is-spinning.html b/articles/2025/The-universe-is-spinning.html new file mode 100755 index 0000000..c537ffc --- /dev/null +++ b/articles/2025/The-universe-is-spinning.html @@ -0,0 +1,55 @@ + + + + + + + The universe is spinning + + +
+

Bloggings

+ Back +
+ +
+
+

The universe is spinning

+

2025-04-13

+

What goes around, comes around

+

+ One of my favorite Youtubers on the subject of our spinning universe +

+

No wonder I get vertigo.

+
+ +
+

+ Sabine Hossenfelder +

+
+
+ + + diff --git a/articles/2025/Thinkpad-T430-screen-upgrade.html b/articles/2025/Thinkpad-T430-screen-upgrade.html new file mode 100755 index 0000000..aa4fcdb --- /dev/null +++ b/articles/2025/Thinkpad-T430-screen-upgrade.html @@ -0,0 +1,33 @@ + + + + + + + Thinkpad T430 screen upgrade + + +
+

Bloggings

+ Back + +
+ +
+
+

Thinkpad T430 screen upgrade

+

2025-03-21

+

My T430's current screen is 1368x768, a bit crappy

+

So I've decided to upgrade it.

+

I've purchased a B140HAN01.3 screen and an LCD controller board kit from Aliexpress

+

I'll update this article when it arrives

+

Controller board

+

1920x1080 IPS screen

+

Oh poo.

+

The parts arrived, but when I installed them only the backlight works. I tried another LCD controller kit +but there's no display. I hit a wall with the screen supplier who won't replace it. Lesson learned.

+
+
+ + diff --git a/articles/2025/Thinkpad-X220-Fan-control.html b/articles/2025/Thinkpad-X220-Fan-control.html new file mode 100755 index 0000000..2e8010d --- /dev/null +++ b/articles/2025/Thinkpad-X220-Fan-control.html @@ -0,0 +1,30 @@ + + + + + + + Thinkpad X220 Fan control + + +
+

Bloggings

+ Back + +
+ +
+
+

Thinkpad X220 Fan control

+

2025-03-21

+

Blowing out the heat from my laptop

+

After installing thinkfan, sudo pacman -S thinkfan +

journalctl -p 3 -xb was showing an error concerning thinkfan, and I worked out that the thinkfan_acpi module wasn't being loaded on boot.

+

Adding thinkpad_acpi to /etc/modules-load.d/thinkpad.conf didn't work

+

What did work was editing /etc/default/grub and adding thinkpad_acpi.fan_control=1 to GRUB_CMDLINE_LINUX_DEFAULT

+

Then

sudo grub-mkconfig -o /boot/grub/grub.cfg

+
+
+ + diff --git a/articles/2025/Thinkvantage-button-in-DWM.html b/articles/2025/Thinkvantage-button-in-DWM.html new file mode 100755 index 0000000..5721c8e --- /dev/null +++ b/articles/2025/Thinkvantage-button-in-DWM.html @@ -0,0 +1,41 @@ + + + + + + + Thinkvantage button in DWM + + +
+

Bloggings

+ Back + +
+ +
+
+

Thinkvantage button in DWM

+

2025-04-27

+

Putting the Thinkvantage button to use

+

thinkvantage button

+

On my Thinkpad X220 there's a blue Thinkvantage button that only gets used when the machine boots to select different options.

+

Using xev the button is referenced as XF86XK_Launch1, here I use it to run a rofi menu for logging out, shutting down, rebooting, etc.

+

dwm/config.h

+
+...
+{ 0,            XF86XK_Launch1,            spawn,          SHCMD("rofi -show power-menu -modi power-menu:rofi-power-menu") },
+...
+
+

power-menu can be found here

+

+
+
+ + + diff --git a/articles/2025/Thoughts-on-suckless.html b/articles/2025/Thoughts-on-suckless.html new file mode 100755 index 0000000..25d9cc8 --- /dev/null +++ b/articles/2025/Thoughts-on-suckless.html @@ -0,0 +1,46 @@ + + + + + + + Thoughts on suckless + + +
+

Bloggings

+ Back + +
+ +
+
+

Thoughts on suckless

+

2025-06-12

+

Note: opinions can change

+

I've been playing with suckless tools: dwm, dmenu, st, surf

+

Dwm and dmenu are fantastic, st and surf not so much.

+

Both st and surf have patches that are incompatible, and +often outdated. The user is expected to know how to correct the patch +rejections, which is often possible, but knowledge of C is your best bet.

+

Suckless software is intended to be somewhat elite. Their web site +is frankly not suckless, perhaps intentionally? Some of the patches proposed +address problems that have already been solved in the main program.

+

Surf compiles but with GTK warnings about obsolete functions.

+

St is a headbanger if you want kittygraphics, boxdraw, and ligatures for example.

+

The educational aspect of suckless software is of course is invaluable, +and if it's the objective, then that's fine. The problem arises when you want to +build something that will fulfill your needs.

+

Because of all this I use Kitty or Ghostty instead of st, and Librewolf +instead of Surf. I just hope dwm doesn't fall into the same hole of wanting to +be elite to the point of not fulfilling it's task, which would be a terrible shame.

+
+
+ + + diff --git a/articles/2025/Thoughts-on-zsh.html b/articles/2025/Thoughts-on-zsh.html new file mode 100755 index 0000000..b0d1af6 --- /dev/null +++ b/articles/2025/Thoughts-on-zsh.html @@ -0,0 +1,40 @@ + + + + + + + Thoughts on zsh + + +
+

Bloggings

+ Back + +
+ +
+
+

Thoughts on zsh

+

2025-06-22

+

do I need it?

+

I kinda figured out that although youtubers attempt to make you feel a has-been if +you don't use all the bells and whistles that come with zsh, that Bash does everything I need, and I can extend it if needed.

+

Minimalism might be my aim, but it's not a do of die mantra, even so zsh appears rather flash and with esoteric possibilies that I will never use.

+

I'm also keeping my bash scripts, there seems to be little point in making them reliant on some other shell.

+

There are also a number of things that can improve your bash "experience" like Blesh - Bash Line Editor

+

So I'm sticking to Bash for now.

+

Edit: after adding blesh I found that Midnight Commander (mc) took a few seconds to start, I fixed it with an alias:

+alias mc="mc --nosubshell" +

Re-Edit: sometimes typing in the termnal was non responsive, I got annoyed after a while and removed Blesh from .bashrc

+

Turns out simple is best, who would have thought it?

+
+
+ + + diff --git a/articles/2025/Toggle-screen-resolution-in-DWM.html b/articles/2025/Toggle-screen-resolution-in-DWM.html new file mode 100755 index 0000000..6928414 --- /dev/null +++ b/articles/2025/Toggle-screen-resolution-in-DWM.html @@ -0,0 +1,35 @@ + + + + + + + Toggle screen resolution in DWM + + +
+

Bloggings

+ Back + +
+ +
+
+

Toggle screen resolution in DWM

+

2025-06-28

+

using X220 keys

+

Sometimes a badly written application will display a panel that is bigger than my X220's screen resolution, which is 1366x768.

+

To quickly solve this I've affected the Scroll Lock key to a script that toggles scaling between 1366x768 and 1600x900

+

The scaling adds some fuzziness but gets the job done.

+

My DWM fork

+

DWM Scale script

+
+
+ + + diff --git a/articles/2025/Touchpad-deactivation.html b/articles/2025/Touchpad-deactivation.html new file mode 100755 index 0000000..2f66a78 --- /dev/null +++ b/articles/2025/Touchpad-deactivation.html @@ -0,0 +1,58 @@ + + + + + + + Touchpad deactivation + + +
+

Bloggings

+ Back + +
+ +
+
+

Touchpad deactivation

+

2025-06-09

+

When you have big hands and a little keyboard

+

Until now I was using synclient TouchpadOff=1 in my .xinitrc, but I was getting odd +results when using the keyboard mouse buttons. It turns out oddly the lower left area of my touchpad was infrequently active +and messing things up.

+

Replacing synclient with xinput set-prop 11 172 0 fixed it.

+

I obtained the touchpad ID with xinput list and the command with xinput -list-props 11

+
+ $ xinput list
+ ⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
+ ⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
+ ⎜   ↳ Logitech Wireless Mouse                 	id=9	[slave  pointer  (2)]
+ ⎜   ↳ TPPS/2 IBM TrackPoint                   	id=12	[slave  pointer  (2)]
+ ⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
+     ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
+     ↳ Power Button                            	id=6	[slave  keyboard (3)]
+     ↳ Video Bus                               	id=7	[slave  keyboard (3)]
+     ↳ Sleep Button                            	id=8	[slave  keyboard (3)]
+     ↳ AT Translated Set 2 keyboard            	id=10	[slave  keyboard (3)]
+     ↳ ThinkPad Extra Buttons                  	id=13	[slave  keyboard (3)]
+     ↳ Logitech Wireless Mouse                 	id=14	[slave  keyboard (3)]
+ ∼ SynPS/2 Synaptics TouchPad              	id=11	[floating slave]
+ 
+$ xinput -list-props 11
+Device 'SynPS/2 Synaptics TouchPad':
+    Device Enabled (172):	1
+    ...
+	
+$ xinput set-prop 11 172 0
+ 
+
+
+ + + diff --git a/articles/2025/Traditional-screenshot-of-my-X220.html b/articles/2025/Traditional-screenshot-of-my-X220.html new file mode 100755 index 0000000..19cb8af --- /dev/null +++ b/articles/2025/Traditional-screenshot-of-my-X220.html @@ -0,0 +1,28 @@ + + + + + + + Traditional screenshot of my X220 + + +
+

Bloggings

+ Back + +
+ +
+
+

Traditional screenshot of my X220

+

2025-04-08

+

Thinkpad X22O running Arch Linux

+screenshot of X220 +

It's traditional to show off one's Thinkpad screenshot basking in all it's Linuxian glory, so here we are.

+
My name is Ozymandias, King of Kings: Look on my works, ye Mighty, and despair!
+
+
+ + diff --git a/articles/2025/Try-different-versions-of-Linux-online.html b/articles/2025/Try-different-versions-of-Linux-online.html new file mode 100755 index 0000000..eb6e25d --- /dev/null +++ b/articles/2025/Try-different-versions-of-Linux-online.html @@ -0,0 +1,33 @@ + + + + + + + Try different versions of Linux online + + +
+

Bloggings

+ Back + +
+ +
+
+

Try different distributions of Linux online

+

2025-07-14

+

Distrosea

+

Here's a way of testing various distributions of Linux using your browser

+

Artix Linux is included

+

https://distrosea.com

+
+
+ + + diff --git a/articles/2025/Updated-cgit-server.html b/articles/2025/Updated-cgit-server.html new file mode 100755 index 0000000..53ce0d7 --- /dev/null +++ b/articles/2025/Updated-cgit-server.html @@ -0,0 +1,35 @@ + + + + + + + Updated cgit server + + +
+

Bloggings

+ Back + +
+ +
+
+

Updated cgit server

+

2025-05-28

+

dwm, dmenu, st repositories updated

+

I've updated my git server with patched versions of DWM, Dmenu and ST

+

The cgit server is also fixed, I didn't realise that https cloning wasn't working.

+

It works now, for example:

+
git clone https://git.wittamore.fr/dwm
+

Link to my git server

+

+
+ + + diff --git a/articles/2025/Upload-modified-blog-files-with-scp.html b/articles/2025/Upload-modified-blog-files-with-scp.html new file mode 100755 index 0000000..9b28eed --- /dev/null +++ b/articles/2025/Upload-modified-blog-files-with-scp.html @@ -0,0 +1,65 @@ + + + + + + + Upload modified blog files with scp + + +
+

Bloggings

+ Back + +
+ +
+
+

Upload modified blog files with scp

+

2025-03-29

+

A simple bash script to update this blog using scp

+

Note

+

I have my web server aliased in ~/.ssh/config as "web"
so the remote folder is web:/folder

+#!/bin/sh + +# blogsend : scp blog files to web server +# usage : blogsend hours (if not set default is 1 hour) +# example : blogsend 72 sends files modified over the past 3 days + +# folders +rf= #add your remote ssh folder here +mf= #add your local folder here +cd $mf + +# test if option is sent +if [[ -z "$1" ]]; then + HOURS=1; +else + # test if option is a number + if [[ "$1" =~ ^[0-9]+$ ]]; then + HOURS=$1; + else + HOURS=1; + fi +fi + +MINUTES=$(($HOURS*60)) + +echo "Sending files modified in the past $HOURS hour(s)..." + +files=$(find * -path .tmp -prune -o -mmin -$MINUTES -type f) +for file in $files +do + echo -ne "-> "; + scp -r "$file" "$rf/$file"; +done + +echo "Done." + +exit 0 + +
+
+ + diff --git a/articles/2025/Using-Goaccess-to-view-web-stats.html b/articles/2025/Using-Goaccess-to-view-web-stats.html new file mode 100755 index 0000000..8312fa5 --- /dev/null +++ b/articles/2025/Using-Goaccess-to-view-web-stats.html @@ -0,0 +1,32 @@ + + + + + + + Using Goaccess to view web stats + + +
+

Bloggings

+ Back + +
+ +
+
+

Using Goaccess to view web stats

+

2025-04-03

+

Using Goaccess locally

+

I have goaccess installed on my laptop to view the web stats on a vps

+

First install Goaccess on Arch Linux

+sudo pacman -S goaccess +

View the remote stats (adjust the path for your actual log location)

+ssh USER@SERVER 'zcat -f /var/log/nginx/access.log*' | goaccess -a --log-format=COMBINED +

I've added an alias in my .bashrc :

+alias stats="ssh USER@SERVER 'zcat -f /var/log/nginx/access.log*' | goaccess -a --log-format=COMBINED" +
+
+ + diff --git a/articles/2025/VPS-management.html b/articles/2025/VPS-management.html new file mode 100755 index 0000000..77d77c6 --- /dev/null +++ b/articles/2025/VPS-management.html @@ -0,0 +1,33 @@ + + + + + + + VPS management + + +
+

Bloggings

+ Back + +
+ +
+
+

VPS management

+

2025-04-18

+

Reducing things

+

I have 2 vps's that were underused, so I've put everything on to a single vps, which has the benefit of halving costs.

+

My days of writing and hosting web sites for others are over, I just have to cater for myself now.

+

Which is quite nice really...

+
+
+ + + diff --git a/articles/2025/What-to-do-with-an-unused-Kindle.html b/articles/2025/What-to-do-with-an-unused-Kindle.html new file mode 100755 index 0000000..de8bf3c --- /dev/null +++ b/articles/2025/What-to-do-with-an-unused-Kindle.html @@ -0,0 +1,33 @@ + + + + + + + What to do with an unused Kindle + + +
+

Bloggings

+ Back + +
+ +
+
+

What do you do with an unused Kindle

+

2025-04-17

+

Early in the morning...

+

My Kindle paperwhite is sleeping in a drawer since I bought a Kobo, but there's something I can do with it.

+

Run Linux, use Koreader, play games ... +

It's time to jailbreak your Kindle

+
+
+ + + diff --git a/articles/2025/Why-does-everything-feel-so-boring-now.html b/articles/2025/Why-does-everything-feel-so-boring-now.html new file mode 100755 index 0000000..e0ef08b --- /dev/null +++ b/articles/2025/Why-does-everything-feel-so-boring-now.html @@ -0,0 +1,48 @@ + + + + + + + Why does everything feel so boring now? + + +
+

Bloggings

+ Back +
+ +
+
+

Why does everything feel so boring now?

+

2025-06-07

+

Food for thought on blandness

+

What happened to colour? Where did it go?

+

I wonder if we have reached peak blandness.

+
+ +
+
+
+ + + diff --git a/articles/2025/Wifi-region.html b/articles/2025/Wifi-region.html new file mode 100755 index 0000000..2a1957b --- /dev/null +++ b/articles/2025/Wifi-region.html @@ -0,0 +1,33 @@ + + + + + + + Wifi region + + +
+

Bloggings

+ Back + +
+ +
+
+

Wifi region

+

2025-03-26

+

If like me you reside in France, you may have wifi problems with the default frequency settings.

+

Verify the value:

+iw reg get +

If you don't see FR then it's not correctly set.

+sudo iw reg set FR +

will correct that. To make it persistant, edit /etc/default/crda and add

+REGDOMAIN=FR +
+Source

+
+
+ + diff --git a/articles/2025/Window-manager-thoughts.html b/articles/2025/Window-manager-thoughts.html new file mode 100755 index 0000000..e8dfed3 --- /dev/null +++ b/articles/2025/Window-manager-thoughts.html @@ -0,0 +1,47 @@ + + + + + + + Window manager thoughts + + +
+

Bloggings

+ Back + +
+ +
+
+

Window manager thoughts

+

2025-04-15

+

Messing with i3, Openbox, and Xfce4

+

Listening to Youtube "influencers" I learned that I was a dummy because I don't use tiling window managers.

+

I tried i3 in Manjaro before but just didn't connect with it. Perhaps it was me? +Trying again I spent the past couple of days messing with the configuration files of i3, i3blocks, polybar, etc. +again, just to see if maybe I missed out on something.

+

Turns out I didn't.

+

My Thinkpad X220 is my daily drive, it has a 13" screen, 1366x768, and a French keyboard.

+

Splitting the screen is a daft idea on such a small laptop, it doesn't add any productivity improvement +even when you cast aside the problems remembering was it Super+~ or was it Super+Shift+F2 ?, +and the resulting digital gymnastics (although possibly good for my carpal tunnels, who knows?)

+

It's understandable when you have a nice large desktop screen and a decently sized keyboard, but here no way.

+

Anyway, a stacking windowmanager, Xfce4, appears to be the best bang for my buck teeth on this laptop.

+

I have set the keystroke Super+right & left to flip through windows that I mostly have maximised +(I'll eventually use devilspie to make this automatic), +that are all simply stacked on top of each other in the same workspace. +I use tabs in Ghostty to have for example Neomutt, btop, and a command line. In Librefox I have tabs too, +and I'll probably have Libreoffice Calc or Writer open, Gimp, galculator too.

+

Simple and effective, while keeping a bottom panel and application menu available.

+
+
+ + + diff --git a/articles/2025/Workshop-Air-Cleaner.html b/articles/2025/Workshop-Air-Cleaner.html new file mode 100755 index 0000000..307a2c5 --- /dev/null +++ b/articles/2025/Workshop-Air-Cleaner.html @@ -0,0 +1,29 @@ + + + + + + + Workshop Air Cleaner + + +
+

Bloggings

+ Back + +
+ +
+
+

Workshop Air Cleaner

+

2025-03-19

+

Keeping the garage clean-ish

+ +

I've cancelled the plan to build a workshop. It's expensive, and increases my local taxes.

+

So I'm adapting the shared garage. The first step is an air cleaner, I settled for the Record Power AC400

+

I chained it to the rafters, and first results are good.

+
+
+ + diff --git a/articles/2025/X220-internal-Bluetooth-controller.html b/articles/2025/X220-internal-Bluetooth-controller.html new file mode 100755 index 0000000..dd8f337 --- /dev/null +++ b/articles/2025/X220-internal-Bluetooth-controller.html @@ -0,0 +1,38 @@ + + + + + + + X220 internal Bluetooth controller + + +
+

Bloggings

+ Back + +
+ +
+
+

X220 internal Bluetooth controller

+

2025-05-27

+

Deactivating the internal Bluetooth controller

+

The Thinkpad X220 has an internal Bluetooth controller, but +I installed the AC7260 wifi/bluetooth card.

+

Unfortunately the default card remains the internal one, so autoconnect of my headset doesn't work.

+

In order to block the internal device, I made a UDEV rule in /etc/udev/rules.d/91-bluetooth-hci.rules

+

After obtaining the id with lsusb:

+
SUBSYSTEM=="usb", ATTRS{idVendor}=="8087", ATTRS{idProduct}=="07dc", ATTR{authorized}="0"
+

Reboot, and the AC7260 Bluetooth card is now the default.

+ +
+
+ + + diff --git a/articles/2025/Xlibre-on-my-X220.html b/articles/2025/Xlibre-on-my-X220.html new file mode 100755 index 0000000..c3bc3d8 --- /dev/null +++ b/articles/2025/Xlibre-on-my-X220.html @@ -0,0 +1,34 @@ + + + + + + + Xlibre on my X220 + + +
+

Bloggings

+ Back + +
+
+
+

Xlibre on my X220

+

2025-08-07

+

Xlibre > Xorg

+

Not much to post about recently as I've been busy building myself a new shed to store my recuperated hardwood collection.

+

However, I just installed Xlibre, a fork of Xorg. It's now available in the Artix Galaxy repo, and it went without a hitch.

+pacman -S xlibre +

Allow xlibre to replace all the xorg packages, then install the video driver package you need.

+pacman -S xlibre-xf86-video-intel +

For more info on Xlibre, check out the site https://x11libre.net

+
+
+ + + diff --git a/articles/2025/dwm-windowmanager-1.html b/articles/2025/dwm-windowmanager-1.html new file mode 100755 index 0000000..5b19d06 --- /dev/null +++ b/articles/2025/dwm-windowmanager-1.html @@ -0,0 +1,46 @@ + + + + + + + test + + +
+

Bloggings

+ Back + +
+ +
+
+

DWM Window manager [1]

+

2025-04-21

+

Suckless window manager

+

Suckless web site

+

It struck me that using DWM with Monocle layout would be just what I've been looking for on my X220

+

I cloned the st, dmenu, and dwm from suckless.org and followed the instructions to compile them.

+

Right now I have Xfce4 installed, so to try out DWM I've added an entry to select it in lightdm

+

sudo micro /usr/share/xsessions/dwm.desktop

+[Desktop Entry] +Encoding=UTF-8 +Name=dwm +Comment=Dynamic window manager +Exec=dwm +Icon=dwm +Type=XSession + +

In dwm's config.h I set the monocle layout as default and recompiled dwm.

+

At first glance this looks much better than the i3 window manager, small, neat and fast.

+

More to come...

+
+
+ + + diff --git a/articles/2025/dwm-windowmanager-2.html b/articles/2025/dwm-windowmanager-2.html new file mode 100755 index 0000000..27e5a63 --- /dev/null +++ b/articles/2025/dwm-windowmanager-2.html @@ -0,0 +1,64 @@ + + + + + + + DWM window manager [2] + + +
+

Bloggings

+ Back + +
+ +
+
+

DWM window manager [2]

+

2025-04-23

+

the simpler the better

+

Mucking around with DWM proves the old adge that less is more. +So far I haven't needed to add any of the myriad of patches available for DWM, it works as it is for me.

+

I've tried dwm-blocks but right now I'm using dwm-bar as I like the battery icon to update along with the charge.

+

I have edited config.h though and changed the keybindings to work better with a French keyboard and launch a few apps.

+dwm running btop +

Editing config.h is an ongoing job, but you can see a snapshot here

+

ST is the default terminal emulator for DWM but I rather like Ghostty even if it consumes a bit more +memory. Adding window-decoration = none to .config/ghostty/config makes it look better in DWM.

+

I also added gtk-single-instance = true to make ghostty's startup faster.

+

Being able to swap between display layouts on the fly is cool. I mostly use monocle layout, +but flipping to tiling or floating comes in handy.

+

I removed the lightdm display manager and installed Slim. Here is my .xinitrc

+
+#!/bin/sh
+
+# Source global X session scripts.
+if [ -d /etc/X11/xinit/xinitrc.d ]; then
+  for f in /etc/X11/xinit/xinitrc.d/*; do
+    [ -x "$f" ] && . "$f"
+  done
+  unset f
+fi
+
+bluetooth off
+clipmenud &
+xscreensaver --no-splash &
+ghostty &
+feh --bg-scale --randomize ~/Pictures/wallpaper/* &
+~/.local/src/dwm-bar/dwm_bar.sh &
+# if dwm exits 0, restart -- this allows hot reloading of config.h
+while type dwm >/dev/null ; do dwm && continue || break ; done
+
+

And here is my DWM configuration file (it probably isn't the latest version)
+config.h

+
+
+ + + diff --git a/articles/2025/dwmblocks-with-emoji-icons.html b/articles/2025/dwmblocks-with-emoji-icons.html new file mode 100755 index 0000000..5817367 --- /dev/null +++ b/articles/2025/dwmblocks-with-emoji-icons.html @@ -0,0 +1,50 @@ + + + + + + + dwmblocks with emoji icons + + +
+

Bloggings

+ Back + +
+ +
+
+

dwmblocks with emoji icons

+

2025-06-04

+

fancy blocks for dwm

+

Just a pic of my simple dwmblocks status bar

+

+

The calendar app is Orage, opened and closed by clicking on the date which launches a dwmblocks script

+

dwm/config.def.h

+
+static const Rule rules[] = {
+	/* xprop(1):
+	 *	WM_CLASS(STRING) = instance, class
+	 *	WM_NAME(STRING) = title
+	 */
+	/* class        instance  title          tags mask iscentered  isfloating  isterminal  noswallow  monitor */
+	{ "Gimp",       NULL,     NULL,           0,        0,         1,          0,           0,        -1 },
+	{ "Firefox",    NULL,     NULL,           1 << 8,   0,         0,          0,          -1,        -1 },
+	{ "Ghostty",    NULL,     NULL,           0,        0,         0,          1,           0,        -1 },
+	{ "Orage",      NULL,     NULL,           0,        0,         1,          0,           1,        -1 },
+	{ "Galculator", NULL,     NULL,           0,        1,         1,          0,           1,        -1 },
+	{ NULL,         NULL,     "Event Tester", 0,        0,         0,          0,           1,        -1 }, /* xev */
+};
+
+ +
+
+ + + diff --git a/articles/2026/De-Gaulle---Two-films.html b/articles/2026/De-Gaulle---Two-films.html new file mode 100644 index 0000000..5be3c14 --- /dev/null +++ b/articles/2026/De-Gaulle---Two-films.html @@ -0,0 +1,63 @@ + + + + + + + + De Gaulle - Two films + + +
+

Bloggings

+ Back +
+
+
+

De Gaulle - Two films

+

2026-06-04

+

De Gaulle is more popular than ever

+

+ People who choose a country to be their home are often patriotic as + it's their choice, not mere circumstance. +

+

Personally I'm patriotic but certainly not nationalist.

+
+ “The difference between patriotism and nationalism is that the + patriot is proud of his country for what it does, and the + nationalist is proud of his country no matter what it does; the + first attitude creates a feeling of responsibility, but the second a + feeling of blind arrogance that leads to war.” + ― + Sydney J. Harris +
+

+
+ +
+
+
+ + + diff --git a/articles/2026/Filtering-the-web.html b/articles/2026/Filtering-the-web.html new file mode 100644 index 0000000..0a94d16 --- /dev/null +++ b/articles/2026/Filtering-the-web.html @@ -0,0 +1,62 @@ + + + + + + + + Filtering the web + + +
+

Bloggings

+ Back +
+
+
+

Filtering the web

+

2026-06-20

+

A browser that says no

+

+ To me the problem with the smolweb is that there's isn't a browser + that applies these rules. Dillo comes close, even though it needs a + makeover. +

+

+ Dillo also has an rdrview plugin, but you have to manually write + rdrview: in front of the url in the url bar of every page to see the + results. +

+

+ A better solution would be a smolweb plugin that filters the entire + html page rejecting anything that doesn't + validate or pass to + rdrview . Degrees of acceptance could be set in settings. +

+

+ A dedicated browser wouldn't require searching for smolweb / smallweb + / indieweb blogs, sites, or articles. (There seems to be no such thing + as a smolweb search engine, although points for wiby, marginalia, kagi + and mojeek). +

+

+ Just point the browser to any web site and if it borks, display the + "errors" or ignore it with a + + 418 I'm a teapot error: after all it's the web site author's responsibility to provide + clean, readable web sites. +

+

+ Imagine a world where this plugin would be as ubiquitous as + ublock-origin, it could even change web site development. +

+
+
+ + + diff --git a/articles/2026/Freedos-thoughts.html b/articles/2026/Freedos-thoughts.html new file mode 100644 index 0000000..d16485e --- /dev/null +++ b/articles/2026/Freedos-thoughts.html @@ -0,0 +1,43 @@ + + + + + + + + Freedos thoughts + + +
+

Bloggings

+ Back +
+
+
+

Freedos thoughts

+

2026-06-11

+

Maybe I have the best system already

+

+ I've been looking at Freedos for the retrocomputing nostalgia value + and the text-only goodness. +

+

+ I wound up using Qemu on my X270 as Freedos on bare metal means my 14 + year old Thinkpad X220 is way too modern. +

+

+ Yes there's some crazy good software, and it's fun. But using + fullscreen in Qemu means a fuzzy display, and I came to measure how + the terminal on Linux is truly light years ahead. +

+

+ In fact it pushes home that my Artix / DWM / Kitty setup is the + veritable retrocomputing bees knees +

+
+
+ + + diff --git a/articles/2026/From-minimalist-to-smolweb.html b/articles/2026/From-minimalist-to-smolweb.html new file mode 100644 index 0000000..54de0bd --- /dev/null +++ b/articles/2026/From-minimalist-to-smolweb.html @@ -0,0 +1,43 @@ + + + + + + + From minimalist to smolweb + + +
+

Bloggings

+ Back +
+ +
+
+

From minimalist to smolweb

+

2026-05-06

+

When smarter people get things done

+

+ In 2023 + I wrote an article + about what I was feeling at the time on the sorry state of the web. +

+

+ I'm happy to say that the people at + smolweb.org have made a far better + statement than mine. +

+

+ As this blog is now a few years old, I'll be working on making it pass + the + smolweb validation test. +

+
+
+ + + diff --git a/articles/2026/Funeral-blues.html b/articles/2026/Funeral-blues.html new file mode 100644 index 0000000..31f4f9b --- /dev/null +++ b/articles/2026/Funeral-blues.html @@ -0,0 +1,57 @@ + + + + + + + + Funeral blues + + +
+

Bloggings

+ Back +
+
+
+

Funeral blues

+

2026-05-07

+

A poem by W.H.Auden (1907-1973)

+

This poem was read in the film "Four marriages and a funeral"

+ +

I just stumbled upon it and wanted to write it down.

+ + +Funeral Blues + +Stop all the clocks, cut off the telephone. +Prevent the dog from barking with a juicy bone, + +Silence the pianos and with muffled drum +Bring out the coffin, let the mourners come. + +Let aeroplanes circle moaning overhead +Scribbling in the sky the message He is Dead, + +Put crêpe bows round the white necks of the public doves, +Let the traffic policemen wear black cotton gloves. + +He was my North, my South, my East and West, +My working week and my Sunday rest + +My noon, my midnight, my talk, my song; +I thought that love would last forever, I was wrong. + +The stars are not wanted now; put out every one, +Pack up the moon and dismantle the sun. + +Pour away the ocean and sweep up the wood; +For nothing now can ever come to any good. + +
+
+ + + diff --git a/articles/2026/Ghostbsd-installation.html b/articles/2026/Ghostbsd-installation.html new file mode 100644 index 0000000..cf3314e --- /dev/null +++ b/articles/2026/Ghostbsd-installation.html @@ -0,0 +1,92 @@ + + + + + + + + Ghostbsd installation + + +
+

Bloggings

+ Back +
+
+
+

Ghostbsd installation

+

2026-06-14

+

messing around on a sunday

+

+ So now we have Microsoft delivering Linux, and the Arch based AUR + getting wrecked by people who should be locked into a public pillory, + and I have some free time. Well in fact a lot of free time now that + I'm retired. +

+

+ So. I downloaded the latest #Ghostbsd Mate and cut a usb key, then + plugged it into my Thinkpad X220. +

+

+ The installation was simple and uneventful, and it booted without + problem. Everything worked out of the box. Mate seems pretty and + unobfuscated, just like me. +

+

So far I've done just two things:

+

+ (1) to get some thinkpad function keys to work I've added in + /boot/loader.conf +

+
+acpi_ibm_load="YES"
+
+

+ Printscreen works, brightness and volume controls work, vol mute + works, lid led works, but the MICMUTE button doesn't work.
+ For the X220 MICMUTE key, which is F20 or 0xBE (190), unfortunately + Ghostbsd's acpi_ibm doesn't pass on the event, so any script for it in + /etc/devd won't be fired. Checking the source code, acpi_ibm only accepts + a subset of events accepted by Linux's thinkpad_acpi, which appears to + cover them all. It's unfortunate as I'm a bit pedantic about keys but I + guess I'll have to live with it as the code is 20 years old and I + doubt it will change anytime soon. +

+ +

FYI, acpi_ibm accepts only these keyboard events:

+
+        LCD_BACKLIGHT
+        SUSPEND_TO_RAM
+        BLUETOOTH
+        SCREEN_EXPAND
+        SUSPEND_TO_DISK
+        BRIGHTNESS_UP
+        BRIGHTNESS_DOWN
+        THINKLIGHT
+        ZOOM
+        VOLUME_UP
+        VOLUME_DOWN
+        MUTE
+        ACCESS_IBM_BUTTON
+        
+

(2) to enable the automounting of usb storage media:

+
+sudo pkg install automount
+
+

+ I've replaced the default Firefox with Librewolf, and I'm not too sure + about zsh instead of bash, and why not doas instead of sudo? +

+

+ Ghostbsd is a very nice BSD distribution that's been around since + 2010. +

+

https://www.ghostbsd.org

+
+
+ + + diff --git a/articles/2026/Hebdogiciel.html b/articles/2026/Hebdogiciel.html new file mode 100644 index 0000000..fdc10e4 --- /dev/null +++ b/articles/2026/Hebdogiciel.html @@ -0,0 +1,51 @@ + + + + + + + + Hebdogiciel + + +
+

Bloggings

+ Back +
+
+
+

Hebdogiciel

+

2026-06-07

+

Flashback to the 80's

+

+ After my ZX81 I purchased an Amstrad CPC464, and oh joy I discovered + Hebdogiciel. Before the internet this magazine printed the code for + games and programs that you could painfully copy out. Today I + discovered that there's an online archive: +

+ +

+ abandonware-magazines +

+ +

A translation of the French abandonware-magazine article:

+

+ 1983–1987: Imagine a weekly magazine that, in addition to + providing us with a weekly program to type out and delivering + uncompromising hardware and software reviews (and that’s saying + something), also featured TV listings, movie, music, and comic book + releases, assembly language tutorials, a comic strip, a discount club, + walkthroughs... A tone that blew you away from the first page to the + last, Carali’s drawings filling in the gaps, lawsuits galore… Simply + extraordinary, unmatched. +

+
+
+ + + diff --git a/articles/2026/Installation-of-Snac2-on-Artix-Linux.html b/articles/2026/Installation-of-Snac2-on-Artix-Linux.html new file mode 100644 index 0000000..2b752ea --- /dev/null +++ b/articles/2026/Installation-of-Snac2-on-Artix-Linux.html @@ -0,0 +1,144 @@ + + + + + + + + Installation of Snac2 on Artix Linux + + +
+

Bloggings

+ Back +
+
+
+

Installation of Snac2 on Artix Linux

+

2026-05-20

+

Installation of snac2 on Artix Linux +Nginx +Dinit

+
+useradd -m -s /bin/bash snac
+passwd snac
+usermod -aG wheel snac
+su - snac
+mkdir src
+cd src
+git clone https://codeberg.org/grunfink/snac2.git
+cd snac2
+make
+sudo make install
+snac init ~/data
+
+

snac init will ask these questions:

+
+Host name: your.server.domain
+Path prefix: leave empty
+Network address: 127.0.0.1
+Port: 8001
+
+

add user

+
+snac adduser ~/data
+
+

In /home/snac/data/server.json edit these settings:

+
+admin_email
+admin_account
+title
+short_description
+
+and add this line:
+
+"proxy_media: true
+
+

As root, create the dinit script: /etc/dinit.d/snac2

+
+type = process
+run-as = snac
+command = /usr/local/bin/snac httpd /home/snac/data
+depends-on = NetworkManager
+restart = true
+smooth-recovery = yes
+log-type = file
+logfile = /var/log/dinit/snac2.log
+
+

enable snac2

+
+dinitcl enable snac2
+
+

NGINX Media caching

+

+see it-notes.fragas.net +

+

Nginx configuration +

+see comam.es.
+Use $host not $http_host (gixy) +

+

in /etc/nginx/nginx.conf http section add:

+
+proxy_cache_path /var/cache/nginx/snac_cache levels=1:2 keys_zone=snac:10m max_size=1g inactive=1440m use_temp_path=off;
+
+

make cache folder

+
+mkdir -p /var/cache/nginx/snac_cache
+
+

/etc/nginx/sites-available/example.com

+
+server {
+    listen 443 ssl;
+    listen [::]:443 ssl;
+    server_name example.com;
+
+    ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
+    ssl_certificate_key /etc/letsencrypt/example.com/privkey.pem;
+    ssl_protocols TLSv1.2 TLSv1.3;
+    ssl_ciphers HIGH:!aNULL:!MD5;
+    # openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
+    ssl_dhparam /etc/ssl/certs/dhparam.pem;
+
+    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+
+location / {
+    proxy_pass http://127.0.0.1:8001;
+    proxy_set_header Host $host;
+    proxy_set_header X-Forwarded-For $remote_addr;
+}
+
+location ~ ^/.+/s/ {
+    proxy_cache snac;
+    proxy_pass http://127.0.0.1:8001;
+    proxy_set_header Host $host;
+    proxy_cache_valid 200 1d;
+    proxy_cache_valid 404 1h;
+    proxy_ignore_headers "Cache-Control" "Expires";
+    proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
+    proxy_cache_lock on;
+    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
+    add_header X-Proxy-Cache $upstream_cache_status;
+}
+}
+
+server {
+    listen 80;
+    listen [::]:80;
+    server_name example.com;
+    return 301 https://$host$request_uri;
+}
+
+ +

add pleroma relay

+

see relaylist.com

+
+su - snac
+snac adduser ~/data relay
+snac follow ~/data relay https://relay.toot.io/actor
+
+
+
+ + + diff --git a/articles/2026/Ladybird-turns-into-a-squashed-bug.html b/articles/2026/Ladybird-turns-into-a-squashed-bug.html new file mode 100644 index 0000000..c6039f7 --- /dev/null +++ b/articles/2026/Ladybird-turns-into-a-squashed-bug.html @@ -0,0 +1,45 @@ + + + + + + + + Ladybird turns into a squashed bug + + +
+

Bloggings

+ Back +
+
+ +
+ + + diff --git a/articles/2026/Living-on-Snac's-bleeding-edge.html b/articles/2026/Living-on-Snac's-bleeding-edge.html new file mode 100644 index 0000000..a17ffc6 --- /dev/null +++ b/articles/2026/Living-on-Snac's-bleeding-edge.html @@ -0,0 +1,60 @@ + + + + + + + + Living on Snac's bleeding edge + + +
+

Bloggings

+ Back +
+
+
+

Living on Snac's bleeding edge

+

2026-05-25

+

Autoupdate script

+

+ I like living on the bleeding edge of + snac2, so I added + this (banal) script to /etc/cron.daily. +

+
+#!/usr/bin/env bash
+# snaceto
+# Social Networks Are Crap Except This One
+
+cd /home/snac/src/snac2 || exit
+
+sudo -u snac git remote update
+UPDATED="$(git status -uno | grep -c 'up to date')"
+
+if [ "$UPDATED" -ne "1" ] ; then
+    echo "Updating..."
+    systemctl stop snac.service
+	# backup data before update
+	TODAY=$(date "+%Y-%m-%d-%H-%m")
+	BACKUPDIR="/opt/backups"
+	mkdir -p "$BACKUPDIR"
+	FILENAME="$BACKUPDIR/pre-update-snac-$TODAY.tar.gz"
+	tar -zcf "$FILENAME" /home/snac/data
+	# pull latest
+	sudo -u snac git pull
+	sudo -u snac make
+	make install
+	sudo -u snac snac upgrade /home/snac/data
+	systemctl start snac.service
+	VERSION="$(snac | head -n2)"
+	toot post "My bleeding edge #snac2 server has been updated
$VERSION" +fi +
+
+
+ + + diff --git a/articles/2026/More-on-Dillo.html b/articles/2026/More-on-Dillo.html new file mode 100644 index 0000000..862574e --- /dev/null +++ b/articles/2026/More-on-Dillo.html @@ -0,0 +1,36 @@ + + + + + + + + More on Dillo + + +
+

Bloggings

Back +
+
+
+

More on Dillo

+

2026-06-21

+

update on yesterday's post

+

The git + version of dillo has a new option: page_action, which + enables running rdrview on the current page if the + setting:

+
page_action="Reader mode:dilloc dump | rdrview -H | dilloc load"
+
+

is set in dillorc.

+

When you right click on a page the menu will now include + the option "Reader Mode".

+
+
+ + + diff --git a/articles/2026/My-own-private-search-engine.html b/articles/2026/My-own-private-search-engine.html new file mode 100644 index 0000000..e2c924e --- /dev/null +++ b/articles/2026/My-own-private-search-engine.html @@ -0,0 +1,54 @@ + + + + + + + + My own private search engine + + +
+

Bloggings

+ Back +
+
+
+

My own private search engine

+

2026-06-02

+

Messing around with a bad back in stormy weather

+

+ I made a bad movement in the shower this morning and made my back + scream again, so no woodworking today. One of the benefits of + retirement is that I get to choose the days activities. +

+

+ I had installed + SearxNG previously + more than two years ago, but as I'm constantly fiddling it wound up in + the bin. +

+

+ Convalescing in the armchair I saw that my current vps is mostly idle + running just snac2, my blog, xmpp, gophernicus and other bits, so I + reinstalled SearxNG. +

+

+ It's fast, responsive, and private. I have it behind an Nginx reverse + proxy, and only accepting my own IP address for now. +

+

+ Another thing I did was to play around with the + Fresh editor. Like Micro, it can + be configured to use prettier, the code formatter. Ok, it's written in + Rust, but it is a nice editor with a retro computing vibe. It won't + replace Micro as my daily editor, but if I ever need a TUI IDE it + could be a good choice. +

+
+
+ + + diff --git a/articles/2026/Oops!-I-did-it-again.html b/articles/2026/Oops!-I-did-it-again.html new file mode 100644 index 0000000..bd3bf4f --- /dev/null +++ b/articles/2026/Oops!-I-did-it-again.html @@ -0,0 +1,46 @@ + + + + + + + + Oops! I did it again + + +
+

Bloggings

+ Back +
+
+
+

Oops! I did it again

+

2026-05-31

+

More blog improvements

+

+ This blog now + sits in my git repository, so I made a few changes. +

+

+ One is the + blogsend + bash script which now does a git commit on my local machine, and a git + pull on the remote web server. The other is the git repos itself which + now has the web site in one repos, and the bash scripts in another. +

+

+ All this is probably of little interest to anyone other than myself, + but if you want to run a smol blog you might find it useful, after all + that's why I'm posting it. +

+
+
+ + + diff --git a/articles/2026/This-blog-wasn't-so-bad-after-all.html b/articles/2026/This-blog-wasn't-so-bad-after-all.html new file mode 100644 index 0000000..f0392cd --- /dev/null +++ b/articles/2026/This-blog-wasn't-so-bad-after-all.html @@ -0,0 +1,46 @@ + + + + + + + This blog wasn't so bad after all + + +
+

Bloggings

+ Back +
+ +
+
+

This blog wasn't so bad after all

+

2026-05-05

+

Smolweb, Fediverse and blogs

+

+ For several months I've been using Gopher exclusively, I find it's + minimalist raw text files appealing. +

+

+ It does have several drawbacks however. Recently I've been self + hosting my own fediverse instance at + social.wittamore.fr. +

+

+ Looking around for a fediverse blog, I realised that this html blog + wasn't so bad after all. +

+

+ It's work in progress, as I would like to have it + smolweb validated, and needs a + clean up. +

+
+
+ + + diff --git a/articles/2026/Updated-blogthis-script.html b/articles/2026/Updated-blogthis-script.html new file mode 100644 index 0000000..6bb2ad7 --- /dev/null +++ b/articles/2026/Updated-blogthis-script.html @@ -0,0 +1,38 @@ + + + + + + + + Updated blogthis script + + +
+

Bloggings

+ Back +
+
+
+

Updated blogthis script

+

2026-06-16

+

now with markdown

+

+ I've updated my blogthis script so I can write articles in markdown. +

+

+ It saves me having to write html in the articles and avoids errors. +

+

+ I've uploaded it to + my git server +

+
+
+ + + diff --git a/articles/2026/Updated-poem.html b/articles/2026/Updated-poem.html new file mode 100644 index 0000000..ad2a02d --- /dev/null +++ b/articles/2026/Updated-poem.html @@ -0,0 +1,45 @@ + + + + + + + + Updated poem + + +
+

Bloggings

+ Back +
+
+
+

Updated poem

+

2026-06-01

+

Existance is the prize itself

+

+ Sadly a childhood friend of one of my nieces recently died at 36 of a + brain tumour. I gave this poem a re-write. +

+
+Life is but a long farewell
+While clawing at eternity's shell
+No rhyme nor reason, no justice in sight 
+A frantic push against entropy's might
+This fleeting hare 
+Brings grave dispair
+But pointless is a daily dread
+Of closing circuit in our bed
+Here then gone, a spark in the night?
+Our passing through is never trite
+Best keep your malaise on the shelf
+Existance is the prize itself
+
+
+
+ + + diff --git a/articles/2026/Web-sites-that-work-well-in-Dillo.html b/articles/2026/Web-sites-that-work-well-in-Dillo.html new file mode 100644 index 0000000..42caa89 --- /dev/null +++ b/articles/2026/Web-sites-that-work-well-in-Dillo.html @@ -0,0 +1,60 @@ + + + + + + + + Web sites that work well in Dillo + + +
+

Bloggings

+ Back +
+
+
+

Web sites that work well in Dillo

+

2026-06-19

+

and other minimal browsers

+

+ I'm always looking for sane web sites. By sane I mean websites that + are not bloated with useless eye candy, nor have any ketamin fired + javascript. Sites that just want to display data in the form of easily + readable text with or without some images. +

+

+ There is an increasing number of web sites that do this, as it's a + normal backlash to the slop infested, obfuscated tar pit that the + internet has sadly become. I haven't found a single compendium of + sites, but I'll list some here. +

+

+ One of the things I find realy interesting are web proxies that render + sites into a saner version, like + Textise or + Textdot. I fact I'm wondering if I + could roll my own simple version using php and rdrview. +

+

+ This list incomplete list will be updated as I find them, or maybe you + dear reader might have suggestions? +

+

+ Directory of useful sites that work reasonably well on Dillo +

+

Wiby search engine

+

+ Text only web sites +

+
+
+ + + diff --git a/articles/2026/displaying-MATE-on-a-1366x768-screen.html b/articles/2026/displaying-MATE-on-a-1366x768-screen.html new file mode 100644 index 0000000..da49491 --- /dev/null +++ b/articles/2026/displaying-MATE-on-a-1366x768-screen.html @@ -0,0 +1,73 @@ + + + + + + + + displaying MATE on a 1366x768 screen + + +
+

Bloggings

+ Back +
+
+
+

displaying MATE on a 1366x768 screen

+

2026-06-15

+

xrandr to the rescue

+

+ Unfortunately several Ghostbsd MATE configuration windows are taller + than my Thinkpad X220's 768 pixels. I made both the top and bottom + panels autohide, but a better solution is to use xrandr: +

+
sudo pkg install xrandr
+

+ type xrandr to get the name of your display, in my case LVDS-1 on my + Thinkpad X220. +

+

To change 16:9 screen resolution, you can type:

+
+xrandr --output LVDS-1 --panning 1600x900  --scale 1.171x1.172
+

or

+
+xrandr --output LVDS-1 --panning 1920x1080 --scale 1.406x1.406
+

To get back to the original resolution type:

+
xrandr --output LVDS-1 --panning 1366x768 --scale 1x1
+

+ Here's a simple bash script that will rotate the screen resolution on + each call. I've added a MATE keyboard shortcut (CTRL+RIGHT) to run + this script. It is intended for my 1366x768 screen, so it will need + adapting for other screens. +

+
+#!/usr/bin/env bash
+        
+RES="$(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/')"
+# xdpy results can vary by 1 or two pixels 
+# so take the first two characters
+RES="${RES:0:2}"
+        
+case "$RES" in
+  "13")
+  xrandr --output LVDS-1 --panning 1600x900  --scale 1.171x1.172
+  ;;
+  "16")
+  xrandr --output LVDS-1 --panning 1920x1080 --scale 1.406x1.406
+  ;;
+  *)
+  xrandr --output LVDS-1 --panning 1366x768 --scale 1x1
+  ;;
+esac
+        
+

I doubt you can do that in Wayland.

+
+
+ + + diff --git a/articles/2026/semware-tse-editor.html b/articles/2026/semware-tse-editor.html new file mode 100644 index 0000000..441df10 --- /dev/null +++ b/articles/2026/semware-tse-editor.html @@ -0,0 +1,44 @@ + + + + + + + + semware-tse-editor + + +
+

Bloggings

+ Back +
+
+
+

semware-tse-editor

+

2026-06-13

+

A very interesting editor for DOS, Linux and Windows

+

+ semware editor screenshot +

+

+ I stumbled upon the #Semware editor (TSE) for #Linux, Windows and #Dos + and thought I'd share it here. Originally named Qedit in 1985, the + latest version is dated May 2026. I don't know about Windows (as I + haven't used it in years), but the Linux version is a pleasant CLI app + with many features, including it's own application language. The more + I look at it, the more I realise that it is a profound piece of + software. +

+

+ www.semware.com
+ Knud Vaneeded YT videos +

+
+
+ + + diff --git a/articles/2026/smolweb-validation-in-Dillo.html b/articles/2026/smolweb-validation-in-Dillo.html new file mode 100644 index 0000000..38e543d --- /dev/null +++ b/articles/2026/smolweb-validation-in-Dillo.html @@ -0,0 +1,57 @@ + + + + + + + + smolweb validation in Dillo + + +
+

Bloggings

+ Back +
+
+
+

smolweb validation in Dillo

+

2026-06-22

+

a simple page_action script

+

+ I added smolweb-validator as a page action in Dillo. It's a bit of a + pain as the validator is a java application. The action script is + brutal so far but it works. +

+

.dillo/actions/smolcheck.sh

+
#!/bin/sh
+
+#smolweb validator location
+smp="$HOME/src/smolweb-validator"
+
+# validate
+cd $smp
+output="$(java -cp "jsoup-1.21.2.jar:." SmolwebValidator $url --verbose)"
+echo "$output" | dilloc rawload
+
+

+ The action is added to ~/.dillo/dillorc and appears in Dillo's + right-click menu +

+
+page_action="Smolcheck:~/.dillo/actions/smolcheck.sh"
+
+

+ see + https://codeberg.org/smolweb/smolweb-validator +

+

 

+
+
+ + + diff --git a/articles/2026/upgrade-to-dwm-6.8.html b/articles/2026/upgrade-to-dwm-6.8.html new file mode 100644 index 0000000..1637f7c --- /dev/null +++ b/articles/2026/upgrade-to-dwm-6.8.html @@ -0,0 +1,49 @@ + + + + + + + + upgrade to dwm 6.8 + + +
+

Bloggings

+ Back +
+
+
+

upgrade to dwm 6.8

+

2026-06-29

+

dwm with some patches

+

+ I've been using dwm 6.5 for a while now, so I thought it was about + time I upgraded to dwm 6.8. +

+

+ Ideally I'd settle for a horizontal scrolling wm as my Thinkpad screen + is small, but after flirting with nwm I'm staying with dwm for now. +

+

+ I've added a few patches and shortcuts that make it easy for me to + circulate between windows and workspaces. I haven't added the xrdb + patch this time, instead I added the colorbar patch which nicely + colours the dwmblocks status bar and keeps things simple. Many of the + tiling patches I added to 6.5 have been left out as I just don't use + them. On a small 1366x768 screen splitting it renders it useless so + instead I use the monocle layout by default and switch workspaces with + super+right and left, and switch windows with super+up and down. +

+

+ It's up on my git server if you are interested. +

+
+
+ + + diff --git a/articles/test.html b/articles/test.html new file mode 100755 index 0000000..461b48a --- /dev/null +++ b/articles/test.html @@ -0,0 +1,3 @@ + + +

 

§

-- cgit v1.3.1