RSSAmplifier

Blog

bidon.ca

Recent content on bidon.ca

bidon.caRSS feed ↗76 posts

Latest posts

CiviCRM Standalone: why? and what's next?

This post is based on notes for a CiviCamp Toronto 2026 panel
As you know, CiviCRM (?) now includes powerful tools such as Searchkit and Form builder. Historically, we leveraged existing tools from either a content management system (ex: Drupal/WordPress) or other third parties. After all, those tools can be products of their own. But that came at a cost. The CiviCRM community was fragmented,…

Building Gradia on Debian Trixie

Gradia is a screenshot annotation tool for Gnome, a desktop environment on Linux. It complements the built-in screenshot tool, or can annotate existing files.
By default, the project only ships Flatpack or Snaps, which are not terribly convenient on Debian. Here is how to build the package locally, on Debian Trixie (v13).
Dev dependencies First, install the required dependencies:
1 apt…

Using Thunderbird for email in 2026

It’s almost 2026 and I’m switching to Thunderbird for email. After 20 years of cloud services and now the era of AI, it took some adaptation.
Why am I switching to Thunderbird?
I don’t want to encourage GAFAM services, such as Google or Microsoft. Too big, too unethical, unregulated and US-based, where the current political climate is too unstable and incompatible with my…

Gandi domain registrar price hikes and transfer annoyances

As a long-time client of Gandi.net (the domain web registrar and hosting company), I was a bit surprised when they were acquired by another company with a somewhat bad reputation, but I gave them a chance nonetheless. Then they doubled their prices for domain renewals.
We manage a lot of domains on Gandi. In the past, their prices were a bit higher, but they offered a good DNS service, and…

Aegir on Backdrop: proof of concept

Moving from drush to bee Following on my post about Aegir in 2025, I found that using Backdrop as a Drupal7 replacement works quite nicely. Drush, however, is another story. Drush does not support Backdrop (there is a sort of shim, but it’s not really a compatibility layer). A popular alternative to Drush on Backdrop is bee. It does work nicely as a CLI tool for Backdrop, and the usage is…

Aegir in 2025, Drupal 7 EOL, Drupal 10 and Backdrop

Aegir in 2025 (disclaimer: this is my personal opinion, but I speak as “we” because most of this is about Coop Symbiotic requirements and roadmap; it’s a tech blog, not a sales pitch)
With the looming deadline of the Drupal 7 “end of life” (EOL) of 1 January 2025, many have been asking what to do with Aegir, which still runs on Drupal 7. Coop Symbiotic plan to…

CiviCRM buildkit on Podman

Since Podman is available in Debian, I decided to play around with it for setting up a CiviCRM development environment with Buildkit. For those not familiar, buildkit is the CiviCRM tooling that helps quickly create test CiviCRM instances, useful for development and for running automated test. Podman is an alternative to Docker developed by RedHat. I decided to use it for no reason in particular.…

Booting virtual machines with libvirt (kvm), without grub

I had a very mysterious boot issue with a virtual machine. I was debugging something and re-installed Grub from inside a chroot, from the parent host. The VM did not boot anymore (“no such device: UUID; unknown filesystem”). Normally a Grub re-install would have fixed it, but for some reason it didn’t (and I tried disabling UUIDs and many other options).
How to boot a VM…

Ebox IPv6, PPPoE, Fibre and OpenWRT

Back in 2014, I wrote about DHCPv6 on Teksavvy. Recently we moved to Ebox, which resells the gigabit FTTH service from its now-parent company, Bell. They do provide a router (Nokia Beacon 6), but IPv6 support is very limited. And I prefer OpenWRT.
PPPoE setup You can use the Nokia Wifi mobile app or the router’s web interface to login and find your Ebox PPPoE login/password. Note that in…

Canon Pixma MG2525 and Linux

Installing the Linux driver Canon had published a cnijfilter-mg2500series Debian/Ubuntu driver at some point, but since the printer is really old, it can be difficult to find.
Randomly found source, not tested: https://asia.canon/en/support/0100550201.
If it only prints in monochrome Run system-config-printer (part of Gnome or OpenPrinting? and somehow not accessible from the Gnome…

Gnome 42

Having recently updated to Gnome 42 (Debian 12), I was happy to see lots of improvements, but some changes around virtual workspaces rattled me. Fortunately some people have written extensions to work around the issues:
Vertical Overview - because I didn’t feel like changing my keyboard shortcuts, now that Gnome defaults to horizontal workspaces. Disable Workspace Switch Animation for…

Migrated this site from Drupal 7 to Hugo

tl;dr: I migrated from Drupal to Hugo. I’m happy with it, but here are some things I found a bit weird.
Context Context: I have been using this site since 2001 as a disorganized shoe-box for tests, during which time, I experimented with various ways to manage a small website, using similar tools than what I used in my day-job at the time. So from plain HTML, to Perl/mod_perl, to Spip,…

The Yellow Brick Road of Free Software Contributors

Have you ever found yourself working on a project, stumbling on a neat tool, only to discover that the community support for the tool looks somewhat like the 1900 book The Wizard of Oz? You may have stumbled on a Free Software (aka Open Source) project.
What’s Free Software? It’s software where users have the freedom to read, change and redistribute. The license terms usually put…

About

About bidon.ca This domain exists since 2001 as a disorganized shoe-box for tests, notes (usually technical) and personal projects. In French, a “bidon” is a type of container.
Contact Email: info @ bidon.ca Mastodon Bluesky

Procmail

Mutt: surveiller tous les dossiers avec du courriel entrant Ceci est essentiel pour que les autres règles soient utiles. Par défaut le logiciel de courriel “Mutt” surveille uniquement le dossier “inbox” pour du nouveau courrier. Il faut lui dire quels dossiers surveiller. Si on a des tonnes de dossiers, c’est ingérable manuellement, donc utiliser la règle suivante…

Postfix

Non-conseillé: Supprimer des entêtes “Received” Dans certains cas, si on veut masquer la topologie du réseau interne, on peut vouloir supprimer des entêtes “Received” du message:
Dans le fichier “main.cf”
header_checks = pcre:/etc/postfix/header_checks Dans le fichier “header_checks”:
/^Received: by .*.net4.bidon.ca.*/ IGNORE /^Received:…

Installation Pxe

Avoir un serveur DHCP fonctionnel, spécifier le nom du fichier d’amorce dans /etc/dhcp/dhcpd.conf (ou équivalent):
filename "/pxelinux.0"; allow booting; allow bootp; Redémarrer le serveur dhcpd:
# service isc-dhcp-server restart Installer “atftpd”
# apt-get install atftpd (note: par défaut, atftpd utilise le répertoire /srv/tftp)
Obtenir les fichiers de…

MySQL (MariaDB)

Base de données, usagers, droits $ mysql -u root -p Sous Debian GNU/Linux, le mot de passe root pour la base de données est configuré lors de l installation du logiciel. Notez que le compte root pour la base de données n a rien en commun avec le compte root du système d exploitation. Sous certaines vieilles versions de MySQL, il n y avait pas de mot de passe pour le compte root, on peut donc se…

Travaileur Autonome

Livres Le Guide du travailleur autonome 2e éd. Taxes Pourquoi s’enregistrer:
Quand on fait plus de 30k$/an Donne une image plus sérieuse aux clients (et évite qu’ils sachent si on fait moins de 30k$/an). Formulaire:
Québec: Inscription aux fichiers de la TPS et de la TVQ Modalités générales - comment facturer, ce qui est taxable, etc. Déclaration…

Bash, sed, awk

Awk 1 ps ax| awk '{ print $1 ' ' $5 }' Compter les occurences:&#xA;1 awk ' {foo[$4]++} END {for (f in foo) { print f , foo[f] }}' < test-did Sed Utilisation de &ldquo;backreferences&rdquo;:&#xA;1 echo 'abc123' | sed 's/\(.*\)\(123\)/\2\1/' Scripts bash 1 2 3 4 5 6 ${VAR:-text if $VAR is empty} ${VAR:=text if $VAR is empty and set VAR to this} ${VAR:+text if $VAR is set} ${#VAR} -> length of $VAR…

Tmux

Quickstart New session&#xA;tmux&#xA;Detach session&#xA;C-b d&#xA;Attach to existing tmux session&#xA;tmux attach&#xA;Split the current pane into two, top and bottom&#xA;C-b "&#xA;Create new window&#xA;C-b c&#xA;Scroll in the buffer: enter copy mode and page up&#xA;C-b PageUp&#xA;References man tmux www.linuxized.com: switching-from-gnu-screen-to-tmux

Polycom Soundpoint 335

Default passwords Phone: 456 Web interface: Polycom / 456 Ref: voip-info.org Polycom Phones&#xA;DHCP configuration Added this to my /etc/dhcp/dhcpd.conf configuration:&#xA;option ntp-servers 0.debian.pool.ntp.org; option time-offset -18000; (not clear how the phone deals with daylight savings, but I prefer to configure this from the DHCP server than from the phone&rsquo;s web interface)&#xA;SIP…

Git

Configuration git config --global user.name "John Doe" git config --global user.email "johndoe@bidon.ca" git config --list Remotes Remotes are other git repositories. Typically, we have our main remote git server, and sometimes we also track an upstream git repository.&#xA;List remotes:&#xA;git remote -v Add a remote:&#xA;git remote add origin git@lab.example.org:extensions/test.git Remove a…

Debian

Enlever les paquetages orphelins 1 2 # apt-get install deborphan # deborphan | xargs apt-get --purge -y remove ou simuler avec..&#xA;1 # deborphan | xargs apt-get --purge -s -y remove Note: le &ldquo;-y&rdquo; = &ldquo;yes&rdquo;, sinon apt-get bloque.&#xA;Supprimer les fichiers de configuration inutilisés 1 # COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg --purge Trouver les plus…

GnuPG

î[toc]&#xA;Définir une clé par défaut Dans le fichier de configuration de GnuPG (~/.gnupg/options)&#xA;default-key 12345678 où 12345678 est l&rsquo;identifiant de la clé.&#xA;Modifier la date d&rsquo;expiration d&rsquo;une clé Modifier sur la clé publique:&#xA;$ gnupg --edit-key [ID] gnupg> expiry [... répondre aux questions ...] Puis sélectionner la sous-clé:&#xA;gnupg> key 1 [ceci fait afficher…

VoIP

(old notes, might be outdated)&#xA;SIP and NAT On the phone (n900 maemo):&#xA;username: foo@home.example.org (where example.org is my domain at home) use whatever option for keep-alive use &ldquo;discover public IP&rdquo; On the Asterisk server, sip.conf :&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [general] ... externhost=home.example.org localnet=192.168.1.0/255.255.255.0 [foo] type=friend…

RPM (RedHat/CentOS)

Lister tous les paquetages sur le système # rpm -qa Afficher les fichiers appartenant à un paquetage déjà installé: # rpm -ql nom-du-paquetage Afficher les fichiers qui seraient installés par un paquetage: # -qpi foo-1.2.3.i386.rpm Trouver le paquetage à qui appartient un fichier: # rpm -q --whatprovides /usr/bin/perl Autres ressources Installing and Managing Software with RPM Maximum RPM

OpenWRT on a NanoStation M2 with IPv6

Warning: this page is very old. A lot of bits are probably not relevant anymore.&#xA;Hardware: NanoStation M2 Runs Linux by default (AirOS) Atheros wifi, supports 802.11n Power over ethernet The official reseller for UBNT in Canada is www.ubnt.ca. See there M2 product page for more information. In Québec, Converbit.ca also has good deals and is near Montréal.&#xA;The instructions below may apply…

Xmodmap

Under Linux, Xmodmap can change the mapping of certain useless keys on my keyboard, such as the Microsoft keys:&#xA;File: ~/.Xmodmap&#xA;! lines starting with an exclamation are comments ! left microsoft key (between left CTRL and Alt keys) keycode 133 = guillemotleft guillemotright ! right microsoft key (U2022 = "big dot") keycode 135 = degree U2022 ! right microsoft menu key (big checkmark,…

Gnome 3

Configuration changes I did to Gnome 3 to fit my preferences&#xA;UI tweaks Install &ldquo;gnome-tweak-tool&rdquo;&#xA;Fonts: for window titles, I put a 6px font Windows titlebar: middle button shows menu, right button shades window Set mouse to &ldquo;sloppy focus&rdquo; (mouse focus, i.e. does not require click to focus on a window)&#xA;$ gconftool-2 --type string --set…

IPv6 en ligne de commande

Utilisation des adresses locales Ping sur le lien local doit spécifier l&rsquo;interface (car aucun routage de défini):&#xA;ping6 -I eth0 -c 1 fe80::2e0:18ff:fe90:9205 Ping multi-cast pour découvrir les autres hôtes sur le même lien:&#xA;ping6 -I eth0 ff02::1 Puis faire:&#xA;ip -6 neigh show fe80::221:97ff:feed:ef01 dev eth0 lladdr 00:21:97:ed:ef:01 nud reachable fe80::20b:6aff:feef:7e8d dev eth0…

IPv6 quickstart

Learning IPv6 can be a chicken and egg situation where you have to either start from configuring the router or configuring a specific host on the network.&#xA;Since the router configuration involves different concept, let&rsquo;s assume you are on a host that already has IPv6.&#xA;These notes assume that you have some understanding of how IPv4 works.&#xA;IPv6 host addresses and routes Similar to…

Landis&#43;Gyr Gridstream RF FOCUS AXR-SD

Notes below are bits of information that I found about Landis+Gyr Gridstream RF electric counters. All of it is public information and mostly obvious, I just needed somewhere to document it (unfortunately, the specification itself of the counters is not free, so I have not published any information about that). The above image is from a Hydro-Québec report to the Commission d&rsquo;accès à…

Icinga2 bandwidth monitoring of OpenWRT routers

Disclaimer: this is most probably not the best way to do this.&#xA;Context: I use icinga2 to monitor most of my servers and (home/office) routers. Since icinga collects &ldquo;perfdata&rdquo; (performance data) and supports sending that data to Graphite, I then use Grafana to produce graphics of the network usage on my network.&#xA;Quick notes for me:&#xA;generate an ssh key for the nagios user in…

Tiddlybot

Pour utiliser le Tiddlybot en français&#xA;1- Dans ~/tiddlybot/tiddlybot/index.html, remplacer:&#xA;1 <script src='../blockly/msg/js/en.js'></script> par:&#xA;1 <script src='../blockly/msg/js/fr.js'></script> (blockly est déjà traduit.. ceci traduit les chaînes des éléments visuels qui représentent le code).&#xA;2- Traduire les chaînes dans ~/tiddlybot/tiddlybot/index.html&#xA;3- Traduire les noms…

Ansible

New node bootstrap Install required packages:&#xA;# apt-get install sudo openssh-server Create the ansible deployment user:&#xA;# useradd -m -G sudo deploy on Koumbit servers:&#xA;# useradd -m -G admins deploy Copy the key:&#xA;# mkdir /home/deploy/.ssh # chown deploy:deploy /home/deploy/.ssh # chmod 0700 /home/deploy/.ssh # wget -O /home/deploy/.ssh/authorized_keys…

Asterisk WebRTC & PJSIP

Brother DCP-L2540DW under Debian GNU/Linux (Bullseye)

Notes for printing and scanning with the Brother DCP-L2540DW. Tested on Debian GNU/Linux (Bullseye), but should work on any cups-based system.&#xA;Downloaded drivers from here: http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=dcpl2540dw_us_as&os=128&#xA;NB: had to download both: &ldquo;LPR printer driver (deb package)&rdquo; and &ldquo;CUPSwrapper printer driver (deb…

Debian GNU/Linux &#34;Bullseye&#34; (alpha2) on a Dell XPS15 7590

Copied Debian Stretch netinst based on the instructions of Debian USB installation. Use the UEFI method. Copied the latest .deb firmware-iwlwifi with non-free iwlwifi drivers for Bullseye. I think the .deb can be copied into the root directory of the USB disk. I had extracted the .deb and copied the ucode files at the root of the USB disk. Debian might still complain that 2-3 ucode files are…

Debian unattended-upgrade

Install unattended-upgrade:&#xA;apt-get install unattended-upgrades # yep, in plural Enable the upgrades for all basic system packages:&#xA;vi /etc/apt/apt.conf.d/50unattended-upgrades Contents:&#xA;Unattended-Upgrade::Origins-Pattern { "o=${distro_id},n=${distro_codename}"; "o=${distro_id},n=${distro_codename}-updates"; "o=${distro_id},n=${distro_codename}-proposed-updates";…

Debian: installation par clé USB (Debian Buster 10.x ou Bullseye 11.x)

La clé USB doit faire au moins 300 mo.&#xA;Méthode UEFI Connecter la clé USB, présumément formattée en FAT Monter la partition, si ce n&rsquo;est pas automatique. Supprimer les fichiers sur la partition Télécharger les fichiers nécessaires:&#xA;$ cd /tmp/ $ wget https://cdimage.debian.org/cdimage/bullseye_di_alpha2/amd64/iso-cd/debian-bullseye-DI-alpha2-amd64-netinst.iso Puis extraire le ISO sur…

PhpStorm

Configurations under &ldquo;File > Settings&rdquo;&#xA;Languages & Frameworks:&#xA;PHP => PHP Language Level = 7.2 Appearance & Behaviour&#xA;Appearance => Theme => Darcula Appearance => Use custom font, Deja Vu Sans Mono, size 15 (this is the font of the UI, not code) Appearance => Presentation mode Font Size => 36 Editor&#xA;General => (check) &ldquo;Change font size with Ctrl+Mouse wheel&rdquo;…

ZFS on Linux

References OpenZFS on Debian Aaron Toponce&rsquo;s user guide for ZFS on Linux. FreeBSD ZFS handbook http://www.howtogeek.com/175159/an-introduction-to-the-z-file-system-zfs-for-linux/ https://blogs.oracle.com/roch/entry/when_to_and_not_to - when to (and not to) use raid-z Getting started (last update: Debian 10, aka Buster)&#xA;1 2 # apt-get update # apt-get install zfsutils-linux zfs-zed…

CiviCRM and Drupal7: upgrade to Drupal8, Backdrop, WordPress or .. Standalone?

Usual disclaimer: the following are mostly my personal (strong) opinions and rants. I express myself as &ldquo;we&rdquo; being Coop Symbiotic, because it&rsquo;s teamwork, but this is not our official policy and any rants or errors or anything that might make you angry are purely my fault :-)&#xA;First, bear with me, let&rsquo;s put things in context:&#xA;For the past 14 years, I have been working…

OVH, nvme disks, soft-RAID and grub

OVH has this guide on what to do after a disk fail on a dedicated server with soft-RAID (ex: two mirrored disks).&#xA;I recently had a disk fail on a server with NVMe disks, which requires a EFI-enabled BIOS. Not being very familiar with EFI and NVMe, here are a few random notes:&#xA;&ldquo;Serial over LAN&rdquo; (SoL) IPMI at OVH does not work with their &ldquo;netboot&rdquo; kernels. The…

Icinga2 distributed monitoring: a few things to check

A few things to check, or things that weren&rsquo;t obvious to me at first, when running a distributed master/satellite configuration.&#xA;Disclaimer: I started using icinga2 before Icinga Director came out. From what I understand, Director really helps simplify satellite configurations. However, I have the habit of text config files, and haven&rsquo;t (yet) explored Director.&#xA;0- Why use…

Debian Linux Dell XPS 9550 and Sennheiser Bluetooth headphones

This applies to most bluetooth headphones under Linux, with Dell XPS 9550 laptops (well, probably to other systems using a broadcom BT chip).&#xA;Problem: If I went to the Bluetooth settings in Gnome, I could enable scanning, but my headphones would not appear in the list of available devices. I made sure that I reset the BT pairing completely on the headphones, and then set them in pairing mode.…

Customizing Gnome-Shell ≥ 3.20 (smaller titlebars)

like gnome-shell, but some visual elements annoy me, particular anything that uses vertical real estate, such as titlebars, tab bars, etc.&#xA;The desktop&rsquo;s top bar can be hidden using the hide top bar extension. This hides the bar at all times, except with in &lsquo;overview&rsquo; mode (i.e. when the mouse goes in the upper-left hot corner or by pressing the &lsquo;super&rsquo; key on the…

CiviCamp Montréal le 27 septembre 2017, « code sprint » les 28-30 septembre

« CiviCamp Montréal est un événement d&rsquo;une journée opur découvrir CiviCRM, apprendre de nouvelles astuces et partager vos expériences. L&rsquo;événement offrira deux pistes de sessions avec une grande variété de sujets pour nouveaux utilisateurs ou administrateurs aguerris. Il y aura une emphase particulière sur les besoins des organisations d&rsquo;ici: passerelles de paiement, taxes sur…

Email security scams and public git repositories

A few clients received the following e-mail:&#xA;My name is Charles Bourasseau, and I'm an independent IT security expert. I have found a security issue on your website http://example.org. I was able to access a lot of files that contain sensitive data. I attached a screenshot of the files I found to this email. I would be happy to give you the method I used to access these files in order to let…