<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title>Deb.News</title>
  <link rel="self" href="https://deb.news/atom.xml"/>
  <link href="https://deb.news"/>
  <id>https://deb.news/atom.xml</id>
  <updated>2026-05-05T21:13:07+00:00</updated>
  <generator uri="http://intertwingly.net/code/venus/">http://intertwingly.net/code/venus/</generator>


  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">My Debian Activities in April 2026</title>
	<link href="http://blog.alteholz.eu/2026/05/my-debian-activities-in-april-2026/"/>
	<id>http://blog.alteholz.eu/?p=2809</id>
	<updated>2026-05-05T14:24:27+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;h3&gt;&lt;strong&gt;Debian LTS/ELTS&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;&lt;/p&gt;&lt;p&gt;This was my hundred-forty-second month that I did some work for the Debian LTS initiative, started by Raphael Hertzog at Freexian.
&lt;/p&gt;
&lt;p&gt;
During my allocated time I uploaded or worked on:  
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;[&lt;a href=&quot;https://lists.debian.org/debian-lts-announce/2026/04/msg00009.html&quot;&gt;DLA 4530-1&lt;/a&gt;]  gst-plugins-bad1.0 security update to fix two CVEs related to denial of service or execution of arbitrary code if a malformed media file is opened.
&lt;/li&gt;&lt;li&gt;[&lt;a href=&quot;https://lists.debian.org/debian-lts-announce/2026/04/msg00024.html&quot;&gt;DLA 4544-1&lt;/a&gt;] ntfs-3g to fix one CVE related to local root privilege escalation.
&lt;/li&gt;&lt;li&gt;[&lt;a href=&quot;https://lists.debian.org/debian-lts-announce/2026/04/msg00026.html&quot;&gt;DLA 4545-1&lt;/a&gt;] packagekit security update to fix one CVE related to local privilege escalation.
&lt;/li&gt;&lt;li&gt;[&lt;a href=&quot;https://lists.debian.org/debian-lts-announce/2026/04/msg00028.html&quot;&gt;DLA 4547-1&lt;/a&gt;] gimp security update to fix three CVEs related to denial of service or execution of arbitrary code if a malformed PSP, JPEG 2000 or PSD  file is opened.
&lt;/li&gt;&lt;li&gt;[ELA-1682-1] gst-plugins-bad1.0 security update to fix two CVEs in Buster and Stretch related to denial of service or execution of arbitrary code.&lt;/li&gt;&lt;li&gt;[ELA-1689-1] ntfs-3g security update to fix one CVE in Buster and Stretch related to local root privilege escalation..&lt;/li&gt;&lt;li&gt;[ELA-1693-1] pakagekit security update to fix one CVE in Buster and Stretch related to local privilege escalation.&lt;/li&gt;&lt;li&gt;[&lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1126167&quot;&gt;#1126167&lt;/a&gt;] bookworm-pu upload of zvbi&lt;/li&gt;&lt;li&gt;[&lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1126273&quot;&gt;#1126273&lt;/a&gt;] bookworm-pu upload of taglib&lt;/li&gt;&lt;li&gt;[&lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1126370&quot;&gt;#1126370&lt;/a&gt;] bookworm-pu upload of libuev&lt;/li&gt;&lt;li&gt;[libcoap3] upload to sid to fix two CVEs related to out-of-bounds read and stacked based buffer overflow. &lt;/li&gt;&lt;li&gt;[&lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1134340&quot;&gt;#1134340&lt;/a&gt;] trixie-pu bug for libcoap3 to fix two CVEs in Trixie.&lt;/li&gt;&lt;li&gt;[cups] upload to sid to fix six CVEs. &lt;/li&gt;&lt;/ul&gt;



&lt;p&gt;
I also did a week of front desk duties and started to work on backports of the &lt;i&gt;cups&lt;/i&gt; CVEs.
&lt;/p&gt;



&lt;h3&gt;&lt;strong&gt;Debian Printing&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;This month I uploaded a new upstream versions:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/foo2zjs&quot;&gt;foo2zjs&lt;/a&gt; to unstable.&lt;/li&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/cups&quot;&gt;cups&lt;/a&gt; to unstable.&lt;/li&gt;&lt;/ul&gt;



&lt;p&gt;Unfortunately the first upload of cups introduces a regression and another upload was needed to take care of a crash. The patch for one CVE also broke a test script, which is used by lots of printing packages in Debian. As a result some autopkgtest runs failed. This could be fixed as well and the only remaining issue that needs some more investigation is related to cups-pdf.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;This work is generously funded by &lt;a href=&quot;https://www.freexian.com&quot;&gt;Freexian&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;



&lt;h3&gt;&lt;strong&gt;Debian Lomiri&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;&lt;/p&gt;&lt;p&gt;This month I continued to work on unifying packaging on Debian and Ubuntu. This makes it easier to work on those packages independent of the used platform. &lt;/p&gt;&lt;p&gt;
I also started working on two new packages: &lt;i&gt;lomiri-radio-app&lt;/i&gt; and &lt;i&gt;lomiri-fretboardtrainer-app&lt;/i&gt; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;This work is generously funded by &lt;a href=&quot;https://freiesoftware.gmbh/&quot;&gt;Fre(i)e Software GmbH&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;



&lt;h3&gt;&lt;strong&gt;Debian Astro&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;This month I uploaded a new upstream version  or a bugfix version of:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/indi-apogee&quot;&gt;indi-apogee&lt;/a&gt; to experimental.&lt;/li&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/indi-nexdome&quot;&gt;indi-nexdome&lt;/a&gt; to experimental.&lt;/li&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/libahp-xc&quot;&gt;libahp-xc&lt;/a&gt; to unstable.&lt;/li&gt;&lt;/ul&gt;



&lt;h3&gt;&lt;strong&gt;Debian IoT&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;This month I uploaded a new upstream version  or a bugfix version of:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/libcoap3&quot;&gt;libcoap3&lt;/a&gt; to unstable.&lt;/li&gt;&lt;/ul&gt;



&lt;p&gt;Marcos Talau joined the Debian IoT group, welcome aboard.&lt;/p&gt;



&lt;h3&gt;&lt;strong&gt;Debian Mobcom&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;This month I uploaded a new upstream version  or a bugfix version of:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/osmo-iuh&quot;&gt;osmo-iuh&lt;/a&gt; to unstable.&lt;/li&gt;&lt;/ul&gt;



&lt;h3&gt;&lt;strong&gt;misc&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;This month I uploaded a new upstream version  or a bugfix version of:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/bottlerocket&quot;&gt;bottlerocket&lt;/a&gt; to unstable.&lt;/li&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/cd5&quot;&gt;cd5&lt;/a&gt; to unstable.&lt;/li&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/usb-modeswitch-data&quot;&gt;usb-modeswitch-data&lt;/a&gt; to unstable.&lt;/li&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/libpicohttpparser&quot;&gt;libpicohttpparser&lt;/a&gt; to unstable (sponsored upload for Joachim Zobel.&lt;/li&gt;&lt;/ul&gt;</content>
	<author>
	  <name>alteholz</name>
	   <uri>http://blog.alteholz.eu</uri> 
	</author>
	<source>
	  <title type="html">planetdebian – blog.alteholz.eu</title>
	  <subtitle type="html">As time goes by ...</subtitle>
	  <link rel="self" href="http://blog.alteholz.eu/tag/planetdebian/feed/"/>
	  <id>http://blog.alteholz.eu</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">Tower Servers and Resizable BAR</title>
	<link href="https://etbe.coker.com.au/2026/05/04/tower-servers-rebar/"/>
	<id>https://etbe.coker.com.au/?p=6058</id>
	<updated>2026-05-04T08:22:15+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;p&gt;A feature on modern PCIe implementations is “Resizable BAR” AKA “REBAR”. This basically means that instead of allocating 256MB of address space for a PCIe device to have it’s memory mapped the device can ask for more, the limit can be 4G with some hardware or the combination of motherboard and expansion card can support 64bit addressing to allow the entire memory space of a GPU to be mapped in one region. Directly mapping all the memory will be faster no matter how things work, but a combination of algorithms optimised for a flat memory layout and overheads from remapping can cause 90% of performance to be lost without REBAR support. Some GPUs (or maybe the software driving them) will even refuse to work without it.&lt;/p&gt;
&lt;p&gt;I believe that almost all hardware supporting DDR4 will support REBAR at a hardware level, but in many cases the BIOS doesn’t support it. There are people who have reflashed a system BIOS to add REBAR support and there are options to use a modified UEFI boot loader to replace the code that is used for mapping the GPU memory.&lt;/p&gt;
&lt;p&gt;The systems I like to use are server grade tower systems with registered ECC RAM, after a few years they become quite cheap and still give decent performance while supporting large amounts of RAM. But many such systems that could support REBAR don’t, presumably because the vendor doesn’t have a great interest in supporting new uses of old hardware.&lt;/p&gt;
&lt;h2&gt;Comparing the Name Brand Servers&lt;/h2&gt;
&lt;p&gt;The HP Z640 and Z840 systems I’m running date from 2014 and give good performance with replacement CPUs that are cheap on ebay, but they don’t support REBAR without a flashed BIOS. The next release of those HP servers are the HP Z6 and Z8 Gen 4 systems from 2017 that have BIOS support for enabling REBAR.&lt;/p&gt;
&lt;p&gt;The Lenovo Thinkstation Px20 (P520, P920, etc) don’t support REBAR which is especially disappointing as they were on sale from 2017 to 2022 and have decently fast CPUs. The replacement for the Px20 systems are the ones that are still on sale now and they seem likely to have REBAR support – but won’t be affordable on ebay.&lt;/p&gt;
&lt;p&gt;The Dell PowerEdge T440 and R740 systems (and presumably all their servers from 2017) don’t support REBAR. There are no google hits for T550 and R750 systems from 2021, so presumably no complaints means that Dell servers from that era support it. But the T350 servers are junk and only take slow CPUs, and the T550 systems are brutally expensive. The Precision 5520 systems don’t support it and newer Precision workstations will get expensive.&lt;/p&gt;
&lt;p&gt;It seems that HP is best for this.&lt;/p&gt;
&lt;h2&gt;Which HP Workstation&lt;/h2&gt;
&lt;p&gt;The Z2 G4 only supports 64G of RAM so isn’t worth considering.&lt;/p&gt;
&lt;p&gt;The Z4 G4 is low end and comes in two variants. The one with i5/i7/i9 CPUs doesn’t support ECC RAM so isn’t suitable for me, and that probably means most Z4 G4 systems on the market. The upside is that apparently 2*6pin PCIe power cables is standard so any size GPU should work and there are 8 DIMM slots supporting up to 512G of RAM. There are 3 options for PSU, 490w for 0 GPUs, 750W for 2 (small) GPUs, and 1000W for up to 4 GPUs.&lt;/p&gt;
&lt;p&gt;The Z6 G4 has an option for a second CPU that almost no-one selects, that reduces the space for RAM so there’s only 6 DIMM slots. But as there is no option for a Z6 without ECC RAM every one on offer will be good.&lt;/p&gt;
&lt;p&gt;The Z8 G4 is a nice dual socket system that I would not use for a serious GPU after my experience of my Z840 having a motherboard problem from a big GPU.&lt;/p&gt;
&lt;p&gt;The Z4 G4 is going for about $500 on ebay with the 750W PSU, that is more than I want to pay but not a lot more. In 6 months they could be going for $350 or so. There are hardly any Z6 G4 systems on offer and they are all well over $1000 so I’m not considering them.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;I need to poll the second hand sites for Z4 G4 systems and find one going cheap. One of those could be a good ML test machine for a while and then become a workstation once the faster CPUs (which are currently around $900) become cheap.&lt;/p&gt;
&lt;div class=&quot;yarpp yarpp-related yarpp-related-rss yarpp-template-list&quot;&gt;

&lt;p&gt;Related posts:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2009/11/22/planning-servers-for-failure/&quot; rel=&quot;bookmark&quot; title=&quot;Planning Servers for Failure&quot;&gt;Planning Servers for Failure&lt;/a&gt; &lt;small&gt;Sometimes computers fail. If you run enough computers then you...&lt;/small&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2018/02/23/poweredge-t30/&quot; rel=&quot;bookmark&quot; title=&quot;Dell PowerEdge T30&quot;&gt;Dell PowerEdge T30&lt;/a&gt; &lt;small&gt;I just did a Debian install on a Dell PowerEdge...&lt;/small&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2011/10/18/servers-vs-phones/&quot; rel=&quot;bookmark&quot; title=&quot;Servers vs Phones&quot;&gt;Servers vs Phones&lt;/a&gt; &lt;small&gt;Hetzner have recently updated their offerings to include servers with...&lt;/small&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content>
	<author>
	  <name>etbe</name>
	   <uri>https://etbe.coker.com.au</uri> 
	</author>
	<source>
	  <title type="html">etbe – Russell Coker</title>
	  <subtitle type="html">Linux, politics, and other interesting things</subtitle>
	  <link rel="self" href="https://etbe.coker.com.au/feed/"/>
	  <id>https://etbe.coker.com.au</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">Copy Fail on Debian and SE Linux</title>
	<link href="https://etbe.coker.com.au/2026/05/04/copy-fail-on-debian-and-se-linux/"/>
	<id>https://etbe.coker.com.au/?p=6051</id>
	<updated>2026-05-04T08:00:58+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;p&gt;I have just learned of &lt;a href=&quot;https://mastodon.social/@alexanderkjall/116494154195934959&quot;&gt;the Copy Fail kernel vulnerability [1]&lt;/a&gt; thanks to alexanderkjall@mastodon.social (who I have just followed on Mastodon and I recommend that you follow too). The question for me (after installing the patched kernel the systems of mine that are most exposed) is whether SE Linux would have stopped that.&lt;/p&gt;
&lt;h2&gt;Basic Policy Analysis&lt;/h2&gt;
&lt;p&gt;For the SE Linux policy analysis the &lt;b&gt;alg_socket&lt;/b&gt; class is the one that is related to the exploit. So the following policy analysis command (run as non-root with policy copied to /tmp from a running system) shows what domains are allowed access on my current Debian development system:&lt;/p&gt;
&lt;pre&gt;$ sesearch -A -c alg_socket /tmp/policy.35 
allow NetworkManager_t NetworkManager_t:alg_socket { accept bind create read setopt write };
allow bluetooth_t bluetooth_t:alg_socket { accept append bind connect create getattr getopt ioctl listen read setattr setopt shutdown write };
allow daemon init_t:alg_socket { getattr getopt ioctl read setopt write };
allow devicekit_disk_t domain:alg_socket getattr;
allow lvm_t lvm_t:alg_socket { append bind connect create getattr getopt ioctl read setattr setopt shutdown write };
allow sosreport_t domain:alg_socket getattr;
allow sysadm_t domain:alg_socket getattr;
allow unconfined_domain_type domain:alg_socket { accept append bind connect create getattr getopt ioctl listen lock map name_bind read recvfrom relabelfrom relabelto sendto setattr setopt shutdown write };&lt;/pre&gt;
&lt;p&gt;The above is the same as on the Trixie release policy as these things aren’t changed often. Below is from Debian/Bookworm which is the same apart from Bookworm not allowing lvm_t:&lt;/p&gt;
&lt;pre&gt;$ sesearch -A -c alg_socket /tmp/policy.33
allow NetworkManager_t NetworkManager_t:alg_socket { accept bind create read setopt write };
allow bluetooth_t bluetooth_t:alg_socket { accept append bind connect create getattr getopt ioctl listen read setattr setopt shutdown write };
allow daemon init_t:alg_socket { getattr getopt ioctl read setopt write };
allow devicekit_disk_t domain:alg_socket getattr;
allow sosreport_t domain:alg_socket getattr;
allow sysadm_t domain:alg_socket getattr;
allow unconfined_domain_type domain:alg_socket { accept append bind connect create getattr getopt ioctl listen lock map name_bind read recvfrom relabelfrom relabelto sendto setattr setopt shutdown write };&lt;/pre&gt;
&lt;p&gt;I checked every Debian policy back to when the alg_socket class was first added and found that the older versions had fewer domains granted access. The most recently added was bluetooth_t and the one before that was NetworkManager_t.&lt;/p&gt;
&lt;h3&gt;The Risky Lines&lt;/h3&gt;
&lt;p&gt;Of those allow statements the following are the risks:&lt;/p&gt;
&lt;h4&gt;Unconfined Domains and the unconfined_domain_type Attribute&lt;/h4&gt;
&lt;p&gt;When writing policy lines like the following line aren’t generally considered a problem as unconfined domains are allowed full access to the system. However it can be an issue if you have a process in an unconfined domain without root access, which means a regular user login. Unfortunately this happens to be where this exploit and the default Debian SE Linux configuration intersect.&lt;/p&gt;
&lt;pre&gt;allow unconfined_domain_type domain:alg_socket { accept append bind connect create getattr getopt ioctl listen lock map name_bind read recvfrom relabelfrom relabelto sendto setattr setopt shutdown write };&lt;/pre&gt;
&lt;p&gt;The following shell code gets a list of unconfined domains which can be entered from user domains.&lt;/p&gt;
&lt;pre&gt;A=&quot;&quot;
for n in $(seinfo -x -a unconfined_domain_type|grep _t$) ; do
  A=&quot;$A|($n)&quot;
done
A=$(echo $A|sed -e s/^.//)
sesearch -T -s user_application_exec_domain -c process|egrep &quot;$A;&quot;&lt;/pre&gt;
&lt;p&gt;Below is the output on a Debian/Trixie (Stable) system. So a confined user in the &lt;b&gt;user_t&lt;/b&gt; domain could run an X server and try and get it to run the exploit code (which seems difficult) or running a Wine or Mono program from the Window manager in a Wayland environment.&lt;/p&gt;
&lt;pre&gt;type_transition user_t xserver_exec_t:process xserver_t;
type_transition user_wm_t mono_exec_t:process mono_t;
type_transition user_wm_t wine_exec_t:process wine_t;
type_transition user_wm_t xserver_exec_t:process xserver_t;&lt;/pre&gt;
&lt;p&gt;The issue of unconfined domains in SE Linux policy needs much more work. I’ll write some blog posts about it later and the next release of Debian will be significantly better in this regard.&lt;/p&gt;
&lt;h4&gt;Daemons that Have Access&lt;/h4&gt;
&lt;pre&gt;allow NetworkManager_t NetworkManager_t:alg_socket { accept bind create read setopt write };
allow bluetooth_t bluetooth_t:alg_socket { accept append bind connect create getattr getopt ioctl listen read setattr setopt shutdown write };&lt;/pre&gt;
&lt;p&gt;Network Manager is something that can potentially be exploited by a desktop user as it has a large attack surface for the desktop interface. But as the vast majority of desktop user accounts are unconfined that’s not an issue. This might be an issue for some restricted desktop PCs, maybe kiosk systems and those PCs that were being installed in prisons.&lt;/p&gt;
&lt;p&gt;The bluetooth_t domain is used by the bluetooth daemon that runs as root. While we generally are less concerned about a root process being exploited the daemon will handle some data from hostile sources and it could be used as an escalation attack by someone with a hostile Bluetooth device.&lt;/p&gt;
&lt;p&gt;These can’t be exploited without another bug.&lt;/p&gt;
&lt;h3&gt;The Lines that Aren’t Problems&lt;/h3&gt;
&lt;h4&gt;The getattr Lines&lt;/h4&gt;
&lt;pre&gt;allow devicekit_disk_t domain:alg_socket getattr;
allow sosreport_t domain:alg_socket getattr;
allow sysadm_t domain:alg_socket getattr;&lt;/pre&gt;
&lt;p&gt;The above &lt;b&gt;getattr&lt;/b&gt; access isn’t an issue as it just allows seeing process information, and it’s also by privileged domains.&lt;/p&gt;
&lt;h4&gt;The init_t Sockets&lt;/h4&gt;
&lt;pre&gt;allow daemon init_t:alg_socket { getattr getopt ioctl read setopt write };&lt;/pre&gt;
&lt;p&gt;The daemon access to sockets inherited from init_t probably isn’t a great idea, it’s from the following section in init.te which is to allow socket activation for daemons, the comment is concerning in this context. Also socket_class_set is overly broad as without even inspecting the systemd source code I’m pretty sure that far fewer than 1/3 of the 55 classes allowed by that rule are actually supported in systemd.&lt;/p&gt;
&lt;pre&gt;ifdef(`init_systemd&#39;,`
        # Until systemd is fixed
        allow daemon init_t:socket_class_set { getattr getopt ioctl read setopt write };&lt;/pre&gt;
&lt;p&gt;But that’s not really a problem as systemd has to just not create a socket of that type, if a hostile party can make systemd create such sockets then you have probably already lost.&lt;/p&gt;
&lt;h2&gt;SE Linux Protection&lt;/h2&gt;
&lt;p&gt;Overall SE Linux systems running confined users (kiosks and other confined GUI environments) will be protected barring a bug in Network Manager or the Bluetooth daemon as long as there is no Xserver installed (or the X server won’t run scripts on startup), no Wine system installed, and no Mono.&lt;/p&gt;
&lt;p&gt;SE Linux servers and VMs will be protected against daemon issues as long as the daemon isn’t unconfined.&lt;/p&gt;
&lt;p&gt;To convert the default login to user_t run the following commands:&lt;/p&gt;
&lt;pre&gt;semanage login -m -s user_u -r s0 __default__
restorecon -R -v -F /home&lt;/pre&gt;
&lt;p&gt;But it is still possible to access an unconfined domain from user_t (a topic I will address in detail in a future blog post).&lt;/p&gt;
&lt;p&gt;To remove unconfined entirely (not a task for novices or something to be done on in production without testing and planning) run the following commands:&lt;/p&gt;
&lt;pre&gt;semanage login -m -s root -r s0 root
# logout and login again
semodule -X 100 -r unconfined&lt;/pre&gt;
&lt;p&gt;Then a Debian/Trixie system running SE Linux will be safe against this attack even when running a vulnerable kernel.&lt;/p&gt;
&lt;p&gt;If you still want to use root as unconfined_t but still have untrusted shell users then run the following command to remove the easiest ways for users to run a program in an unconfined domain:&lt;/p&gt;
&lt;pre&gt;semodule -X 100 -r mono wine&lt;/pre&gt;
&lt;h2&gt;Success and Failure&lt;/h2&gt;
&lt;h3&gt;Blocked by SE Linux&lt;/h3&gt;
&lt;p&gt;Below is what happens on stdout/stderr when SE Linux blocks the exploit (tested with vulnerable Debian kernel 6.12.74+deb13+1-amd64):&lt;/p&gt;
&lt;pre&gt;test@testing1:~$ python3 ./copy_fail_exp.py 
Traceback (most recent call last):
  File &quot;/home/test/./copy_fail_exp.py&quot;, line 9, in &amp;lt;module&amp;gt;
    while i&amp;lt;len(e):c(f,i,e[i:i+4]);i+=4
                   ~^^^^^^^^^^^^^^
  File &quot;/home/test/./copy_fail_exp.py&quot;, line 5, in c
    a=s.socket(38,5,0);a.bind((&quot;aead&quot;,&quot;authencesn(hmac(sha256),cbc(aes))&quot;));h=279;v=a.setsockopt;v(h,1,d(&#39;0800010000000010&#39;+&#39;0&#39;*64));v(h,5,None,4);u,_=a.accept();o=t+4;i=d(&#39;00&#39;);u.sendmsg([b&quot;A&quot;*4+c],[(h,3,i*4),(h,2,b&#39;\x10&#39;+i*19),(h,4,b&#39;\x08&#39;+i*3),],32768);r,w=g.pipe();n=g.splice;n(f,w,o,offset_src=0);n(r,u.fileno(),o)
  File &quot;/usr/lib/python3.13/socket.py&quot;, line 233, in __init__
    _socket.socket.__init__(self, family, type, proto, fileno)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^PermissionError: [Errno 13] Permission denied
test@testing1:~$ su
Password:&lt;/pre&gt;
&lt;p&gt;When the attack is blocked by SE Linux there will be no messages in the kernel message log but the SE Linux audit log (typically stored in /var/log/audit/audit.log) will have lines like the following:&lt;/p&gt;
&lt;pre&gt;type=AVC msg=audit(1777803068.070:76): avc:  denied  { create } for  pid=811 comm=&quot;python3&quot; scontext=user_u:user_r:user_t:s0 tcontext=user_u:user_r:user_t:s0 tclass=alg_socket permissive=0
type=SYSCALL msg=audit(1777803068.070:76): arch=c000003e syscall=41 success=no exit=-13 a0=26 a1=80005 a2=0 a3=0 items=0 ppid=791 pid=811 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=1 comm=&quot;python3&quot; exe=&quot;/usr/bin/python3.13&quot; subj=user_u:user_r:user_t:s0 key=(null)ARCH=x86_64 SYSCALL=socket AUID=&quot;test&quot; UID=&quot;test&quot; GID=&quot;test&quot; EUID=&quot;test&quot; SUID=&quot;test&quot; FSUID=&quot;test&quot; EGID=&quot;test&quot; SGID=&quot;test&quot; FSGID=&quot;test&quot;
type=PROCTITLE msg=audit(1777803068.070:76): proctitle=707974686F6E33002E2F636F70795F6661696C5F6578702E7079&lt;/pre&gt;
&lt;p&gt;For that the &lt;b&gt;:76&lt;/b&gt; is the audit log entry number, the command “&lt;b&gt;ausearch -i -a 76&lt;/b&gt;” will interpret that message with the following output:&lt;/p&gt;
&lt;pre&gt;type=PROCTITLE msg=audit(05/03/26 10:11:08.070:76) : proctitle=python3 ./copy_fail_exp.py 
type=SYSCALL msg=audit(05/03/26 10:11:08.070:76) : arch=x86_64 syscall=socket success=no exit=EACCES(Permission denied) a0=alg a1=SOCK_SEQPACKET a2=ip a3=0x0 items=0 ppid=791 pid=811 auid=test uid=test gid=test euid=test suid=test fsuid=test egid=test sgid=test fsgid=test tty=pts0 ses=1 comm=python3 exe=/usr/bin/python3.13 subj=user_u:user_r:user_t:s0 key=(null) 
type=AVC msg=audit(05/03/26 10:11:08.070:76) : avc:  denied  { create } for  pid=811 comm=python3 scontext=user_u:user_r:user_t:s0 tcontext=user_u:user_r:user_t:s0 tclass=alg_socket permissive=0 &lt;/pre&gt;
&lt;h3&gt;When it Works&lt;/h3&gt;
&lt;p&gt;Below is what happens when it works (again tested with Debian kernel 6.12.74+deb13+1-amd64):&lt;/p&gt;
&lt;pre&gt;test@testing1:~$ python3 ./copy_fail_exp.py 
# &lt;/pre&gt;
&lt;p&gt;Here is the kernel log when the attack works:&lt;/p&gt;
&lt;pre&gt;[   30.441830] alg: No test for authencesn(hmac(sha256),cbc(aes)) (authencesn(hmac(sha256-avx2),cbc-aes-aesni))
[   30.447466] process &#39;su&#39; launched &#39;/bin/sh&#39; with NULL argv: empty string added&lt;/pre&gt;
&lt;h3&gt;When the Kernel Isn’t Vulnerable&lt;/h3&gt;
&lt;p&gt;If the kernel isn’t vulnerable and SE Linux permits the attack (EG run from an unconfined domain) the following is seen on stdout/stderr:&lt;/p&gt;
&lt;pre&gt;$ python3 ./copy_fail_exp.py 
Password: 
su: Authentication failure&lt;/pre&gt;
&lt;p&gt;In that situation the kernel will log something like the following:&lt;/p&gt;
&lt;pre&gt;[   36.647023] alg: No test for authencesn(hmac(sha256),cbc(aes)) (authencesn(hmac-sha256-lib,cbc-aes-aesni))&lt;/pre&gt;
&lt;p&gt;This was tested on the Debian/Unstable kernel 6.19.13+deb14-amd64.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Run the following commands and then force all users to logout to make a Debian SE Linux system offering shell access reasonably safe against this bug. But also upgrade your kernel as soon as convenient because having multiple layers of protection is always good.&lt;/p&gt;
&lt;pre&gt;semanage login -m -s user_u -r s0 __default__
restorecon -R -v -F /home
semodule -X 100 -r mono wine&lt;/pre&gt;
&lt;p&gt;The GrapheneOS people are doing really good work on securing phones, I am most interested in Mobian (Debian on phones) but for people who have made different choices GrapheneOS is a good option. Here is the &lt;a href=&quot;https://discuss.grapheneos.org/d/35110-grapheneos-is-protected-against-copy-fail-and-similar-vulnerabilities-by-selinux&quot;&gt;GrapheneOS statement on Copy Fail (they are not vulnerable to it) [3]&lt;/a&gt;. For people interested in running a secure Android build GrapheneOS is the best option. Their &lt;a href=&quot;https://grapheneos.org/faq#supported-devices&quot;&gt;supported devices list shows Pixel 6 to Pixel 10 supported and Pixel 8 to Pixel 10a recommended [4]&lt;/a&gt;. In Australia Kogan sells refurbished Pixel 6 phones starting at $251 including delivery and refurbished Pixel 8 phones starting at $499 with “First” membership, they seem to have the cheapest Pixel phones.&lt;/p&gt;
&lt;p&gt;I want to make Debian more like Android in terms of security, but that’s a topic for other blog posts.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://security-tracker.debian.org/tracker/CVE-2026-31431&quot;&gt;Here is the Debian page listing kernels that have been fixed against this exploit [5]&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[1]&lt;a href=&quot;https://mastodon.social/@alexanderkjall/116494154195934959&quot;&gt; https://tinyurl.com/224mdjxn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[2]&lt;a href=&quot;https://wiki.archlinux.org/title/Kernel_mode_setting&quot;&gt; https://wiki.archlinux.org/title/Kernel_mode_setting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[3]&lt;a href=&quot;https://discuss.grapheneos.org/d/35110-grapheneos-is-protected-against-copy-fail-and-similar-vulnerabilities-by-selinux&quot;&gt; https://tinyurl.com/2cp5gtyr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[4]&lt;a href=&quot;https://grapheneos.org/faq#supported-devices&quot;&gt; https://grapheneos.org/faq#supported-devices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[5]&lt;a href=&quot;https://security-tracker.debian.org/tracker/CVE-2026-31431&quot;&gt; https://tinyurl.com/25ghcmzp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;yarpp yarpp-related yarpp-related-rss yarpp-template-list&quot;&gt;

&lt;p&gt;Related posts:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2010/07/25/audit2allow-r-milter/&quot; rel=&quot;bookmark&quot; title=&quot;SE Linux audit2allow -R and Milter policy&quot;&gt;SE Linux audit2allow -R and Milter policy&lt;/a&gt; &lt;small&gt;Since the earliest days there has been a command named...&lt;/small&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2010/04/21/upgrading-se-linux-system-squeez/&quot; rel=&quot;bookmark&quot; title=&quot;Upgrading a SE Linux system to Debian/Testing (Squeeze)&quot;&gt;Upgrading a SE Linux system to Debian/Testing (Squeeze)&lt;/a&gt; &lt;small&gt;Upgrade Requirements Debian/Squeeze (the next release of Debian) will be...&lt;/small&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2012/01/25/se-linux-status-2012-01/&quot; rel=&quot;bookmark&quot; title=&quot;SE Linux Status in Debian 2012-01&quot;&gt;SE Linux Status in Debian 2012-01&lt;/a&gt; &lt;small&gt;Since my last SE Linux in Debian status report [1]...&lt;/small&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content>
	<author>
	  <name>etbe</name>
	   <uri>https://etbe.coker.com.au</uri> 
	</author>
	<source>
	  <title type="html">etbe – Russell Coker</title>
	  <subtitle type="html">Linux, politics, and other interesting things</subtitle>
	  <link rel="self" href="https://etbe.coker.com.au/feed/"/>
	  <id>https://etbe.coker.com.au</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-us">Review: Full Speed to a Crash Landing</title>
	<link href="https://www.eyrie.org/~eagle/reviews/books/0-7564-1947-6.html"/>
	<id>https://www.eyrie.org/~eagle/reviews/books/0-7564-1947-6.html</id>
	<updated>2026-05-04T03:56:00+00:00</updated>
	<summary type="html" xml:lang="en-us"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;Review: &lt;cite&gt;Full Speed to a Crash Landing&lt;/cite&gt;, by Beth Revis&lt;/p&gt;

&lt;table&gt;
  &lt;tbody&gt;&lt;tr&gt;
    &lt;td&gt;Series:&lt;/td&gt;
    &lt;td&gt;Chaotic Orbits #1&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Publisher:&lt;/td&gt;
    &lt;td&gt;DAW&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Copyright:&lt;/td&gt;
    &lt;td&gt;August 2024&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;ISBN:&lt;/td&gt;
    &lt;td&gt;0-7564-1947-6&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Format:&lt;/td&gt;
    &lt;td&gt;Kindle&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Pages:&lt;/td&gt;
    &lt;td&gt;153&lt;/td&gt;
  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;
&lt;cite&gt;Full Speed to a Crash Landing&lt;/cite&gt; is a science fiction novella and the
first of a series. Beth Revis made the New York Times bestseller list for
an earlier series of young adult science fiction novels, but somehow I had
not heard of her before this series.
&lt;/p&gt;

&lt;p&gt;
Ada Lamarr is a salvager. She picks up material from crashed or dead ships
for resale. As the story opens, she has a large hole in the side of her
ship, she&#39;s running out of oxygen, and the other ship nearby is refusing
to answer her distress call. By the time they finally respond, there is
barely enough time to get aboard before she is entirely out of air.
&lt;/p&gt;

&lt;p&gt;
Ada&#39;s first-person narration drops hints that she may not be entirely what
she seems. But then, neither is the &lt;i&gt;Halifax&lt;/i&gt;, so it&#39;s only fair.
&lt;/p&gt;

&lt;p&gt;
The captain of the &lt;i&gt;Halifax&lt;/i&gt; treats Ada with a great deal of
suspicion and wants her out of the way of their ongoing salvage operation.
However, the captain does not appear to be entirely in charge. Ada is
immediately struck by the mysterious Rian White, who seems to have some
authority over their mission and is more thoughtful and calculating than
the rest of the crew. He&#39;s also handsome, which doesn&#39;t hurt.
&lt;/p&gt;

&lt;p&gt;
I was tempted to keep writing about the plot, but given the short length
of this book, I should stop there and let you enjoy the twists and turns
for yourself. This is a fun science fiction action romp: lots of banter,
lots of tense moments, and a cagey first-person protagonist with an
irrepressible sense of humor and a knack for brazening her way through
conversations. It&#39;s not long on world-building (there isn&#39;t enough room),
but Revis works in enough details to be intriguing and to set up some
interesting motivations.
&lt;/p&gt;

&lt;p&gt;
This is the sort of book that lives and dies by how much you like the
protagonist, something that you will easily figure out by the end of an
ebook sample if you&#39;re the sort of reader who uses those. Ada is
irreverent, talkative, and very adroit at diverting attention
(entertainingly) onto anything other than the critical piece of
information other people are missing. If you want to, I suspect you could
easily figure out most of what Ada is up to before the book reveals it
explicitly. It&#39;s not that complicated, and the book isn&#39;t really trying to
hide, although it doesn&#39;t give you all the necessary information in
advance. Personally, I was happy to sit back and enjoy the ride.
&lt;/p&gt;

&lt;p&gt;
There is no romance in this book beyond frequent comments from Ada that
she would have liked there to be a romance in this book under different
circumstances, but I will be surprised if that romance doesn&#39;t show up
later in the series. Ada and Rian are clearly being set up as a pair. I
didn&#39;t like Rian as much, mostly because he&#39;s less memorable as a
character, but he comes into his own in the appendices after the plot
proper.
&lt;/p&gt;

&lt;p&gt;
I thought those concluding appendices were the best part of the novella
and question the Kindle formatting decision to treat them like
supplemental material. They purport to be a series of government memos,
fill in a lot more of the backstory and world building, and have the best
footnotes. Don&#39;t skip them!
&lt;/p&gt;

&lt;p&gt;
This isn&#39;t the sort of book that I am inspired to immediately push into
everyone&#39;s hands, but it&#39;s a fast, well-paced story that delivered a few
reading sessions of entertainment. I&#39;m not sure the political philosophy
in the background makes a lot of sense, but at least not a standard
stereotype of current politics seen in so much science fiction. It&#39;s going
to set up some interesting character conflict in later books. I&#39;m
certainly intrigued enough to keep reading.
&lt;/p&gt;

&lt;p&gt;
Recommended when you&#39;re in the mood for some fast-paced fun that&#39;s short
and undemanding.
&lt;/p&gt;

&lt;p&gt;
Followed by &lt;cite&gt;How to Steal a Galaxy&lt;/cite&gt;.
&lt;/p&gt;

&lt;p&gt;Rating: 7 out of 10&lt;/p&gt;</content>
	<author>
	  <name>Russ Allbery</name>
	   <uri>https://www.eyrie.org/~eagle/</uri> 
	</author>
	<source>
	  <title type="html">Eagle&#39;s Path</title>
	  <subtitle type="html">&quot;Passion and dispassion.  Choose two.&quot; -- Larry Wall</subtitle>
	  <link rel="self" href="https://www.eyrie.org/~eagle/journal/index.rss"/>
	  <id>https://www.eyrie.org/~eagle/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Inquest, a test result repository in Rust</title>
	<link href="https://www.jelmer.uk/inquest-intro.html"/>
	<id>tag:www.jelmer.uk,2026-05-03:inquest-intro.html</id>
	<updated>2026-05-03T10:00:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;div class=&quot;section&quot; id=&quot;testrepository&quot;&gt;
&lt;h2&gt;testrepository&lt;/h2&gt;
&lt;p&gt;For a long time I’ve used Robert Collins’ &lt;a class=&quot;reference external&quot; href=&quot;https://github.com/testing-cabal/testrepository&quot;&gt;testrepository&lt;/a&gt; (&lt;tt class=&quot;docutils literal&quot;&gt;testr&lt;/tt&gt;) to
run tests in many of the projects I work on. It’s a small, focused tool
built around a simple idea: decouple the &lt;em&gt;running&lt;/em&gt; of tests from the
&lt;em&gt;recording&lt;/em&gt; and &lt;em&gt;querying&lt;/em&gt; of their results.&lt;/p&gt;
&lt;p&gt;The way it works is straightforward. A test runner emits a &lt;a class=&quot;reference external&quot; href=&quot;https://github.com/testing-cabal/subunit&quot;&gt;subunit&lt;/a&gt;
stream — a compact binary protocol for test results — and testrepository
stores those streams in a per-project &lt;tt class=&quot;docutils literal&quot;&gt;.testrepository/&lt;/tt&gt; directory.
Once results are in the repository, you can ask questions like “which
tests failed in the last run?”, “re-run only the failures”, “what are the
slowest tests?”, or “what changed between this run and the previous one?”.&lt;/p&gt;
&lt;p&gt;The killer feature, for me, has always been the failing-test loop. When a
big test suite breaks, you don’t want to re-run the whole thing after every
fix — you want to iterate on just the failures, and only re-run the full
suite once they’re all green. testrepository made that workflow ergonomic
long before most language-specific test runners had anything comparable,
and many of them still don’t have a good answer for it.&lt;/p&gt;
&lt;p&gt;testrepository has served me well for over a decade, but it has been
largely unmaintained for a while, and I had some ideas of improvements that I
wanted to try out. So I wrote a Rust port, which has since grown a number of
features of its own.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;inquest&quot;&gt;
&lt;h2&gt;Inquest&lt;/h2&gt;
&lt;p&gt;&lt;a class=&quot;reference external&quot; href=&quot;https://github.com/jelmer/inquest&quot;&gt;Inquest&lt;/a&gt; is a Rust port of testrepository that has since grown a
number of features of its own. The binary is called &lt;tt class=&quot;docutils literal&quot;&gt;inq&lt;/tt&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;goals&quot;&gt;
&lt;h2&gt;Goals&lt;/h2&gt;
&lt;p&gt;The goals are deliberately modest:&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;a single static binary, no Python runtime required&lt;/li&gt;
&lt;li&gt;no need to write a dedicated config file for most projects&lt;/li&gt;
&lt;li&gt;compatible enough with testrepository’s workflow that I can switch projects
over without retraining my fingers&lt;/li&gt;
&lt;li&gt;a richer on-disk format that captures more about each run (git commit,
command line, duration, exit code, concurrency)&lt;/li&gt;
&lt;li&gt;good support for the languages I actually use day-to-day: Rust, Python,
Go, and Node.js&lt;/li&gt;
&lt;li&gt;mostly Do What I Mean (&lt;span class=&quot;caps&quot;&gt;DWIM&lt;/span&gt;), e.g. getting me to know as quickly
as possible what tests are failing and why, and being clever
about doing this&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Inquest reads and writes &lt;a class=&quot;reference external&quot; href=&quot;https://github.com/testing-cabal/subunit&quot;&gt;subunit&lt;/a&gt; v2 streams, so anything that can produce
subunit (directly or via one of the many converters) can feed into it.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;quick-start&quot;&gt;
&lt;h2&gt;Quick start&lt;/h2&gt;
&lt;p&gt;Inquest can usually figure out how to run your tests on its own. In a Rust,
Python, Go or Node.js project:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt; $ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cd&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;my-project
&lt;span class=&quot;gp&quot;&gt; $ &lt;/span&gt;inq
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Or if the auto-detection doesn’t work, you can ask it to generate a config file and
then run the tests:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt; $ &lt;/span&gt;inq&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;auto
&lt;span class=&quot;gp&quot;&gt; $ &lt;/span&gt;inq&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;run
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;tt class=&quot;docutils literal&quot;&gt;inq auto&lt;/tt&gt; writes an &lt;tt class=&quot;docutils literal&quot;&gt;inquest.toml&lt;/tt&gt; describing how to invoke the test
runner; &lt;tt class=&quot;docutils literal&quot;&gt;inq run&lt;/tt&gt; runs the tests, captures the subunit stream, and stores
the results in a &lt;tt class=&quot;docutils literal&quot;&gt;.inquest/&lt;/tt&gt; directory.&lt;/p&gt;
&lt;p&gt;For a Rust project the generated config looks like:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;test_command&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;cargo subunit $IDOPTION&quot;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;test_id_option&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;--test $IDFILE&quot;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;test_list_option&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;--list&quot;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;After the first run, the usual queries work:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt; $ &lt;/span&gt;inq&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;stats&lt;span class=&quot;w&quot;&gt;             &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# repository-wide statistics&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt; $ &lt;/span&gt;inq&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;last&lt;span class=&quot;w&quot;&gt;              &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# results of the most recent run&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt; $ &lt;/span&gt;inq&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;failing&lt;span class=&quot;w&quot;&gt;           &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# only the failing tests&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt; $ &lt;/span&gt;inq&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;slowest&lt;span class=&quot;w&quot;&gt;           &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# the slowest tests in the last run&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt; $ &lt;/span&gt;inq&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;run&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;--failing&lt;span class=&quot;w&quot;&gt;     &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# re-run only what failed last time&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The last one is the workflow I use most often: run the full suite once, fix
the obvious failures, then iterate on &lt;tt class=&quot;docutils literal&quot;&gt;inq run &lt;span class=&quot;pre&quot;&gt;--failing&lt;/span&gt;&lt;/tt&gt; until the list
is empty.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;a-few-things-that-aren-t-in-testrepository&quot;&gt;
&lt;h2&gt;A few things that aren’t in testrepository&lt;/h2&gt;
&lt;p&gt;Some of the features that have grown in inquest beyond the original
testrepository functionality:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;&lt;strong&gt;Timeouts.&lt;/strong&gt; &lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;--test-timeout&lt;/span&gt;&lt;/tt&gt;, &lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;--max-duration&lt;/span&gt;&lt;/tt&gt;, and
&lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;--no-output-timeout&lt;/span&gt;&lt;/tt&gt; will kill a test process that is hanging or has
stopped producing output. &lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;--test-timeout&lt;/span&gt; auto&lt;/tt&gt; derives a per-test
timeout from the historical duration of that test, which is handy for
catching tests that hang.&lt;/p&gt;
&lt;p&gt;Once the test runner is killed, the test is marked as failed and the next
test is started, so a broken test doesn’t hold up the whole suite.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;&lt;strong&gt;Ordering&lt;/strong&gt; &lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;--order&lt;/span&gt;&lt;/tt&gt; can be used to run tests in a specific order, e.g.
to run the slowest tests first, to run the tests that failed most recently
first, or to run the widest variety of tests first to maximize the chance of
finding a failure early on.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;&lt;strong&gt;Live progress.&lt;/strong&gt; &lt;tt class=&quot;docutils literal&quot;&gt;inq running&lt;/tt&gt; tails the in-progress subunit stream
on disk and reports observed/expected test counts, percent complete,
elapsed wall-clock time, and an &lt;span class=&quot;caps&quot;&gt;ETA&lt;/span&gt; derived from each test’s historical
duration. Useful when a &lt;span class=&quot;caps&quot;&gt;CI&lt;/span&gt; run is taking longer than you’d like.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;&lt;strong&gt;Flakiness ranking.&lt;/strong&gt; &lt;tt class=&quot;docutils literal&quot;&gt;inq flaky&lt;/tt&gt; ranks tests by pass↔fail transitions
in consecutive runs in which the test was recorded, so chronically broken
tests rank low and genuinely flapping tests rank high.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;&lt;strong&gt;Comparing runs.&lt;/strong&gt; &lt;tt class=&quot;docutils literal&quot;&gt;inq diff &amp;lt;A&amp;gt; &amp;lt;B&amp;gt;&lt;/tt&gt; shows what changed between two
test runs — newly failing, newly passing, and tests that flipped state —
which makes it easy to see whether your last change actually fixed (or
broke) anything.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;&lt;strong&gt;Bisecting git history.&lt;/strong&gt; &lt;tt class=&quot;docutils literal&quot;&gt;inq bisect &amp;lt;&lt;span class=&quot;caps&quot;&gt;TEST&lt;/span&gt;&amp;gt;&lt;/tt&gt; drives &lt;tt class=&quot;docutils literal&quot;&gt;git bisect&lt;/tt&gt;
to find the commit that broke a given test. It defaults the
known-good and known-bad commits from the recorded run history (the
most recent run where the test passed, and the most recent where it
failed), so in the common case there is no need to remember either —
just point it at the test name and let it work.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;&lt;strong&gt;Richer run metadata.&lt;/strong&gt; &lt;tt class=&quot;docutils literal&quot;&gt;inq info&lt;/tt&gt; shows the git commit, command
line, duration, exit code, and concurrency for a run, with a flag for
whether the working tree was dirty when the run started. Combined with
&lt;tt class=&quot;docutils literal&quot;&gt;inq diff&lt;/tt&gt; this makes it much easier to triangulate when a regression
was introduced.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;&lt;strong&gt;Rerun a previous run verbatim.&lt;/strong&gt; &lt;tt class=&quot;docutils literal&quot;&gt;inq rerun &amp;lt;&lt;span class=&quot;caps&quot;&gt;ID&lt;/span&gt;&amp;gt;&lt;/tt&gt; re-runs exactly the
tests of a previous run, in the same order, forwarding the same &lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;--&lt;/span&gt;&lt;/tt&gt;
arguments that the original run used. &lt;tt class=&quot;docutils literal&quot;&gt;inq rerun &lt;span class=&quot;pre&quot;&gt;-1&lt;/span&gt;&lt;/tt&gt; repeats the latest.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;&lt;strong&gt;Web based view.&lt;/strong&gt; &lt;tt class=&quot;docutils literal&quot;&gt;inq web&lt;/tt&gt; serves a web-based view of the repository,
with a dashboard of recent runs and detailed views of individual runs and tests.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;web-ui&quot;&gt;
&lt;h2&gt;Web &lt;span class=&quot;caps&quot;&gt;UI&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Most of the time I drive inquest from the command line, but for browsing
historical results of a large suite — spotting flapping tests, drilling
into a single test’s run history, or just getting a visual sense of which
parts of the suite are hurting — a web view is more pleasant. &lt;tt class=&quot;docutils literal&quot;&gt;inq web&lt;/tt&gt;
starts a local server with exactly that:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt; $ &lt;/span&gt;inq&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;web
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The repository overview shows totals and a per-test history grid where
each cell is one run, coloured by outcome. Bands of red make it easy to
pick out tests that have been broken for a long time, and isolated red
cells in an otherwise green column point at flaky tests.&lt;/p&gt;
&lt;img alt=&quot;Inquest web UI repository overview, with a grid of per-run results&quot; src=&quot;https://www.jelmer.uk/images/inq-web1.png&quot; /&gt;
&lt;p&gt;Drilling into an individual test gives you its full run history, a
duration sparkline, and per-run pass/fail status:&lt;/p&gt;
&lt;img alt=&quot;Inquest web UI per-test view with run history and duration sparkline&quot; src=&quot;https://www.jelmer.uk/images/inq-web2.png&quot; /&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;migrating-from-testrepository&quot;&gt;
&lt;h2&gt;Migrating from testrepository&lt;/h2&gt;
&lt;p&gt;If you already have a &lt;tt class=&quot;docutils literal&quot;&gt;.testrepository/&lt;/tt&gt; directory full of historical
runs, &lt;tt class=&quot;docutils literal&quot;&gt;inq upgrade&lt;/tt&gt; will migrate it into the new &lt;tt class=&quot;docutils literal&quot;&gt;.inquest/&lt;/tt&gt; format,
with a progress bar for the impatient.&lt;/p&gt;
&lt;p&gt;The legacy &lt;tt class=&quot;docutils literal&quot;&gt;.testr.conf&lt;/tt&gt; (&lt;span class=&quot;caps&quot;&gt;INI&lt;/span&gt;) format is still understood, so existing
projects don’t have to be converted to &lt;tt class=&quot;docutils literal&quot;&gt;inquest.toml&lt;/tt&gt; immediately —
though the &lt;span class=&quot;caps&quot;&gt;TOML&lt;/span&gt; format is preferred for new projects.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;trying-it&quot;&gt;
&lt;h2&gt;Trying it&lt;/h2&gt;
&lt;p&gt;The source is on GitHub at &lt;a class=&quot;reference external&quot; href=&quot;https://github.com/jelmer/inquest&quot;&gt;jelmer/inquest&lt;/a&gt;. To install from source:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt; $ &lt;/span&gt;cargo&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;install&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;inquest
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;In a project with a Rust, Python, Go or Node.js test suite:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt; $ &lt;/span&gt;inq
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Bug reports and patches are welcome.&lt;/p&gt;
&lt;/div&gt;</content>
	<author>
	  <name>Jelmer Vernooĳ</name>
	   <uri>https://www.jelmer.uk/</uri> 
	</author>
	<source>
	  <title type="html">Jelmer Vernooĳ</title>
	  
	  <link rel="self" href="https://www.jelmer.uk/feeds/all.atom.xml"/>
	  <id>https://www.jelmer.uk/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-us">Status update, February - April 2026</title>
	<link href="https://bisco.org/notes/status-update-february-april-2026/"/>
	<id>https://bisco.org/notes/status-update-february-april-2026/</id>
	<updated>2026-05-03T05:28:51+00:00</updated>
	<summary type="html" xml:lang="en-us"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;Due to health reasons I did not have the energy to write individual status
updates for February &amp;amp; March, so I’ll just combine them with the April update:&lt;/p&gt;
&lt;p&gt;In February I cleaned out my GitHub account and moved all remaining
projects to &lt;a href=&quot;https://codeberg.org/birger/&quot;&gt;Codeberg&lt;/a&gt;. I archived the
repositories on GitHub and added links to the new repositories on Codeberg.
GitHub is a platform that is more and more frustrating to use. I still have to
use it for my dayjob, though. The number of pull requests and issues that are
written either by bots or by users that use bots increased in the last two
years. Combined with that, GitHub provides a very low barrier for entitled
users who do not want to contribute to a productive environment. GitHub now
feels like the Twitter/X of git forges. Codeberg on the other hand is a
community project. I feel a lot more at home there and the platform itself
feels a lot more responsive than GitHub.&lt;/p&gt;
&lt;h1 id=&quot;debian-related-work&quot;&gt;Debian Related Work&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Uploaded wayback 0.3-1 to experimental&lt;/li&gt;
&lt;li&gt;Uploaded slurp 1.6.0-1 to unstable&lt;/li&gt;
&lt;li&gt;Uploaded first a prerelease of sway to experimental to be able to test
wlroots 0.20.0 and then uploaded rc1, rc2 and rc3 of the upcoming 1.12
release&lt;/li&gt;
&lt;li&gt;Uploaded waybar 0.15.0-1 to unstable&lt;/li&gt;
&lt;li&gt;Uploaded kanshi 1.9.0-1 to unstable, which was possible because the dependency libscfg finally went through NEW&lt;/li&gt;
&lt;li&gt;Uploaded libscfg 0.2.0-1 to unstable&lt;/li&gt;
&lt;li&gt;Uploaded swaybg 1.2.2-1 to unstable&lt;/li&gt;
&lt;li&gt;Uploaded labwc 0.9.4-1, 0.9.5 &amp;amp; 0.9.6 to unstable&lt;/li&gt;
&lt;li&gt;Fixed the packaging of vali and uploaded version 0.1.1-1 to unstable; then
added vali to the build dependencies of kanshi and reuploaded 1.9.0-2 thereof&lt;/li&gt;
&lt;li&gt;Uploaded swaylock 1.8.5-1 to unstable&lt;/li&gt;
&lt;li&gt;Uploaded fcft 3.3.3-1 to unstable&lt;/li&gt;
&lt;li&gt;Uploaded foot 1.26.1-1 to unstable&lt;/li&gt;
&lt;li&gt;Uploaded swayimg 5.0-1 and 5.1-1 to unstable&lt;/li&gt;
&lt;li&gt;Fixed some packaging metadata in libsfdo and uploaded 0.1.4-2 to unstable&lt;/li&gt;
&lt;li&gt;Reverted the upload of slurp from 1.6.0-1 to 1.6.0really1.5.0-1 because the
upstream release of 1.6.0 was made by mistake and yanked a week later. Maybe
I should add a cooldown period before uploading new releases ;)&lt;/li&gt;
&lt;li&gt;Uploaded mako-notifier 1.11.0-1 to unstable&lt;/li&gt;
&lt;li&gt;Uploaded cage 0.3.0-1 to experimental which uses wlroots 0.20.0&lt;/li&gt;
&lt;li&gt;Uploaded xdg-desktop-portal-wlr 0.8.2-1 to unstable&lt;/li&gt;
&lt;li&gt;Voted&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&quot;dh-related-work&quot;&gt;DH Related Work&lt;/h1&gt;
&lt;p&gt;I took part in the &lt;a href=&quot;https://dhd2026.digitalhumanities.de&quot;&gt;DHD 2026 Conference&lt;/a&gt;
in Vienna, including a &lt;a href=&quot;https://www.dhinfra.at/2026-02-23-dhd-workshop-ocr-postcorrection/&quot;&gt;hands-on
workshop&lt;/a&gt;
of the dhinfra project.&lt;/p&gt;
&lt;p&gt;I released 0.60.0, 0.61.0 and 0.62.0 of apis-core-rdf. We rewrote the
configuration format for the importer. We previously used TOML files, but that
does not give us inheritance. So we now use simply Python classes as
configuration format.&lt;/p&gt;
&lt;p&gt;I implemented a new backend for our apis-bibsonomy Django package. The package
is meant to provide a datamodel for storing reference data that links to
Bibsonomy or Zotero. Given that we don’t use Bibsonomy anymore we now dropped
the Bibsonomy backend but added a Zotero backend that allows to cache the
entries locally.&lt;/p&gt;</content>
	<author>
	  <name>Birger Schacht</name>
	   <uri>https://bisco.org/tags/debian/</uri> 
	</author>
	<source>
	  <title type="html">debian on bisco.org</title>
	  <subtitle type="html">Recent content in debian on bisco.org</subtitle>
	  <link rel="self" href="https://bisco.org/tags/debian/index.xml"/>
	  <id>https://bisco.org/tags/debian/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Debian welcomes the 2026 GSoC interns</title>
	<link href="https://bits.debian.org/2026/05/welcome-gsoc2026-contributors.html"/>
	<id>tag:bits.debian.org,2026-05-02:/2026/05/welcome-gsoc2026-contributors.html</id>
	<updated>2026-05-02T10:04:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;&lt;img alt=&quot;GSoC logo&quot; src=&quot;https://bits.debian.org/images/gsoc.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We are very excited to announce that Debian has been assigned seven contributors
to work under mentorship on a variety of
&lt;a href=&quot;https://wiki.debian.org/SummerOfCode2026/Projects&quot;&gt;projects&lt;/a&gt; with us during the
&lt;a href=&quot;https://summerofcode.withgoogle.com/&quot;&gt;Google Summer of Code&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here is a list of the projects and contributors, along with details of the
tasks to be performed.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Project: &lt;a href=&quot;https://wiki.debian.org/SummerOfCode2026/ApprovedProjects/DebianizeProduction&quot;&gt;Automated Debian Packaging with debianize&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Contributor: Anurag Nayak&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Deliverables of the project: Debianize is a tool that aims to automatically
create debian packages from scratch from upstream source trees. As for the
current version, it works for some of the packages but it is not reliable. This
project aims at making it production ready such that it can work with most of
the projects. Along with that improving its reliability, coverage, integration
with the broader ecosystem and other enhancements.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Project: &lt;a href=&quot;https://wiki.debian.org/SummerOfCode2026/ApprovedProjects/LinuxLivePatching&quot;&gt;Linux Livepatching&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Contributor: Aryan Karamtoth&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Deliverables of the project: Linux Kernel Livepatching is the process of
replacing functions in the kernel code affected by CVEs with the patch-applied
functions during system runtime. It&#39;s basically a method to apply security
kernel patches to a running system.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Project: &lt;a href=&quot;https://wiki.debian.org/SummerOfCode2026/ApprovedProjects/DebNet%3A%20Visualising%20the%20Bus%20Factor%20%E2%80%93%20Graph%20Analysis%20of%20Debian%27s%20Infrastructure&quot;&gt;DebNet: Visualising the Bus Factor â€“ Graph Analysis of Debian&#39;s Infrastructure&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Contributor: Fabio Ruhland&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Deliverables of the project: DebNet models the Debian archive as a graph to
identify critical packages maintained by too few people. Using data from the
Ultimate Debian Database (UDD), it builds a package dependency graph and a
maintainer-package graph to compute practical metrics like the Bus Factor,
Fragility Score, and Dependency Impact for every source package.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Project: &lt;a href=&quot;https://wiki.debian.org/SummerOfCode2026/ApprovedProjects/AttackOfTheClonesFightBack&quot;&gt;Attack of the Clones: Fight Back Using Code Duplication Detection From Security Patches&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Contributor: Gajendra Nath Soren&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Deliverables of the project: This project aims to detect vulnerable code clones
in the Debian archive by automatically extracting signatures from security
patches. Using a two-signal approach that separates vulnerable patterns from
fix patterns, the system generates high-specificity queries to search the entire
archive via Debian CodeSearch.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Project: &lt;a href=&quot;https://wiki.debian.org/SummerOfCode2026/ApprovedProjects/DebusineDebuginfodServer&quot;&gt;Debusine: debuginfod server&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Contributor: Jugal59&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Deliverables of the project: This project implements a debuginfod-compatible
server within Debusine to provide automated debug symbol resolution for Debian
developers.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Project: &lt;a href=&quot;https://wiki.debian.org/SummerOfCode2026/ApprovedProjects/DebianLSPBasics&quot;&gt;Debian-LSP: Improve File Format Support&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Contributor: Lucas Ly Ba&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Deliverables of the project: The Debian LSP Language Server currently provides
only basic features—field completion, parse-error diagnostics, and simple
quick fixes—leaving Debian maintainers without the rich IDE experience
available in other ecosystems.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Project: &lt;a href=&quot;https://wiki.debian.org/SummerOfCode2026/ApprovedProjects/DebusineLiveLogStreaming&quot;&gt;Debusine: live log streaming&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Contributor: mo-ashraf&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Deliverables of the project: Debusine currently only shows task logs after a
task has fully completed. This means developers working with long-running jobs
(such as package builds or test pipelines) have no way to monitor progress in
real time or catch failures early. This project adds live log streaming to
Debusine.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Congratulations and welcome to all the contributors!&lt;/p&gt;
&lt;p&gt;The Google Summer of Code program is possible in Debian thanks to the efforts of
Debian Developers and Debian Contributors that dedicate part of their free time
to mentor contributors and outreach tasks.&lt;/p&gt;
&lt;p&gt;Join us and help extend Debian! You can follow the contributors&#39; weekly reports
on the &lt;a href=&quot;http://lists.debian.org/debian-outreach/&quot; title=&quot;debian-outreach AT lists.debian.org&quot;&gt;debian-outreach mailing-list&lt;/a&gt;, chat with us on our
&lt;a href=&quot;irc://irc.debian.org/debian-outreach&quot; title=&quot;#debian-outreach on irc.debian.org&quot;&gt;IRC channel&lt;/a&gt; or reach out to the individual projects&#39; team
mailing lists.&lt;/p&gt;</content>
	<author>
	  <name>Abhijith PA</name>
	   <uri>https://bits.debian.org/</uri> 
	</author>
	<source>
	  <title type="html">Bits from Debian</title>
	  <subtitle type="html">Blog from the Debian Project</subtitle>
	  <link rel="self" href="https://bits.debian.org/feeds/feed.rss"/>
	  <id>https://bits.debian.org/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">FOSS activity in April 2026</title>
	<link href="https://www.decadent.org.uk/ben/blog/2026/05/02/foss-activity-in-april-2026.html"/>
	<id>https://www.decadent.org.uk/ben/blog/2026/05/02/foss-activity-in-april-2026</id>
	<updated>2026-05-02T09:08:55+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;ul&gt;
  &lt;li&gt;Debian packages:
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/firmware-nonfree&quot;&gt;firmware-nonfree&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/src:firmware-nonfree&quot;&gt;Bugs&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;replied to &lt;a href=&quot;https://bugs.debian.org/1132448&quot;&gt;#1132448: firmware-mediatek: Wifi perf degraded a lot after upgrade firmware-mediatek from 20250410-2 to 20260221-1~bpo13+1 and 20260309-1&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;Merge requests:
            &lt;ul&gt;
              &lt;li&gt;merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/firmware-nonfree/-/merge_requests/142&quot;&gt;!142: Replace copy-firmware.sh; install files and generate metainfo.xml at build time&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened and merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/firmware-nonfree/-/merge_requests/143&quot;&gt;!143: Clean up configuration format and directory&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened and merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/firmware-nonfree/-/merge_requests/144&quot;&gt;!144: Remove usr-move mitigation, only needed for the trixie upgrade&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened and merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/firmware-nonfree/-/merge_requests/145&quot;&gt;!145: Update to 20260410&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/firmware-nonfree/news/&quot;&gt;Uploads&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;uploaded version 20260309-1~bpo13+1 to trixie-backports&lt;/li&gt;
              &lt;li&gt;uploaded version 20260410-1 to unstable&lt;/li&gt;
              &lt;li&gt;uploaded version 20260410-1~bpo13+1 to trixie-backports&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/initramfs-tools&quot;&gt;initramfs-tools&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/src:initramfs-tools&quot;&gt;Bugs&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;replied to &lt;a href=&quot;https://bugs.debian.org/1135141&quot;&gt;#1135141: please be more careful with available disk space on /boot&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;Merge requests:
            &lt;ul&gt;
              &lt;li&gt;merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/initramfs-tools/-/merge_requests/192&quot;&gt;!192: [Backport to Trixie] hook-functions: Add Cadence USB driver to base&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/initramfs-tools/-/merge_requests/194&quot;&gt;!194: d/t/qemu-net-iscsi: determinate boot by LABEL&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/initramfs-tools/news/&quot;&gt;Uploads&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;uploaded version 0.151 to unstable&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/kernel-handbook&quot;&gt;kernel-handbook&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;Merge requests:
            &lt;ul&gt;
              &lt;li&gt;opened and merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/kernel-handbook/-/merge_requests/11&quot;&gt;!11: Update documentation for rebuilding official kernel packages&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened &lt;a href=&quot;https://salsa.debian.org/kernel-team/kernel-handbook/-/merge_requests/12&quot;&gt;!12: Update description of ABI name and delete section about ABI maintenance&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened &lt;a href=&quot;https://salsa.debian.org/kernel-team/kernel-handbook/-/merge_requests/13&quot;&gt;!13: Update list of packages&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/ktls-utils&quot;&gt;ktls-utils&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;Merge requests:
            &lt;ul&gt;
              &lt;li&gt;opened and merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/ktls-utils/-/merge_requests/4&quot;&gt;!4: Revert “configure: Disable use of GnuTLS API not yet accepted upstream”&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened &lt;a href=&quot;https://salsa.debian.org/kernel-team/ktls-utils/-/merge_requests/5&quot;&gt;!5: Draft: Update to 1.4.0-rc1&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/linux&quot;&gt;linux&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/src:linux&quot;&gt;Bugs&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1113728&quot;&gt;#1113728: linux: new ABI versioning prevents linux-version and other tools from correctly sorting Debian revisions&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1113996&quot;&gt;#1113996: linux-image-amd64: self-tests for sha256 using sha256-padlock-nano failed&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1122357&quot;&gt;#1122357: linux: Please update udeb packages to use non-aliased paths&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1127612&quot;&gt;#1127612: linux-image-6.12.69+deb13-amd64: hp_bioscfg mm/page_alloc.c:4802 warning&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;replied to &lt;a href=&quot;https://bugs.debian.org/1130926&quot;&gt;#1130926: systemd powering hard disks down before reboot&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1130971&quot;&gt;#1130971: linux-image-6.19.8+deb14-amd64: fails to boot unless IOMMU is turned off&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1131166&quot;&gt;#1131166: enable uniwill platform driver&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1131431&quot;&gt;#1131431: linux: loong64 KVM warnings (memcpy + UBSAN out-of-bounds)&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1131546&quot;&gt;#1131546: linux: debian/b/test-patches does not produce easy to test (unsigned) image package&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1132155&quot;&gt;#1132155: linux: Missing kernel module udebs in some architectures&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1132201&quot;&gt;#1132201: linux: Please enable CONFIG_VIDEO_OV02E10 to support ipu6 camera on Dell Precision 5690&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1132622&quot;&gt;#1132622: CVE-2026-23417: fix BPF PROBE_MEM32 constant blinding&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1132796&quot;&gt;#1132796: linux-kbuild is missing scripts/gen-btf.sh&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1132814&quot;&gt;#1132814: linux-source-6.19: please enable CONFIG_VIDEO_INTEL_IPU7&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;replied to &lt;a href=&quot;https://bugs.debian.org/1132816&quot;&gt;#1132816: linux-image-rt-amd64: missing ip_tables.ko in linux-image-rt-amd64&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;Merge requests:
            &lt;ul&gt;
              &lt;li&gt;merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1864&quot;&gt;!1864: [amd64] drivers/media/i2c: Enable VIDEO_OV02E10 as module&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1869&quot;&gt;!1869: Cleanup for kernel-wedge&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1870&quot;&gt;!1870: kernel-wedge, udeb: Define which packages to build  through package-list&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1871&quot;&gt;!1871: Update udeb package definitions&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;reviewed &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1872&quot;&gt;!1872: Install bug files via debhelper&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1877&quot;&gt;!1877: [amd64] drivers/staging/media/ipu7: Enable VIDEO_INTEL_IPU7 as module&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1880&quot;&gt;!1880: Fix FTBFS on several architectures&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;reviewed &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1885&quot;&gt;!1885: bug script: Extend several parts&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened and merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1891&quot;&gt;!1891: linux-image: Add retrospective NEWS entry for the removal of XFS V4 support&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1897&quot;&gt;!1897: Add selection of bugfixes for 6.1.y on top of 6.1.170&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/linux/news/&quot;&gt;Uploads&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;(LTS) uploaded version 5.10.251-3 to bullseye-security&lt;/li&gt;
              &lt;li&gt;uploaded version 6.12.85-1~bpo12+1 to bookworm-backports&lt;/li&gt;
              &lt;li&gt;uploaded version 6.19.10-1~bpo13+1 to trixie-backports&lt;/li&gt;
              &lt;li&gt;uploaded version 6.19.11-1~bpo13+1 to trixie-backports&lt;/li&gt;
              &lt;li&gt;uploaded version 6.19.13-1~bpo13+1 to trixie-backports&lt;/li&gt;
              &lt;li&gt;uploaded version 7.0-1~exp1 to experimental&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;(LTS) updated the bullseye-security branch to 5.10.253, but did
not upload this version&lt;/li&gt;
          &lt;li&gt;(LTS) worked on regression fixes for 5.10/5.15/6.1 upstream
stable branches&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;(LTS) &lt;a href=&quot;https://tracker.debian.org/pkg/linux-6.1&quot;&gt;linux-6.1&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/linux-6.1/news/&quot;&gt;Uploads&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;uploaded version 6.1.170-1~deb11u1 to bullseye-security&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/linux-base&quot;&gt;linux-base&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/src:linux-base&quot;&gt;Bugs&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1128562&quot;&gt;#1128562: /usr/bin/linux-check-removal: Use of uninitialized value $_[2] in join or string at /usr/share/perl5/Debconf/Client/ConfModule.pm line 122.&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;Merge requests:
            &lt;ul&gt;
              &lt;li&gt;merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux-base/-/merge_requests/20&quot;&gt;!20: Simplify install file&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/openntpd&quot;&gt;openntpd&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/src:openntpd&quot;&gt;Bugs&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/791335&quot;&gt;#791335: openntpd: should set the clock status (ADJ_STATUS) to have the RTC updated by the kernel&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Debian non-package bugs:
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/wnpp&quot;&gt;wnpp&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;replied to &lt;a href=&quot;https://bugs.debian.org/1134655&quot;&gt;#1134655: ITP: forge-git – library and CLI for working with git forges&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Mailing lists:
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://lists.debian.org/debian-kernel/&quot;&gt;debian-kernel&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;posted &lt;a href=&quot;https://lists.debian.org/ae4d72ef29213feb79c1bb511745d1b0796cfeb7.camel@decadent.org.uk&quot;&gt;Agenda items for kernel-team meeting on 2026-04-08&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;replied to &lt;a href=&quot;https://lists.debian.org/221bd6dea433f1dc3c4cf245b9551ba2043930a8.camel@decadent.org.uk&quot;&gt;generating linux-image-${VERSION}-amd64 locally&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://lore.kernel.org/initramfs/&quot;&gt;initramfs&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;posted &lt;a href=&quot;https://lore.kernel.org/initramfs/f3c3319e35eb0bad54b4b6789cfde94d38c9c38d.camel@decadent.org.uk/T/&quot;&gt;initramfs-tools 0.151 release&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://lore.kernel.org/stable/&quot;&gt;stable&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;(LTS) reviewed 5.10.253-rc1 and replied to 
&lt;a href=&quot;https://lore.kernel.org/stable/7c68cd425998a64761b95585f84d3a09b929a372.camel@decadent.org.uk/T/&quot;&gt;various&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/408661f69f263266b028713e1412ba36d457e63d.camel@decadent.org.uk/T/&quot;&gt;patches&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/5006a2a4e34e7fbbb89fc8969facc6b80c7d00de.camel@decadent.org.uk/T/&quot;&gt;included&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/9c5431bb22e2c1470f608a60f872c441c21550ff.camel@decadent.org.uk/T/&quot;&gt;in&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/3868fd19d247624c3fc394d4db227234af9f7ab5.camel@decadent.org.uk/T/&quot;&gt;it&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/9e1d8d13f872acab49ac25ccf6d18b3a2698d421.camel@decadent.org.uk/T/&quot;&gt;…&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/db073c5606570f9dc898275785583a7d32031294.camel@decadent.org.uk/T/&quot;&gt;…&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/dce92963d28f3419e014c428a0b243f4fe638109.camel@decadent.org.uk/T/&quot;&gt;…&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/e4bf9ba9ceba4f2e23483b4aa0ebcff8251c0b73.camel@decadent.org.uk/T/&quot;&gt;…&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/d5dde03f796af3efcdabcbadb604e8981268ae5c.camel@decadent.org.uk/T/&quot;&gt;…&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/d23195793d7f1cec4c8ea1b1a5e29fb6051211ef.camel@decadent.org.uk/T/&quot;&gt;…&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/d71f28ba9093b1cc66ebdea548a5698cb325d583.camel@decadent.org.uk/T/&quot;&gt;…&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/673ddf965a5af7b881e86cb2e22055d4fcbb2dfc.camel@decadent.org.uk/T/&quot;&gt;…&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/0d3747dc57d7bfa3c53efcf4d133021ead5bef9d.camel@decadent.org.uk/T/&quot;&gt;…&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/f7fa93cd2c1f040e9fcd44b395c286a9c7129095.camel@decadent.org.uk/T/&quot;&gt;…&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/65cd5a0b7c68af467b8b13b4fbce51cc2febb5ad.camel@decadent.org.uk/T/&quot;&gt;…&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/d4b85e905345dc69e9c660c7f51775703fa83320.camel@decadent.org.uk/T/&quot;&gt;…&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;replied to &lt;a href=&quot;https://lore.kernel.org/stable/20fe79e3624386fe646e703e7a178fde899886eb.camel@decadent.org.uk/T/&quot;&gt;[PATCH 5.10.y] x86/cpu: Enable FSGSBASE early in cpu_init_exception_handling()&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;</content>
	<author>
	  <name>Ben Hutchings</name>
	   <uri>https://www.decadent.org.uk/ben/blog/</uri> 
	</author>
	<source>
	  <title type="html">Better living through software</title>
	  <subtitle type="html">Ben Hutchings&#39;s diary of life and technology</subtitle>
	  <link rel="self" href="https://www.decadent.org.uk/ben/blog/index.atom"/>
	  <id>https://www.decadent.org.uk/ben/blog/index.atom</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">binb 0.0.8 on CRAN: Maintenance</title>
	<link href="http://dirk.eddelbuettel.com/blog/2026/05/01#binb_0.0.8"/>
	<id>http://dirk.eddelbuettel.com/blog/2026/05/01#binb_0.0.8</id>
	<updated>2026-05-01T13:34:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;The eight release of the &lt;a href=&quot;https://dirk.eddelbuettel.com/code/binb.html&quot;&gt;binb&lt;/a&gt; package,
and first in two years, is now on &lt;a href=&quot;https://cran.r-project.org&quot;&gt;CRAN&lt;/a&gt; and in &lt;a href=&quot;https://eddelbuettel.github.io/r2u&quot;&gt;r2u&lt;/a&gt;. &lt;a href=&quot;https://dirk.eddelbuettel.com/code/binb.html&quot;&gt;binb&lt;/a&gt; regroups
four rather nice themes for writing &lt;a href=&quot;https://www.overleaf.com/learn/latex/Beamer&quot;&gt;LaTeX Beamer&lt;/a&gt;
presentations much more easily in (R)&lt;a href=&quot;https://en.wikipedia.org/wiki/Markdown&quot;&gt;Markdown&lt;/a&gt;. As a teaser,
a quick demo combining all four themes &lt;a href=&quot;https://eddelbuettel.github.io/binb/binb_minimal.gif&quot;&gt;is
available&lt;/a&gt;; documentation and examples are in the package.&lt;/p&gt;
&lt;p&gt;This release contains regular internal updates to continuous
integration, URLs reference and switch to Authors@R. The trigger for the
release, though, was a small updated need when very recent
&lt;code&gt;pandoc&lt;/code&gt; versions (as shipped with RStudio) are used which
require a new variable declaration in the LaTeX template files in order
to process uncaptioned tables. The summary of changes follows.&lt;/p&gt;
&lt;blockquote&gt;
&lt;h4 id=&quot;changes-in-binb-version-0.0.8-2026-05-01&quot;&gt;Changes in binb
version 0.0.8 (2026-05-01)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Small updates to documentation URLs and continuous
integration&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The package now uses Authors@R in DESCRIPTION&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Newer pandoc versions are accommodated by adding a required
counter variable in the latex template file&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://dirk.eddelbuettel.com/cranberries/&quot;&gt;CRANberries&lt;/a&gt;
provides a summary of changes to the &lt;a href=&quot;https://dirk.eddelbuettel.com/cranberries/2026/05/01#binb_0.0.8&quot;&gt;previous
version&lt;/a&gt;. For questions or comments, please use the &lt;a href=&quot;https://github.com/eddelbuettel/binb/issues&quot;&gt;issue tracker&lt;/a&gt; at
the &lt;a href=&quot;https://github.com/eddelbuettel/binb&quot;&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;font-size: 80%; font-style: italic;&quot;&gt;
This post by &lt;a href=&quot;https://dirk.eddelbuettel.com&quot;&gt;Dirk
Eddelbuettel&lt;/a&gt; originated on his &lt;a href=&quot;https://dirk.eddelbuettel.com/blog/&quot;&gt;Thinking inside the box&lt;/a&gt;
blog. If you like this or other open-source work I do, you can &lt;a href=&quot;https://github.com/sponsors/eddelbuettel&quot;&gt;sponsor me at
GitHub&lt;/a&gt;. You can also sponsor my &lt;a href=&quot;https://dirk.eddelbuettel.com/blog/2026/04/03#sponsor_tour_de_shore_2026&quot;&gt;Tour
de Shore 2026 ride in support of the Maywood Fine Arts Center&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</content>
	<author>
	  <name>Dirk Eddelbuettel</name>
	   <uri>http://dirk.eddelbuettel.com/blog</uri> 
	</author>
	<source>
	  <title type="html">Thinking inside the box</title>
	  <subtitle type="html">Thinking inside the box</subtitle>
	  <link rel="self" href="http://dirk.eddelbuettel.com/blog/index.rss"/>
	  <id>http://dirk.eddelbuettel.com/blog</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">A rainy day starts May.</title>
	<link href="http://www.netfort.gr.jp/~dancer/diary/daily/2026-May-1.html.en#2026-May-1-11:31:09"/>
	<id>http://www.netfort.gr.jp/~dancer/diary/daily/2026-May-1.html.en#2026-May-1-11:31:09</id>
	<updated>2026-05-01T02:31:09+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">A rainy day starts May.
        &lt;p&gt;&lt;/p&gt;</content>
	<author>
	  <name>Junichi Uekawa</name>
	   <uri>http://www.netfort.gr.jp/~dancer/diary/202605.html.en</uri> 
	</author>
	<source>
	  <title type="html">Dancer&#39;s daily hackings</title>
	  <subtitle type="html">showing latest 10</subtitle>
	  <link rel="self" href="http://www.netfort.gr.jp/~dancer/diary/recententry-en.rdf"/>
	  <id>http://www.netfort.gr.jp/~dancer/diary/202605.html.en</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">Links April 2026</title>
	<link href="https://etbe.coker.com.au/2026/04/30/links-april-2026/"/>
	<id>https://etbe.coker.com.au/?p=6048</id>
	<updated>2026-04-30T13:09:37+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;p&gt;&lt;a href=&quot;https://www.antipope.org/charlie/blog-static/2026/02/more-in-sadness-than-in-anger.html&quot;&gt;Charles Stross wrote an interesting blog post about the apparent desire of super rich people to kill the poor, it seems that the people in power want to make all the conspiracy theories come true [1]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://grep.be/blog//en/computer/cluebat/On_Free_Software_Hardware_Firmware/&quot;&gt;Wouter wrote an insightful blog post about the need for free firmware [2]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://codon.org.uk/~mjg59/blog/p/to-update-blobs-or-not-to-update-blobs/&quot;&gt;Matthew Garrett wrote an interesting blog post about the potential security issues raised by non-free firmware and firmware updates [3]&lt;/a&gt;. Which goes well with Wouter’s post.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.reversinglabs.com/blog/fake-recruiter-campaign-crypto-devs&quot;&gt;Interesting article about fake job adverts with a code sample for the applicant to show their skils which depends on hostile libraries that install a RAT [4]&lt;/a&gt;. Do we need Qubes for software development nowadays?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.schneier.com/blog/archives/2026/02/why-tehrans-two-tiered-internet-is-so-dangerous.html&quot;&gt;Bruce Schneier wrote an insightful and informative article about the two-tiered Internet access scheme in Iran and how it is bad for society [5]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://calebhearth.com/dont-get-distracted&quot;&gt;Caleb Hearth gave an interesting talk Don’t Get Distracted about the often ignored unethical uses of software [6]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.techdirt.com/2025/07/17/fascism-for-first-time-founders/&quot;&gt;Techdirt has an insightful article from 2025 Fascism For First Time Founders about why it’s a bad idea for tech companies to support fascism, this aged very well [7]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://acoup.blog/2024/02/23/fireside-friday-february-23-2024-on-the-military-failures-of-fascism/&quot;&gt;Dr. Bret C. Devereaux wrote an informative blog post about why fascists always fail at war, and also authoritarians in general [8]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.schneier.com/blog/archives/2026/03/team-mirai-and-democracy.html&quot;&gt;Bruce Schneier and Nathan Sanders wrote an interesting blog post about the new Japanese political party Team Mirai, we need this sort of party in every country to save democracy [9]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://sams-blog.com/?p=5730&quot;&gt;Sam Varghese wrote an insightful article about the current situation in Israel and Iran and the poor performance of Australian journalists in covering the issues [10]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=ii-D9LaitUw&quot;&gt;Louis Rossman made a video about the Norwegian Consumer Council’s advertising campaign about Enshittification, he includes an excellent advert that the Norwegians produced [11]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://fosdem.org/2026/schedule/event/L3BK7S-free-as-in-burned-out/&quot;&gt;Marga Manterola gave a really good talk at Fosdem 2026 “Free as in Burned Out: Who Really Pays for Open Source?” [12]&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[1]&lt;a href=&quot;https://www.antipope.org/charlie/blog-static/2026/02/more-in-sadness-than-in-anger.html&quot;&gt; https://tinyurl.com/2xqrrxkf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[2]&lt;a href=&quot;https://grep.be/blog//en/computer/cluebat/On_Free_Software_Hardware_Firmware/&quot;&gt; https://tinyurl.com/yvahow2x&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[3]&lt;a href=&quot;https://codon.org.uk/~mjg59/blog/p/to-update-blobs-or-not-to-update-blobs/&quot;&gt; https://tinyurl.com/27m7qusr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[4]&lt;a href=&quot;https://www.reversinglabs.com/blog/fake-recruiter-campaign-crypto-devs&quot;&gt; https://tinyurl.com/2adpd7gf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[5]&lt;a href=&quot;https://www.schneier.com/blog/archives/2026/02/why-tehrans-two-tiered-internet-is-so-dangerous.html&quot;&gt; https://tinyurl.com/2bn627x2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[6]&lt;a href=&quot;https://calebhearth.com/dont-get-distracted&quot;&gt; https://calebhearth.com/dont-get-distracted&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[7]&lt;a href=&quot;https://www.techdirt.com/2025/07/17/fascism-for-first-time-founders/&quot;&gt; https://tinyurl.com/2b7m8pwa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[8]&lt;a href=&quot;https://acoup.blog/2024/02/23/fireside-friday-february-23-2024-on-the-military-failures-of-fascism/&quot;&gt; https://tinyurl.com/2c9m6v4v&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[9]&lt;a href=&quot;https://www.schneier.com/blog/archives/2026/03/team-mirai-and-democracy.html&quot;&gt; https://tinyurl.com/2ybcjpa5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[10]&lt;a href=&quot;https://sams-blog.com/?p=5730&quot;&gt; https://sams-blog.com/?p=5730&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[11]&lt;a href=&quot;https://www.youtube.com/watch?v=ii-D9LaitUw&quot;&gt; https://www.youtube.com/watch?v=ii-D9LaitUw&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[12]&lt;a href=&quot;https://fosdem.org/2026/schedule/event/L3BK7S-free-as-in-burned-out/&quot;&gt; https://tinyurl.com/26j5a8gj&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;yarpp yarpp-related yarpp-related-rss yarpp-template-list&quot;&gt;

&lt;p&gt;Related posts:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2026/02/17/links-february-2026/&quot; rel=&quot;bookmark&quot; title=&quot;Links February 2026&quot;&gt;Links February 2026&lt;/a&gt; &lt;small&gt;Charles Stross has a good theory of why “AI” is...&lt;/small&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2024/04/30/links-april-2024/&quot; rel=&quot;bookmark&quot; title=&quot;Links April 2024&quot;&gt;Links April 2024&lt;/a&gt; &lt;small&gt;Ron Garret wrote an insightful refutation to 2nd amendment arguments...&lt;/small&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2025/04/30/links-april-2025/&quot; rel=&quot;bookmark&quot; title=&quot;Links April 2025&quot;&gt;Links April 2025&lt;/a&gt; &lt;small&gt;Asianometry has an interesting YouTube video about elecrolytic capacitors degrading...&lt;/small&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content>
	<author>
	  <name>etbe</name>
	   <uri>https://etbe.coker.com.au</uri> 
	</author>
	<source>
	  <title type="html">etbe – Russell Coker</title>
	  <subtitle type="html">Linux, politics, and other interesting things</subtitle>
	  <link rel="self" href="https://etbe.coker.com.au/feed/"/>
	  <id>https://etbe.coker.com.au</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">(Trigger Warning) Jeremy Bicha &amp;amp; Debian-Edu, TecKids, Ubuntu incest scandal at DebConf25</title>
	<link href="https://danielpocock.com/en/jeremy-bicha-debian-edu-teckids-ubuntu-incest-scandal-debconf25/"/>
	<id>https://danielpocock.com/en/jeremy-bicha-debian-edu-teckids-ubuntu-incest-scandal-debconf25</id>
	<updated>2026-04-30T11:30:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;Trigger warning: this is a report about how
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; prefers abusers to those who consistently and
compassionately helped victims of abuse.&lt;/p&gt;

&lt;p&gt;Those who dare to look up the public court records about
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; have been shocked and in some cases unable to sleep
after reading how he exploited every bodily orifice of his little sisters
when they were six and nine years old.  Yet I feel a possibility that
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; himself is now being exploited to make us feel
shock and to soften us up for future revelations about unnamed oligarchs
in the open source eco-system.  There have been many falsified rumours
about abuse over the years,
&lt;a href=&quot;https://danielpocock.com/en/debian-falsified-harassment-claims-appelbaum-expulsion/&quot;&gt;
such as the conspiracy against Dr Jacob Appelbaum&lt;/a&gt;.  Whenever we get
to the point that the leader of some so-called community really is
put on trial for real abuse, the victims are unlikely to have suffered as
extensively as
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Bicha&#39;s&lt;/a&gt; little sisters.&lt;/p&gt;

&lt;p&gt;I didn&#39;t write and publish this report to start a lynching against
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; himself.  He has confessed his crimes which is much more
than can be said for other sex pests.  The real reason for the report is
to look at the decisions that organisations have made putting a
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; on a pedestal but in the case of commercial
rivals or people who made mistakes with pronouns, we are being censored
and harassed by the oligarchs for the most mundane mistakes.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/category/bbc/&quot;&gt;
The BBC&lt;/a&gt; is in fresh trouble over their pre-existing knowledge of a scandal
involving
&lt;a href=&quot;https://danielpocock.com/en/people/scott-mills-bbc/&quot;&gt;
Scott Mills&lt;/a&gt;.  It was a major story in the
&lt;a href=&quot;https://danielpocock.com/en/category/uk/&quot;&gt;
UK&lt;/a&gt; the week before Easter and then it disappeared.  I suspect that sooner
or later we will hear more details.&lt;/p&gt;

&lt;p&gt;Almost every day there is a fresh news report about
&lt;a href=&quot;https://danielpocock.com/en/people/jeffrey-epstein/&quot;&gt;
Jeffrey Epstein&lt;/a&gt;.  During the trial of
&lt;a href=&quot;https://danielpocock.com/en/people/ghislaine-maxwell/&quot;&gt;
Ghislaine Maxwell&lt;/a&gt;, she told us her partner,
&lt;a href=&quot;https://danielpocock.com/en/people/jeffrey-epstein/&quot;&gt;
Epstein&lt;/a&gt;, needed to
&lt;a href=&quot;https://www.cnn.com/2021/12/06/us/ghislaine-maxwell-trial&quot;&gt;
be with a woman at least three times per day&lt;/a&gt;.  People with children or
teenage daughters will feel very uncomfortable about having these men around.
Less than two percent of Debian Developers are female but at
&lt;a href=&quot;https://danielpocock.com/en/category/debconf/&quot;&gt;
DebConf&lt;/a&gt; almost one in three participants is in the
&lt;a href=&quot;https://danielpocock.com/en/category/zizian/&quot;&gt;
gay/transgender/Zizian set&lt;/a&gt;.  In the wider population it is only one in
ten people.&lt;/p&gt;

&lt;p&gt;These people don&#39;t have children.  They don&#39;t think about having children.
They don&#39;t spend a lot of time thinking about the risks.  Having a
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; present at the after-party may be on the
bucket list for some of these people.  They are willing to risk other people&#39;s
children and tarnish Debian&#39;s reputation so they can have something
unusual at the after-party.&lt;/p&gt;

&lt;p&gt;For people who do have children, they don&#39;t go to the
&lt;a href=&quot;https://danielpocock.com/en/category/debconf/&quot;&gt;
DebConf&lt;/a&gt; orgy groups but they do stay up all night reading through reports
like this to try and work out whether the risk is acceptable or not.&lt;/p&gt;

&lt;p&gt;The
&lt;a href=&quot;https://danielpocock.com/en/category/debian-suicide-cluster/&quot;&gt;
Debian Suicide Cluster&lt;/a&gt; correlates with a culture of
&lt;a href=&quot;https://danielpocock.com/en/category/violence/&quot;&gt;
violence&lt;/a&gt; and humiliations.  Coincidentally, rape and abuse are also about
violence and humiliation.  Adding a
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; to the group only reinforces those existing
Debian character traits when we need to be looking for the opposite,
people who serve to neutralise those cultural defects.&lt;/p&gt;

&lt;p&gt;News that a
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
Registered Sex Offender(TM)&lt;/a&gt; was invited to speak at
&lt;a href=&quot;https://danielpocock.com/en/category/debconf25/&quot;&gt;
DebConf25&lt;/a&gt; in
&lt;a href=&quot;https://danielpocock.com/en/category/france/&quot;&gt;
France&lt;/a&gt; is not a random accident.  Certain groups like
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; have been overcome by fringe diversity movements.  Over the years,
we&#39;ve seen the same people using their authority to humiliate fellow volunteers
in much the same way that paedophiles humiliate children.  Statistically,
we can be certain there are similar men in the same group.
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; was the thin end of the wedge.  By putting a known offender
on a pedestal and claiming they are helping him, they are clearing a path for
other more cunning characters to be given a platform.&lt;/p&gt;

&lt;p&gt;The people who control
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; mailing lists have a nasty habit of censoring any concerns about
the phenomena.  They believe everybody agrees with their worldview.  They
are living in a bubble.  Sooner or later, there will be a person or an
incident that is so bad that it is the end of Debian.  Society at large
simply doesn&#39;t accept some of the things these people do.&lt;/p&gt;

&lt;p&gt;Moreover, certain companies would like to see Debian fail.  They will
give enough money to the diversity budget to create a scandal and then
those companies will get out of the way as quickly as possible.&lt;/p&gt;

&lt;p&gt;The &lt;em&gt;Debian Social Contract&lt;/em&gt; tells us, in point three,
&lt;em&gt;We will not hide problems&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;In the case of the
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; invited to speak at
&lt;a href=&quot;https://danielpocock.com/en/category/debconf/25&quot;&gt;
DebConf25&lt;/a&gt; in
&lt;a href=&quot;https://danielpocock.com/en/category/france/&quot;&gt;
France&lt;/a&gt;, all discussion has been deliberately shut down.  Video
of the talk is not hosted with video of the other talks.  People are
scouring the
&lt;a href=&quot;https://wiki.debian.org/DebConf/25/Photos&quot;&gt;
official photo gallery&lt;/a&gt; to see if
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; was really there at all and who sat next to him.
&lt;/p&gt;

&lt;p&gt;This situation and the manner in which
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianists&lt;/a&gt; are hiding it reveals the real definiton of diversity and
the real use of diversity funds.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/phil-odonnell-catholic/&quot;&gt;
Phil O&#39;Donnell&lt;/a&gt; is a priest who quit and became a whistleblower.  In
&lt;a href=&quot;https://www.parliament.vic.gov.au/491744/globalassets/sections-shared/get-involved/historical-inquiries/betrayal-of-trust/submissions/part-1_phil-odonnell.pdf&quot;&gt;
his testimony to the state inquiry&lt;/a&gt;, he tells us:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
This resulted in â€œJackâ€� ringing me in an extremely distressed state. His
words on the phone were, â€œI think it would have been better to hear my
mother had diedâ€�. He was a relatively early victim of &lt;a href=&quot;https://danielpocock.com/en/people/kevin-odonnell-catholic/&quot;&gt;[Fr Kevin] Oâ€™Donnell&lt;/a&gt; and his
abuse was reported to the Cathedral in 1958. This allegation was
investigated at the time by both the then Vicar-General, Laurie Moran,
and the then Auxiliary Bishop of Melbourne, Arthur Fox. Nothing
eventuated from this investigation.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;A recent report from
&lt;a href=&quot;https://danielpocock.com/en/people/bryan-lunduke/&quot;&gt;
Lunduke&lt;/a&gt; has the title
&lt;a href=&quot;https://lunduke.substack.com/p/fedoras-code-of-conduct-200-day-response&quot;&gt;
Fedora&#39;s Code of Conduct: 200 Day Response Time, Only Protects You if Red Hat Likes You&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In 1962, Stanley Kubrick released the controversial film
&lt;a href=&quot;https://en.wikipedia.org/wiki/Lolita_(1962_film)&quot;&gt;
Lolita&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://danielpocock.com/en/people/charles-manson-family/&quot;&gt;
Charles Manson&lt;/a&gt; was using women in his
&lt;a href=&quot;https://danielpocock.com/en/category/cult-behaviour/&quot;&gt;
cult&lt;/a&gt;, the Manson Family, to murder people.  He hoped that by committing
these violent murders he could start riots, like the modern day phenomena
of &lt;em&gt;#MeToo&lt;/em&gt; mobs on
&lt;a href=&quot;https://danielpocock.com/en/category/social-control-media/&quot;&gt;
social control media&lt;/a&gt;.  On 9 August 1969, they killed the actress
&lt;a href=&quot;https://danielpocock.com/en/people/sharon-tate/&quot;&gt;
Sharon Tate&lt;/a&gt;, who was the wife of film director
&lt;a href=&quot;https://danielpocock.com/en/people/roman-polanski/&quot;&gt;
Roman Polanski&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Debian&#39;s
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; ordination has curious parallels to the
&lt;a href=&quot;https://danielpocock.com/en/category/catholic-abuse/&quot;&gt;
mistakes made by the Catholic Church when handling real abuse complaints&lt;/a&gt;.
In the 1960s, the wedding of my aunt was conducted by a bishop rather than an
ordinary priest.  Coincidentally, it was the same bishop mentioned above.  As
well as the missed opportunity to protect children from
&lt;a href=&quot;https://danielpocock.com/en/people/kevin-odonnell-catholic/&quot;&gt;
Fr Kevin O&#39;Donnell&lt;/a&gt;, another court case revealed
&lt;a href=&quot;https://danielpocock.com/en/people/bishop-arthur-fox/&quot;&gt;
Bishop Arthur Fox&lt;/a&gt; was accused of
&lt;a href=&quot;https://www.supremecourt.vic.gov.au/sites/default/files/2020-12/Roman%20Catholic%20Trusts%20Corporation%20for%20the%20Diocese%20of%20Sale%20v%20WCB%20%5B2020%5D%20VSCA%20328%20%282%29.pdf&quot;&gt;
ordaining at least one known paedophile&lt;/a&gt;,
just as
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianists&lt;/a&gt; have now ordained a
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; by telling everybody that he is a
&lt;a href=&quot;https://danielpocock.com/en/what-is-a-debian-developer/&quot;&gt;
Debian Developer&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
In the 1970s, Bishop Fox was the Bishop of Sale. On 3 July 1972, when he was
in his early forties, Hourigan wrote to Bishop Fox asking that he be accepted to study
for the priesthood. In the letter Hourigan set out what he said were two â€˜flies in the
ointmentâ€™. The first related to an issue with Houriganâ€™s back, and is of little moment.
The second was a disclosure (referred to by the judge as â€˜the disclosureâ€™) that on
three separate occasions, occurring at two separate boarding schools in Papua New
Guinea at which he was working, boys in his care who, he said, he had occasion to
punish for misbehaviour, responded by complaining to a priest that he had treated
them harshly and that he was a homosexual. A short time after the second and third
complaints, Hourigan left the second boarding school and returned to Australia.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;The implication is that
&lt;a href=&quot;https://danielpocock.com/en/people/bishop-arthur-fox/&quot;&gt;
Bishop Fox&lt;/a&gt; had personal knowledge of the disclosure and history of
abuse before he ever ordained
&lt;a href=&quot;https://danielpocock.com/en/people/tim-daniel-dominic-hourigan-sale/&quot;&gt;
Fr Hourigan&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Between the 1960s and 1980s, groups were formed in various countries
&lt;a href=&quot;https://en.wikipedia.org/wiki/Pedophile_advocacy_groups&quot;&gt;
with their primary purpose being to lower or abolish the age of
consent&lt;/a&gt;.  In the USA, it was the
&lt;a href=&quot;https://en.wikipedia.org/wiki/Pedophile_advocacy_groups#United_States&quot;&gt;
North American Man/Boy Love Association (NAMBLA)&lt;/a&gt;.
In the UK, the &lt;a href=&quot;https://en.wikipedia.org/wiki/Paedophile_Information_Exchange&quot;&gt;
Paedophile Information Exchange (PIE)&lt;/a&gt; was formed in 1974.  The group
recruited young law students keen to advocate for what they felt was
a pressing human rights issue.&lt;/p&gt;

&lt;p&gt;Britain&#39;s National Council for Civil Liberties (NCCL), known today as
&lt;em&gt;Liberty&lt;/em&gt;, had a very open attitude to memberships and affiliations.
&lt;em&gt;PIE&lt;/em&gt; and many other fringe groups became members of NCCL / Liberty
and regularly attended the annual general meetings where they rubbed shoulders
with lawyers and lobbyists from a range of different movements.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://theconversation.com/the-paedophile-information-exchange-was-a-product-of-a-different-time-and-culture-23735&quot;&gt;
The Conversation tells us the British Communist Party was also affiliated
with NCCL  / Liberty&lt;/a&gt;.  People have been scouring old copies of British
tabloid newspapers to find evidence of similar diversity fringe groups
promoting incest, canabalism and bestiality.  NCCL / Liberty was not endorsing
any of these groups and the &lt;em&gt;PIE&lt;/em&gt; was no more or less special than
any other diversity fringe group.&lt;/p&gt;

&lt;p&gt;In the same era,
&lt;a href=&quot;https://danielpocock.com/en/people/tom-ocarroll-pie/&quot;&gt;
Tom O&#39;Carroll&lt;/a&gt;, leader of the &lt;em&gt;PIE&lt;/em&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/robert-lamb-lamby/&quot;&gt;
Robert Lamb&lt;/a&gt;, father of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debian&#39;s&lt;/a&gt; future leader
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt; both graduated from the University of Cambridge.
&lt;a href=&quot;https://danielpocock.com/en/people/robert-lamb-lamby/&quot;&gt;
Robert Lamb&lt;/a&gt; went to work for
&lt;a href=&quot;https://danielpocock.com/en/people/roger-ellis-qc/&quot;&gt;
Roger Ellis QC&lt;/a&gt; at
&lt;a href=&quot;https://web.archive.org/web/20040703171457/http://www.13kbw.co.uk/rl.htm&quot;&gt;
13 King&#39;s Bench West (13KBW) Chambers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The manner in which the paedophile advocacy groups participated in the
NCCL / Liberty and the legal profession can be summarised by the
expression &lt;em&gt;I don&#39;t agree with what you say but I will defend to the
death your right to say it&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;As the saying goes, all good things must come to an end.  By the
1980s, governments around the world had developed strategies to shut down
and outlaw groups like &lt;em&gt;PIE&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The eradication of these groups was significant because it forced
the pro-abuse lobby to look for more discrete ways to achieve their
unholy objectives.  In other words, they have to join other groups like
&lt;a href=&quot;https://danielpocock.com/en/category/catholic/&quot;&gt;
the Catholic Church&lt;/a&gt; and the
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debian Project&lt;/a&gt; in the hope they will gain credibility, access
to children or both.&lt;/p&gt;

&lt;p&gt;Between 1977 and 1978,
&lt;a href=&quot;https://danielpocock.com/en/people/roman-polanski/&quot;&gt;
Roman Polanski&lt;/a&gt;, whose wife had been murdered by the Manson Family
&lt;a href=&quot;https://danielpocock.com/en/category/cult-behaviour/&quot;&gt;
cult&lt;/a&gt;, was prosecuted for drugging and raping a 13-year-old girl.
He fled America to live in
&lt;a href=&quot;https://danielpocock.com/en/category/france/&quot;&gt;
France&lt;/a&gt; and evade a likely jail sentence.
As he was born in France he can&#39;t be extradited to America.  He continued
his career in
&lt;a href=&quot;https://danielpocock.com/en/category/france/&quot;&gt;
France&lt;/a&gt; and received numerous awards for his work.  Many professionals
in the movie industry have publicly indicated support for
&lt;a href=&quot;https://danielpocock.com/en/people/roman-polanski/&quot;&gt;
Polanski&lt;/a&gt;, despite the very serious crime he committed against a child.&lt;/p&gt;

&lt;p&gt;Between 1978 and 1982, in another
&lt;a href=&quot;https://danielpocock.com/en/category/catholic-abuse/&quot;&gt;
Catholic abuse&lt;/a&gt; situation where the victim agreed to waive anonymity,
&lt;a href=&quot;https://danielpocock.com/en/people/david-ridsdale/&quot;&gt;
David Ridsdale&lt;/a&gt; was abused by his uncle, the priest
&lt;a href=&quot;https://danielpocock.com/en/people/gerald-ridsdale/&quot;&gt;
Gerald Ridsdale&lt;/a&gt;.  Under Australian law, when the uncle is found
guilty of such an offence, their identity and their conviction can not
be reported in the media as it would compromise the identity of the
victim.  Nonetheless,
&lt;a href=&quot;https://danielpocock.com/en/people/david-ridsdale/&quot;&gt;
David Ridsdale&lt;/a&gt; waived his right to anonymity and so it could be
reported that
&lt;a href=&quot;https://danielpocock.com/en/people/gerald-ridsdale/&quot;&gt;
Gerald Ridsdale&lt;/a&gt;, who was the worst offender in the country,
had even committed abuse against one of his own relatives.
&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; was born on 12 August 1984.&lt;/p&gt;

&lt;p&gt;In 1988,
&lt;a href=&quot;https://danielpocock.com/en/people/katharine-thornton/&quot;&gt;
Katharine (Kath) Thornton&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/christian-porter/&quot;&gt;
Christian Porter&lt;/a&gt; participated in
&lt;a href=&quot;https://danielpocock.com/en/category/australia/&quot;&gt;
Australia&#39;s&lt;/a&gt; national high school debating team.  The former alleges
she was abused by the latter.  She took her own life.  He became
&lt;a href=&quot;https://danielpocock.com/en/debian-privacy-hypocrisy/&quot;&gt;
the Attorney General&lt;/a&gt;.  Federal Court judges
&lt;a href=&quot;https://danielpocock.com/assets/people/katharine-thornton/Katharine-Thornton-2021_05_25-Exhibit-1.pdf&quot;&gt;
published her accusations in full&lt;/a&gt;, bypassing Australia&#39;s strict
defamation laws.  Related:
&lt;a href=&quot;https://www.abc.net.au/news/2021-03-08/christian-porter-accuser-four-corners/13226794&quot;&gt;
ABC News report&lt;/a&gt;.&lt;/p&gt;

&lt;a href=&quot;https://danielpocock.com/assets/people/katharine-thornton/Katharine-Thornton-2021_05_25-Exhibit-1.pdf&quot;&gt;
&lt;img alt=&quot;Katharine Thornton, Christian Porter, rape, dossier, accusations&quot; src=&quot;https://danielpocock.com/assets/people/katharine-thornton/cover-page.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;/a&gt;
&lt;p&gt; &lt;/p&gt;

&lt;a href=&quot;https://danielpocock.com/assets/people/katharine-thornton/Katharine-Thornton-2021_05_25-Exhibit-1.pdf&quot;&gt;
&lt;img alt=&quot;Katharine Thornton, Christian Porter, rape, dossier, accusations&quot; src=&quot;https://danielpocock.com/assets/people/katharine-thornton/kath-r-1.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;/a&gt;
&lt;p&gt; &lt;/p&gt;

&lt;a href=&quot;https://danielpocock.com/assets/people/katharine-thornton/Katharine-Thornton-2021_05_25-Exhibit-1.pdf&quot;&gt;
&lt;img alt=&quot;Katharine Thornton, Christian Porter, rape, dossier, accusations&quot; src=&quot;https://danielpocock.com/assets/people/katharine-thornton/kath-r-2.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;/a&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;The media originally obfuscated the name and face of the victim but it
wasn&#39;t long before everybody knew.  She had created the dossier, started a
conversation with the police and then she committed suicide.  Eventually the
Federal Court judges decided to publish everything for the public to make up our
own minds.&lt;/p&gt;

&lt;a href=&quot;https://danielpocock.com/assets/people/katharine-thornton/Katharine-Thornton-2021_05_25-Exhibit-1.pdf&quot;&gt;
&lt;img alt=&quot;Katharine Thornton, Christian Porter, rape, dossier, accusations&quot; src=&quot;https://danielpocock.com/assets/people/katharine-thornton/jo-dyer-katharine-thornton.jpg&quot; width=&quot;100%&quot; /&gt; 
&lt;/a&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;I selected those portions of the document to emphasize the striking
similarities between
&lt;a href=&quot;https://danielpocock.com/en/people/katharine-thornton/&quot;&gt;
Katharine Thornton&#39;s&lt;/a&gt; abuse report and the acts that
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; admitted inflicting on his sisters.&lt;/p&gt;

&lt;p&gt;According to the summary of the complaint on the
&lt;a href=&quot;https://www.manateeclerk.com/online-searches/&quot;&gt;
Manatee County Courthouse web site&lt;/a&gt;, the abuse occurred between 1995 and 1999,
in other words, when
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; was only between eleven and fifteen years of age himself.
One of his sisters was nine and another was only six when these horrible crimes
took place.&lt;/p&gt;

&lt;p&gt;In the court documents,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; told prosecutors his parents were very strict and kept all the
siblings together at home.  In countries with urban sprawl and a car culture,
which includes
&lt;a href=&quot;https://danielpocock.com/en/category/australia/&quot;&gt;
Australia&lt;/a&gt;, a teenage boy starting high school has no way to meet friends
of the same age unless an adult is willing to drive him there and bring him
back home.  Europeans who live in apartments and terrace houses are much closer
together.  Therefore, people who haven&#39;t lived in urban sprawl can&#39;t fully
appreciate the impact it has on childhood.&lt;/p&gt;

&lt;p&gt;In 1997, Adrian Lyne produced a fresh version of the film
&lt;a href=&quot;https://en.wikipedia.org/wiki/Lolita_(1997_film)&quot;&gt;
Lolita&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Shortly after that, I was photographed in
&lt;a href=&quot;https://danielpocock.com/en/category/australia/&quot;&gt;
Australia&#39;s&lt;/a&gt; Parliament House,
&lt;a href=&quot;https://danielpocock.com/en/category/canberra/&quot;&gt;
Canberra&lt;/a&gt; with
&lt;a href=&quot;https://danielpocock.com/en/people/natasha-stott-despoja/&quot;&gt;
Natasha Stott-Despoja&lt;/a&gt;.  After leaving her job as a senator,
&lt;a href=&quot;https://danielpocock.com/en/people/natasha-stott-despoja/&quot;&gt;
Natasha&lt;/a&gt; was appointed as
&lt;a href=&quot;https://danielpocock.com/en/category/australia/&quot;&gt;
Australia&#39;s&lt;/a&gt; ambassador for women and girls.
She was subsequently appointed to represent
&lt;a href=&quot;https://danielpocock.com/en/category/australia/&quot;&gt;
Australia&lt;/a&gt; on the UN CEDAW committee.  CEDAW is the Convention on the
Elimination of All Forms of Discrimination Against Women.  The committee
is one of the most influential international bodies concerned with the
status and wellbeing of women.  The photograph was taken during the same
period of time where
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; admits abusing his little sisters.&lt;/p&gt;

&lt;img alt=&quot;Natasha Stott-Despoja, Melissa Venville, Daniel Pocock, Parliament House, Canberra, Australia&quot; src=&quot;https://danielpocock.com/assets/aph-senator-stott-despoja.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In the early days of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;, many young teenage males were exploited.  Ringleaders have been
interchangeably presenting
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; as a hobby, as a philosophical mission and as an activity that
people undertake while being paid by an external employer like
&lt;a href=&quot;https://danielpocock.com/en/category/freexian/&quot;&gt;
Freexian&lt;/a&gt;.  Ringleaders pivot between these
definitions of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; depending upon which definition is most convenient for the
ringleaders themselves in any particular situation or dispute.&lt;/p&gt;

&lt;p&gt;They used the appeal of a philosophical mission to recruit numerous teenagers,
mostly boys in their mid-teens, who were starstruck by the names of companies
like
&lt;a href=&quot;https://danielpocock.com/en/category/pixar/&quot;&gt;
Pixar&lt;/a&gt;, where
&lt;a href=&quot;https://danielpocock.com/en/people/bruce-perens/&quot;&gt;
Bruce Perens&lt;/a&gt; worked.  These teenagers didn&#39;t really appreciate the extent
to which they were working alongside people who were being paid six-figure
salaries to do similar tasks.  I&#39;m talking about
&lt;a href=&quot;https://danielpocock.com/en/people/joel-klecker-espy/&quot;&gt;
Joel &quot;Espy&quot; Klecker&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/people/shaya-potter-spotter/&quot;&gt;
Shaya Potter&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/chris-rutter-cmr/&quot;&gt;
Chris Rutter&lt;/a&gt;.  Klecker was doing this unpaid work while he was in bed
dying of a terminal illness
(&lt;a href=&quot;https://danielpocock.com/en/joel-espy-klecker-unpaid-terminally-ill-youth-labor-debian-knew-it/&quot;&gt;
detailed report&lt;/a&gt;).
&lt;a href=&quot;https://danielpocock.com/en/people/shaya-potter-spotter/&quot;&gt;
Shaya Potter&lt;/a&gt; appears to be the first documented case of somebody
&lt;a href=&quot;https://danielpocock.com/en/shaya-potter-debian-warez-expulsion/&quot;&gt;
expelled after he had already resigned&lt;/a&gt;.
&lt;a href=&quot;https://danielpocock.com/en/people/chris-rutter-cmr/&quot;&gt;
Chris Rutter&lt;/a&gt; even had servers for unpaid
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; work installed at his high school.  He was observed
&lt;a href=&quot;https://danielpocock.com/en/chris-rutter-winchester-clare-college-choir-arm-ltd-underage-debian/&quot;&gt;
working long hours&lt;/a&gt; to meet his obligations to
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianists&lt;/a&gt; shortly before walking in front of a car.  These may be
the three most prominent teenagers in the early days of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; and it is disturbing to see that two died while one was
subject to gaslighting and ostracized.&lt;/p&gt;

&lt;p&gt;Here is a &lt;em&gt;debian-private&lt;/em&gt; leaked message where the &lt;em&gt;underage&lt;/em&gt;
phenomena is mentioned explicitly:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: why I want the archives on me (was Re: spotter@debian.org)
Date: Tue, 17 Nov 1998 12:56:41 -0500
From: &lt;a href=&quot;https://danielpocock.com/en/people/shaya-potter-spotter/&quot;&gt;Shaya Potter&lt;/a&gt; &amp;lt;spotter@ymail.yu.edu&amp;gt;
To: joost@pc47.mpn.cp.philips.com
CC: debian-private@lists.debian.org


----- Original Message -----
From: &amp;lt;joost@pc47.mpn.cp.philips.com&amp;gt;

&amp;gt;
&amp;gt;On Tue, 17 Nov 1998, Shaya Potter wrote:
&amp;gt;
&amp;gt;&amp;gt; Now that this is out of the way, I&#39;d like to publicly ask if I can have
an
&amp;gt;&amp;gt; archive of all the communication that went on in regard to me.
&amp;gt;
&amp;gt;Strictly speaking I tend to disagree that you or anybody has an a-priori
&amp;gt;right to know what is being said and told on debian-private.  It is simply
&amp;gt;a private list.  Things would be different if you were mentioned in a
&amp;gt;public list without being able to respond.  But that is in all aspects
&amp;gt;clearly not the current situation.

First, I never said I have a right.  In many ways I think i don&#39;t have a
right, or even if I did, I don&#39;t deserve it.  I don&#39;t think my statements
have implied that I believe I have a right to demand that it be given to me.

I do have a right to ask that it be done.  Debian has a right to say yes or
no.

&amp;gt;
&amp;gt;(Nevertheless, I think that it would be considerate to cc: you in
&amp;gt;any discussion that involves you in a very personal manner - this has
&amp;gt;IMHO until now hardly been the case though.)

It hasn&#39;t?  Than how did the decision to expell me come about?  Who told
people who made the decision what happened?  Was this all done in private
mail?

&amp;gt;
&amp;gt;If a non-subscriber of debian-private must share in the conversation on
&amp;gt;debian-private, then this should IMHO be done by adding that person to the
&amp;gt;clearly visible cc: line of the header of any messages to be &quot;published.&quot;
&amp;gt;That way, it will be adequately clear that the correspondence leaves the
&amp;gt;realm of debian-private and thus everybody can conclude that normal
&amp;gt;confidentiality can not be expected.  AFAIK respect for the confidential
&amp;gt;nature of debian-private is a prerequisite for subscription to this list.

I would have respected the confidentiality, as I have made it known that I
don&#39;t want this to spread, as I am embarrased by my actions.

&amp;gt;
&amp;gt;Practically speaking, I disagree that the underlying case generally
&amp;gt;concerns you. What matters here is not who Shaya Potter personally is or
&amp;gt;what particularly Shaya Potter did. The discussion is about how issues
&amp;gt;like the one involving you relate to Debian.  This discussion does not
&amp;gt;involve you personally.

I don&#39;t want the entire discussion, I just want to see the parts that touch
on me personally.  I don&#39;t care for the rest, of what about underage
developers and the like....

&amp;gt;
&amp;gt;&amp;gt; I was told that it would not be a star chamber, and that I&#39;d be cc&#39;d in
&amp;gt;&amp;gt; on all the corrospondace.  That didn&#39;t occur.
&amp;gt;
&amp;gt;There was no &quot;star chamber.&quot;  You have already been generously cc:&#39;-ed.

I was?  The only cc:&#39;s I ever got were in response to me starting a thread.
That implies to me, that acc. to what you were saying, that no discussion
on -private occured that I didn&#39;t start.  However, I know this not to be the
case, as before I was unsubscribed from -private, I saw a thread or 2
started that dealt with me.

&amp;gt;
&amp;gt;IMHO you do not have a right to be cc:-&#39;ed on the _general_ discussion
&amp;gt;which does not particularly (personally) involve you.

never said I did.

&amp;gt;
&amp;gt;&amp;gt; Also, I really have no idea of what discussion went on, if mistruthes
&amp;gt;&amp;gt; were spread about the incident (as in reality, I&#39;m the only one that
&amp;gt;&amp;gt; knows completely what happened, and no one really ever asked me for the
&amp;gt;&amp;gt; full story).
&amp;gt;
&amp;gt;If this worries you so much, then I seriously wonder why you did not
&amp;gt;immediately relate it to debian-private when the issue arose in the first
&amp;gt;place?

I did apologize on -private right away, however, I didn&#39;t want to spread
what I did.  I specifically told people that I would rather this not be
discussed on -private and have me showed the door quietly, and told never to
come back.  That didn&#39;t happen, it was discussed on -private.  I don&#39;t know
what was discussed in relation to me, so I want to be informed.

&amp;gt;
&amp;gt;Again, the discussion is not yours.  Again, you are not personally
&amp;gt;involved.  Your only &quot;role&quot; in the discussion is that you have created a
&amp;gt;precedent.  I thinks we can all agree that we would rather have had you
&amp;gt;not be a precedent case, but it happened.  I&#39;m very sorry, but you&#39;ll
&amp;gt;have to blame yourself for that.

Trust me, I&#39;ve blamed myself a lot for this.  If you seen any of my
corrospondance you would know this.  I don&#39;t blame anyone for my
predicament, but myself.

&amp;gt;Discussion on debian-private does not count as a statement from Debian.
&amp;gt;So there simply were no statements.  I&#39;m not really in favor of making any
&amp;gt;strong or overly verbose statements either.  If there ever is to be a
&amp;gt;statement from Debian about an issue such as the current one involving
&amp;gt;Shaya, I think that person should be briefed thoroghly beforehand.

I&#39;m not talking about a debian statement.  I don&#39;t want a public statement,
and I know a lot of people from debian don&#39;t want one either (though some
might).  What I meant by statements, was statements that individuals made,
that might be incorrect, or inacurate.

&amp;gt;Shaya, can you please just put this to a rest?  IMHO it is not very
&amp;gt;productive for anybody.  And please take it from me that you have no
&amp;gt;reason to be concerned that you have been in a &quot;star chamber.&quot;

I am not worried about a star chamber, I would have prefered it in many
ways.  However, at least with a star chamber you usually get to see the case
presented against you, even though you don&#39;t have the ability to defend
yourself.  As I said many times, my case is indefensable, so that wouldn&#39;t
bother me.

&lt;a href=&quot;https://danielpocock.com/en/people/shaya-potter-spotter/&quot;&gt;Shaya&lt;/a&gt;
&lt;/pre&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/joel-klecker-espy/&quot;&gt;
Joel &quot;Espy&quot; Klecker&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/people/shaya-potter-spotter/&quot;&gt;
Shaya Potter&lt;/a&gt; and 
&lt;a href=&quot;https://danielpocock.com/en/people/chris-rutter-cmr/&quot;&gt;
Chris Rutter&lt;/a&gt;, due to their youth and inexperience, didn&#39;t realize what
they were doing was work.  They didn&#39;t realize it is normal to be paid.
&lt;/p&gt;

&lt;p&gt;We find exactly the same phenomena in the
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; abuse testimony.  His sister tells us she was too young
to know the words for what he was doing in her underpants.&lt;/p&gt;

&lt;p&gt;It is scary how this type of paedophile and
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; at large has exploited naivitÃ© to gain an unfair advantage
over young victims.&lt;/p&gt;

&lt;p&gt;In October 1999 the role of teenagers was back in the spotlight:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Debian Death March
Date: Thu, 7 Oct 1999 17:41:25 -0700 (PDT)
From: &lt;a href=&quot;https://danielpocock.com/en/people/ted-walther-krooger/&quot;&gt;Jonathan Walther&lt;/a&gt; &amp;lt;krooger@debian.org&amp;gt;
To: debian-private@lists.debian.org

Guys.  Is Debian still the hippest, coolest, happeningest distribution
around, or are we a dinosaur lost in the forest?

The posts I&#39;ve read on this list today reek of a Death March.

Yes, many of the Debian originals have moved on, retired, or fallen
quiescent.  Others of us have had sudden changes in our life; new jobs, loss
of jobs, loss of internet access, newborn infants, need to spend time with
spouses and loved ones.

Many of the rest have gotten tired.  The friends they joined this marvelous
big project with are no longer around...  The stress of mentoring up a new
generation of package maintainers, and hopefully core developers falls on
their already burdened shoulders, taking away from their time spent coding.

As social scientists know, the future is the children.  Or in our case, the
future is the teenage &quot;hackers&quot; getting their first computer, going in their
first irc chatroom, using their first nuker... and realizing there is
something far more interesting, constructive and beautiful beyond the raw
violence of their little world.  An ordered system of many parts, of many
people collaborating in peace, cooperating on a scale that they will take
for granted, because we have made it seem so natural, but which makes any
sane adult boggle at our achievement.

[ ... snip ... ]
&lt;/pre&gt;

&lt;p&gt;In 1999,
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
Red Hat&lt;/a&gt; made their Initial Public Offering (IPO) on the stock market.
&lt;a href=&quot;https://danielpocock.com/en/what-is-a-debian-developer/&quot;&gt;
Debian Developers&lt;/a&gt; were invited to buy some of the shares but
&lt;a href=&quot;https://danielpocock.com/en/influencers-red-hat-inc-ipo-1999-post-mortem-on-the-directed-share-offer-community-open-source-developers/&quot;&gt;
inexperienced investors, which includes the underage developers, were excluded
by the manner in which the IPO was conducted&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Given that
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; has the exploitation of youth in its DNA, it is really sad
to see that a
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; and various characters with similar tendencies
were put up on a pedestal in the era of
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In 2002, the Boston Globe&#39;s Spotlight team published
&lt;a href=&quot;https://en.wikipedia.org/wiki/Sexual_abuse_scandal_in_the_Archdiocese_of_Boston&quot;&gt;
their reports&lt;/a&gt; about the
&lt;a href=&quot;https://danielpocock.com/en/category/catholic-abuse/&quot;&gt;
Catholic abuse crisis&lt;/a&gt;.  The reports were not simply about the actions
of individual paedophiles.  The journalists went to great lengths to examine
how the institution had ordained the wrong people and stonewalled victims.
In the
&lt;a href=&quot;https://danielpocock.com/en/debian-history-harassment-abuse-culture-evolution/&quot;&gt;
Debian harassment culture&lt;/a&gt;, we see much the same thing.  People who ask
questions are censored on the mailing lists.  The leaders stonewall and
refuse to answer questions or provide reports about the
&lt;a href=&quot;https://danielpocock.com/en/category/debian-suicide-cluster/&quot;&gt;
Debian suicide cluster&lt;/a&gt; and their knowledge of
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&#39;s&lt;/a&gt; history.&lt;/p&gt;

&lt;p&gt;In 2004, we had the
&lt;a href=&quot;https://danielpocock.com/en/diversity-grooming-debian-transgender-zero/&quot;&gt;
first discussion about offering financial incentives
to transgender people&lt;/a&gt;.  It is an ethical and moral minefield:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: Nut-case of the day - Was: [Fwd: URGENT: This is potentially a threat to your and others personal security]
Date: Tue, 6 Jan 2004 12:53:33 -0700
From: &lt;a href=&quot;https://danielpocock.com/en/people/joel-baker-fenton/&quot;&gt;Joel Baker&lt;/a&gt; &amp;lt;fenton@debian.org&amp;gt;
To: debian-private@lists.debian.org

On Tue, Jan 06, 2004 at 03:28:03PM +1100, &lt;a href=&quot;https://danielpocock.com/en/people/russell-coker/&quot;&gt;Russell Coker&lt;/a&gt; wrote:
&amp;gt; On Tue, 6 Jan 2004 15:23, &lt;a href=&quot;https://danielpocock.com/en/people/joel-baker-fenton/&quot;&gt;Joel Baker&lt;/a&gt; &amp;lt;fenton@debian.org&amp;gt; wrote:
&amp;gt; &amp;gt; I could probably arrange for Debian to have a TG developer, but somehow,
&amp;gt; &amp;gt; this doesn&#39;t seem like a primary qualification; we don&#39;t have quotas. :)
&amp;gt; 
&amp;gt; If they can code well or can be taught to code well then please get them in!
&amp;gt; 
&amp;gt; Especially if they have some skills at kernel coding.  I think that we could 
&amp;gt; do with having more skilled developers dealing with the kernel patch 
&amp;gt; packages.

What I didn&#39;t mention is that it would probably involve me bribing her to
deal with it; she doesn&#39;t find Debian to be quite worthwhile enough on its
own merits (she likes it, she just likes FreeBSD better, and has little
enough time to spare overall that short of someone making it worth giving
up what else she does, it isn&#39;t worth it).

This would be the primary reason she isn&#39;t already a DD, since the only
part of NM that would pose any issue at all is the wait (I can sign her
trivially, and passing the requirements is a no-brainer). But we don&#39;t
really need another developer not doing much most of the time, and I
have better uses of the money than paying her to work on it. :)
-- 
&lt;a href=&quot;https://danielpocock.com/en/people/joel-baker-fenton/&quot;&gt;Joel Baker&lt;/a&gt; &amp;lt;fenton@debian.org&amp;gt;                                        ,&#39;&#39;`.
Debian GNU/NetBSD(i386) porter                                       : :&#39; :
                                                                     `. `&#39;
				                                       `-
&lt;/pre&gt;

&lt;p&gt;In 2006,
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
Red Hat&lt;/a&gt; opened their main research site in
&lt;a href=&quot;https://danielpocock.com/en/category/brno/&quot;&gt;
Brno&lt;/a&gt;, a small city in the
&lt;a href=&quot;https://danielpocock.com/en/category/czech-republic/&quot;&gt;
Czech Republic&lt;/a&gt;.  The
&lt;a href=&quot;https://danielpocock.com/en/category/czech-republic/&quot;&gt;
Czech Republic&lt;/a&gt; had joined the
&lt;a href=&quot;https://danielpocock.com/en/category/european-union/&quot;&gt;
European Union (EU)&lt;/a&gt; in 2004.
Thanks to the &lt;em&gt;Freedom of Movement&lt;/em&gt; policy of EU countries,
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
Red Hat&lt;/a&gt; could employ young male graduates from any other EU country and
bring them to work in
&lt;a href=&quot;https://danielpocock.com/en/category/brno/&quot;&gt;
Brno&lt;/a&gt; without any uncertainty about residence permits and visas.  Over
the years, thousands of young and predominantly male engineers came to work
for various multinational companies in this remote part of the
&lt;a href=&quot;https://danielpocock.com/en/category/czech-republic/&quot;&gt;
Czech Republic&lt;/a&gt;.  At the same time, young women from eastern European
countries were all leaving small cities like
&lt;a href=&quot;https://danielpocock.com/en/category/brno/&quot;&gt;
Brno&lt;/a&gt; and either moving to the capital,
&lt;a href=&quot;https://danielpocock.com/en/category/prague/&quot;&gt;
Prague&lt;/a&gt; or moving to other cities like
&lt;a href=&quot;https://danielpocock.com/en/category/london/&quot;&gt;
London&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/category/paris/&quot;&gt;
Paris&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/category/berlin/&quot;&gt;
Berlin&lt;/a&gt;.  These arrangements created a huge imbalance.  Thousands of
highly paid young single men found themselves competing for the very
small group of women who decided not to leave.  A lot of the companies
started talking about the need for &lt;em&gt;diversity&lt;/em&gt; programs.  While
nobody says it out loud, it looks like these programs are intended to
increase the size of the dating pool in these offshore centers.
Official statistics tell us that
&lt;a href=&quot;https://danielpocock.com/en/brno-suicides-defence-of-red-hat-fedora/&quot;&gt;
Brno has the highest suicide rate in the country&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;When eastern European countries joined the EU, some of the western
countries like Germany and France introduced a temporary delay on
&lt;em&gt;Freedom of Movement&lt;/em&gt; for workers.  The delay didn&#39;t apply to
&lt;em&gt;Freedom of Movement&lt;/em&gt; for wives and girlfriends.
&lt;a href=&quot;https://pmc.ncbi.nlm.nih.gov/articles/PMC10446036/&quot;&gt;
This table&lt;/a&gt; shows us that workers from
&lt;a href=&quot;https://danielpocock.com/en/category/czech-republic/&quot;&gt;
Czech Republic&lt;/a&gt; could go to
the
&lt;a href=&quot;https://danielpocock.com/en/category/uk/&quot;&gt;
UK&lt;/a&gt; immediately after joining the EU in 2004 but they could not
take jobs in
&lt;a href=&quot;https://danielpocock.com/en/category/france/&quot;&gt;
France&lt;/a&gt; until 2008 or
&lt;a href=&quot;https://danielpocock.com/en/category/germany/&quot;&gt;
Germany&lt;/a&gt; until 2011.  As a consequence, young women could use
&lt;em&gt;Freedom of movement&lt;/em&gt; to marry somebody in a rich country but
many young men had to stay in the
&lt;a href=&quot;https://danielpocock.com/en/category/czech-republic/&quot;&gt;
Czech Republic&lt;/a&gt;.  The young men who remained found themselves in direct
competition against the
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
Red Hat&lt;/a&gt; workforce for the last girlfriends who remained in
&lt;a href=&quot;https://danielpocock.com/en/category/brno/&quot;&gt;
Brno&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;During that period, I was living to the north of
&lt;a href=&quot;https://danielpocock.com/en/category/london/&quot;&gt;
London&lt;/a&gt; near to
&lt;a href=&quot;https://danielpocock.com/en/category/luton/&quot;&gt;
Luton&lt;/a&gt; airport.  Thousands of people from eastern Europe were arriving
every day on the low cost airlines.  It was fairly easy to distinguish
the tourists from the people who were relocating.  The people relocating
under &lt;em&gt;Freedom of Movement&lt;/em&gt; had typically purchased the maximum
luggage allowance and arrived with their whole life in a suitcase that
was so overloaded it looked like it was about to burst.  In particular,
a lot of the women who arrived like this were making the move alone with
no safety net.  Their plan was to get off the plane and find a room,
a job and a husband.  These are the women who the
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
Red Hat&lt;/a&gt; employees in
&lt;a href=&quot;https://danielpocock.com/en/category/brno/&quot;&gt;
Brno&lt;/a&gt; missed out on.&lt;/p&gt;

&lt;p&gt;During the
&lt;a href=&quot;https://danielpocock.com/en/category/cold-war/&quot;&gt;
Cold War&lt;/a&gt;, the
&lt;a href=&quot;https://danielpocock.com/en/category/uk/&quot;&gt;
UK&lt;/a&gt;, out of all the western countries, had developed a unique, mythical
fairytale status in the minds of people from eastern European countries.
This was captured in
&lt;a href=&quot;https://danielpocock.com/en/people/james-bond-007/&quot;&gt;
James Bond&lt;/a&gt; movies and
&lt;a href=&quot;https://danielpocock.com/en/people/john-le-carre/&quot;&gt;
John le CarrÃ©&lt;/a&gt; spy novels where the fictional women of eastern European
communist countries spoke in glowing terms of the new lives they
dreamed about having in London.&lt;/p&gt;

&lt;p&gt;In January 2006,
&lt;a href=&quot;https://danielpocock.com/en/people/raphael-hertzog/&quot;&gt;
Raphael Hertzog&lt;/a&gt; infamously used the &lt;em&gt;debian-devel-announce&lt;/em&gt; email
list to promote a message about an external product,
&lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;
Ubuntu&lt;/a&gt; that not everybody is interested in.
&lt;a href=&quot;https://danielpocock.com/en/people/andrew-suffield-asuffield/&quot;&gt;
Andrew Suffield&lt;/a&gt; adapted the subject line of
&lt;a href=&quot;https://danielpocock.com/en/people/raphael-hertzog/&quot;&gt;
Hertzog&#39;s&lt;/a&gt; email to promote lesbians instead of
&lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;
Ubuntu&lt;/a&gt;.  Some people speculate
&lt;a href=&quot;https://danielpocock.com/en/people/andrew-suffield-asuffield/&quot;&gt;
Suffield&lt;/a&gt; chose the word &lt;em&gt;lesbian&lt;/em&gt; because it looks a little bit
like the word &lt;em&gt;Debian&lt;/em&gt; and there are a disproportionate number of
LGBT people lurking in the mailing lists.&lt;/p&gt;

&lt;p&gt;The original message has been
&lt;a href=&quot;https://lists.debian.org/debian-devel-announce/2006/01/msg00009.html&quot;&gt;
censored&lt;/a&gt; but it is easy to find
&lt;a href=&quot;https://web.archive.org/web/20060208030822/http://lists.debian.org/debian-devel-announce/2006/01/msg00009.html&quot;&gt;
here in the Wayback Machine&lt;/a&gt;.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;To: debian-devel-announce@lists.debian.org
Subject: &lt;b&gt;For those who care about their packages in Ubuntu&lt;/b&gt;
From: &lt;a href=&quot;https://danielpocock.com/en/people/raphael-hertzog/&quot;&gt;Raphael Hertzog&lt;/a&gt; &amp;lt;hertzog@debian.org&amp;gt;
Date: Fri, 13 Jan 2006 23:35:24 +0100

Hello fellow Debian developers,

let me explain shortly why I&#39;ll speak of Ubuntu on a Debian announce
list. I know that many of you do not like the &lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;Canonical&lt;/a&gt; marketing saying
that &quot;Ubuntu is contributing back&quot; because the most visible official
contribution is scott&#39;s patch repository and that all other successful
collaboration has been made at the level of individual developers who are
&quot;friendly to Debian&quot; and not because &lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;Canonical&#39;s&lt;/a&gt; policy ask them to do
so.

[ ... snip ... ]
&lt;/pre&gt;

&lt;p&gt;and
&lt;a href=&quot;https://danielpocock.com/en/people/andrew-suffield-asuffield/&quot;&gt;
Andrew Suffield&lt;/a&gt;:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;To: debian-devel-announce@lists.debian.org
Subject: &lt;b&gt;For those who care about lesbians&lt;/b&gt;
From: &lt;a href=&quot;https://danielpocock.com/en/people/andrew-suffield-asuffield/&quot;&gt;Andrew Suffield&lt;/a&gt; &amp;lt;asuffield@debian.org&amp;gt;
Date: Sat, 14 Jan 2006 15:00:40 +0000

Since this sort of thing is apparently okay nowadays, and I know that
a lot of you like looking at lesbians, I&#39;d like to share this with
you:

http://www.flickr.com/photos/63978244@N00/81351129/in/photostream/

[And for the sarcasm-impaired: debian-devel-announce is for Debian
development, not anything that you (or any other group of people)
happen to be interested in. Don&#39;t post irrelevant stuff here. It would
be a real shame if the list had to be moderated because people can&#39;t
exercise good judgement. Anything sent here should be of interest to
an overwhelming majority of Debian developers, *at least* - if you&#39;re
using phrases like &quot;for those who care about X&quot;, it belongs somewhere
else, like X-announce.]

-- 
  .&#39;&#39;`.  ** Debian GNU/Linux ** | &lt;a href=&quot;https://danielpocock.com/en/people/andrew-suffield-asuffield/&quot;&gt;Andrew Suffield&lt;/a&gt;
 : :&#39; :  http://www.debian.org/ |
 `. `&#39;                          |
   `-             -&amp;gt;&amp;lt;-          |
&lt;/pre&gt;

&lt;p&gt;The message links to this image.  It is off-topic but the content is not
illegal in any western countries.&lt;/p&gt;

&lt;img alt=&quot;Andrew Suffield, Debian Women, lesbians, Ubuntu&quot; src=&quot;https://danielpocock.com/assets/people/andrew-suffield-asuffield/lesbian-kiss.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Excuse the pun, the tit-for-tat continued with even more messages
based on the same subject line template:&lt;/p&gt;

&lt;img alt=&quot;Andrew Suffield, Debian Women, lesbians, Ubuntu, Raphael Hertzog, Steve Langasek, Martin Schulze, Neil McGovern, Andreas Barth, David Nusinow, Anthony Towns, Wouter Verhelst, Margarita Manterola&quot; src=&quot;https://danielpocock.com/assets/people/andrew-suffield-asuffield/2006-01-debian-devel-announce-index.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Not long after that, in May 2006,
&lt;a href=&quot;https://danielpocock.com/en/category/debconf6/&quot;&gt;
DebConf6&lt;/a&gt; took place in
&lt;a href=&quot;https://danielpocock.com/en/category/mexico/&quot;&gt;
Mexico&lt;/a&gt;.  One of the candidates in recent
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; elections,
&lt;a href=&quot;https://danielpocock.com/en/people/ted-walther-krooger/&quot;&gt;
Jonathan Walther (Ted)&lt;/a&gt;, brought a local woman,
&lt;a href=&quot;https://danielpocock.com/en/people/hilda-rivera-ramirez-dentista/&quot;&gt;
Hilda&lt;/a&gt;, to the conference dinner.  People quickly started the rumour
that
&lt;a href=&quot;https://danielpocock.com/en/people/hilda-rivera-ramirez-dentista/&quot;&gt;
Hilda&lt;/a&gt; was a prostitute.  Nonetheless, she was the local dentist.  To
this day, dozens of messages about the rumour are present online in various
web sites and &lt;em&gt;debian-private&lt;/em&gt; archives.
(&lt;a href=&quot;https://danielpocock.com/en/mj-ray-micah-anderson-debian-debconf6-fight-drugs-prostitution/&quot;&gt;
more details about the rumours and DebConf6 fight&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;To understand why there was so much gossip and aggression at the
&lt;a href=&quot;https://danielpocock.com/en/category/debconf6/&quot;&gt;
DebConf6&lt;/a&gt; dinner, you need to look at who really slept with who
and then
&lt;a href=&quot;https://disguised.work/debian/amaya-rodrigo-sastre-holger-levsen-debconf6-fight/&quot;&gt;
read the story again&lt;/a&gt;.  The leaked
&lt;a href=&quot;https://disguised.work/debian/debconf8-who-slept-with-who-rooming-leak/&quot;&gt;
room list&lt;/a&gt; tells us that
&lt;a href=&quot;https://danielpocock.com/en/people/holger-levsen/&quot;&gt;
Holger&lt;/a&gt; was sleeping with
&lt;a href=&quot;https://danielpocock.com/en/people/amaya-rodrigo-sastre/&quot;&gt;
Amaya&lt;/a&gt;.
&lt;a href=&quot;https://danielpocock.com/en/people/amaya-rodrigo-sastre/&quot;&gt;
Amaya&lt;/a&gt; helped start the rumour and
&lt;a href=&quot;https://danielpocock.com/en/people/holger-levsen/&quot;&gt;
Holger&lt;/a&gt; is the one who ended up exerting physical pressure on the victim,
&lt;a href=&quot;https://danielpocock.com/en/people/ted-walther-krooger/&quot;&gt;
Jonathan Walther (Ted)&lt;/a&gt;.  When people are sleeping together, they don&#39;t
always behave rationally any more.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;From: &lt;a href=&quot;https://danielpocock.com/en/people/joerg-jaspert-ganneff/&quot;&gt;Joerg Jaspert&lt;/a&gt; &amp;lt;joerg@debconf.org&amp;gt;
To: rooms@debconf.org
Subject: Re: [Debconf-announce] Room allocation
In-Reply-To: &amp;lt;20060328120500.GA10651@localhost&amp;gt; (Margarita Manterola&#39;s message
        of &quot;Tue, 28 Mar 2006 09:05:00 -0300&quot;)
Organization: Goliath-BBS

[ ... snip ... ]

&amp;gt;  * Who you would NOT like to share the room with.

I dont care that much who is in my room, as long as its not
Jonathan/Ted &quot;krooger&quot; Walther or Jeroen van Wolffelaar or Amaya.

[ ... snip ... ]

&lt;/pre&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Date: Fri, 31 Mar 2006 17:39:37 +0200
From: Adeodato =?utf-8?B?U2ltw7M=?= &amp;lt;dato@net.com.org.es&amp;gt;
To: rooms@debconf.org
Cc: Holger Levsen &amp;lt;debian@layer-acht.org&amp;gt;,
        Jesus Climent &amp;lt;jesus.climent@hispalinux.es&amp;gt;,
        Amaya Rodrigo &amp;lt;amaya@debian.org&amp;gt;,
        Alberto =?utf-8?B?R29uesOhbGV6?= Iniesta &amp;lt;agi@inittab.org&amp;gt;,
        Marcela Tiznado &amp;lt;mtiznado@linux.org.ar&amp;gt;,
        Isaac Clerencia &amp;lt;isaac@debian.org&amp;gt;,
        Jacobo =?utf-8?Q?Tarr=C3=ADo?= Barreiro &amp;lt;jacobo@debian.org&amp;gt;,
        Javier Fernandez-Sanguino &amp;lt;jfs@computer.org&amp;gt;,
        Ana Beatriz Guerrero =?utf-8?B?TMOzcGV6?= &amp;lt;ana@ekaia.org&amp;gt;
Subject: Room preferences for a bunch of ~Spanish people

Hey marga!

  Some (mostly) Spanish people have been talking among us, and we&#39;d like
  to share room at DebConf. We&#39;ve thought that it&#39;ll be easier for you
  if we just write you one mail saying who we are, instead of each of us
  mailing you privately with our preferences. :)

  So, we&#39;d like:

    - a 6-sized room for both DebCamp and DebConf (from 5th to the end)
    - a 4-sized room for DebConf only (from 13th to the end)

  The involved people (in order of arrival, all of them CC&#39;ed) are:

    &lt;b&gt;Holger Levsen &amp;lt;debian@layer-acht.org&amp;gt;&lt;/b&gt;
    Jesus Climent &amp;lt;jesus.climent@hispalinux.es&amp;gt;
    &lt;b&gt;Amaya Rodrigo &amp;lt;amaya@debian.org&amp;gt;&lt;/b&gt;
    Alberto Gonz=C3=A1lez Iniesta &amp;lt;agi@inittab.org&amp;gt;
    Adeodato Sim=C3=B3 &amp;lt;dato@net.com.org.es&amp;gt;
    Marcela Tiznado &amp;lt;mtiznado@linux.org.ar&amp;gt;

    Isaac Clerencia &amp;lt;isaac@debian.org&amp;gt;
    Jacobo Tarr=C3=ADo Barreiro &amp;lt;jacobo@debian.org&amp;gt;
    Javier Fernandez-Sanguino &amp;lt;jfs@computer.org&amp;gt;
    Ana Beatriz Guerrero L=C3=B3pez &amp;lt;ana@ekaia.org&amp;gt;

  Thanks in advance,
&lt;/pre&gt;

&lt;p&gt;From the
&lt;a href=&quot;https://danielpocock.com/en/category/debconf8/&quot;&gt;
DebConf8&lt;/a&gt; room list:&lt;/p&gt;

&lt;img alt=&quot;Amaya Rodrigo Sastre, Holger Levsen, Debian, DebConf6 fight&quot; src=&quot;https://danielpocock.com/assets/people/holger-levsen/2008-debconf8-room-list.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In 2006, the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; people created the
&lt;a href=&quot;https://danielpocock.com/en/category/outreachy/&quot;&gt;
Outreach Program for Women (OPW)&lt;/a&gt;, which was subsequently renamed to
&lt;a href=&quot;https://danielpocock.com/en/category/outreachy/&quot;&gt;
Outreachy&lt;/a&gt;.  The program pays young female interns to associate with
the developers.  The women are not expected and not always trusted to
do development work themselves.  Many of the women were offered free trips
to conferences all over the world.&lt;/p&gt;

&lt;p&gt;By December 2006, the
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianists&lt;/a&gt; had admitted
&lt;a href=&quot;https://danielpocock.com/en/psychiatrist-occupational-therapist-debian-toxic-culture-recognized-before-suicides-germanwings/&quot;&gt;
they need professional help from a psychiatrist or occupational therapist to
deal with the toxic culture&lt;/a&gt;.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Total world domination through &lt;b&gt;therapy&lt;/b&gt; and free software!
Date: Sun, 31 Dec 2006 13:25:08 +0100
From: &lt;a href=&quot;https://danielpocock.com/en/people/amaya-rodrigo-sastre/&quot;&gt;Amaya&lt;/a&gt; &amp;lt;amaya@debian.org&amp;gt;
Organization: Debian - http://www.debian.org/
To: debian-private@lists.debian.org

&lt;a href=&quot;https://danielpocock.com/en/people/russell-coker/&quot;&gt;Russell Coker&lt;/a&gt; wrote:
&amp;gt; True.  But we can only change some things and only in some areas.

Sure, we are just humans :)

&amp;gt; I will always have little sympathy for someone who complains bitterly
&amp;gt; about unfairness when by any objective metric they would be regarded
&amp;gt; as being in the most fortunate few percent of the world&#39;s population.

Yes, as in having clean tab water. Ack.

&amp;gt; Do you think it might be beneficial to have some &lt;b&gt;group sessions&lt;/b&gt; at
&amp;gt; Deb-conf&#39;s to &lt;b&gt;help us&lt;/b&gt; deal with these things?

I strongly believe in the &lt;b&gt;group sauna effect :)&lt;/b&gt;

&amp;gt; &lt;b&gt;Debian has a huge pile of money&lt;/b&gt; that is apparently not being spent,
&amp;gt; booking a good &lt;b&gt;psychiatrist for a day for every DebConf&lt;/b&gt; would not make
&amp;gt; much of an impact on Debian finances and might have a good impact on
&amp;gt; productivity.

&lt;b&gt;s/psychiatrist/therapist/ Maybe someone that is experienced in large voluntary communities could
give a talk, or workshop, or both.&lt;/b&gt;

It would be interesting to know wether anyone knows a person that could
help us this way. I could talk to some people if the idea doesn&#39;t look
stupid to the rest you the people reading this.

-- 
  Â·&#39;&#39;`.             If I can&#39;t dance to it, it&#39;s not my revolution
 : :&#39; :                                            -- Emma Goldman
 `. `&#39;           Proudly running Debian GNU/Linux (unstable)
   `-     www.amayita.com  www.malapecora.com  www.chicasduras.com
&lt;/pre&gt;

&lt;p&gt;In 2007,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; joined the US Navy.  The Navy is a very large organisation.
&lt;a href=&quot;https://www.globalsecurity.org/military/library/news/2007/10/mil-071010-dod01.htm&quot;&gt;
The Navy recruited 37,000 personnel in the same year&lt;/a&gt;.  They had no way
to know about
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&#39;s&lt;/a&gt; childhood.&lt;/p&gt;

&lt;p&gt;By 2008, they were already talking about how they would recruit people&#39;s
teenage children.  This was well before the
&lt;a href=&quot;https://danielpocock.com/en/category/debian-pregnancy-cluster/&quot;&gt;
Debian pregnancy cluster&lt;/a&gt; started producing said children.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt; 
Subject: Re: [VAC] Going to the chapel ...
Date: Tue, 22 Jul 2008 16:12:29 +0200
From: Lionel Elie Mamane 
To: debian-private@lists.debian.org

On Sat, Jun 28, 2008 at 03:29:27PM +1000, Russell Coker wrote:

&amp;gt; On Saturday 28 June 2008 14:32, Benjamin Seidenberg
&amp;gt;  wrote:

&amp;gt;&amp;gt; The question is, will we accept parental signatures on the GPG keys?


&amp;gt; Why wouldn&#39;t you accept a parental signature? (...)

&amp;gt; Advocacy however is a different matter.  We want advocates to not be
&amp;gt; excessively biased, and I&#39;m sure that while growing up we have all
&amp;gt; seen adequate evidence of parents who think that their children are
&amp;gt; angels while everyone else knows the truth...

&amp;gt; Of course if a parent was to quietly encourage the NM people to keep
&amp;gt; their child in the queue for an extra year or two then I think we
&amp;gt; should accept such a recommendation.

I fail to see why this is obviously desirable; parents can also be
biased in the other direction, that is think their late teenage
children are like one-year olds that cannot cross the street without
their supervision.

--
Lionel

&lt;/pre&gt;

&lt;p&gt;Around the same time, in June 2008,
&lt;a href=&quot;https://danielpocock.com/en/people/jeffrey-epstein/&quot;&gt;
Jeffrey Epstein&lt;/a&gt; made a guilty plea on two charges in state court.
He was sentenced to 18 months in a county jail, which is less
onerous than a state prison.  He was authorised to participate in a
work release program whereby he could leave the prison for sixteen
hours per day, six days per week.  It is rumoured that he was unhappy
with his probation officer and exploited political connections to have the
probation officer moved elsewhere.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/jeffrey-epstein/&quot;&gt;
Jeffrey Epstein&lt;/a&gt; worked as a schoolteacher before getting into finance.
Therefore, he is far more culpable than a twelve-year-old juvenile
offender like
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;From 25 to 27 September 2009, Taiwan hosted the
&lt;a href=&quot;https://web.archive.org/web/20090929040055/http://www.slat.org/icos2009/xoops.en/&quot;&gt;
International Conference on Open Source&lt;/a&gt;.  One of the
&lt;a href=&quot;https://danielpocock.com/en/category/debian-account-managers/&quot;&gt;
Debian Account Managers&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/people/joerg-jaspert-ganneff/&quot;&gt;
Joerg Jaspert&lt;/a&gt;, travelled there and brought an Asian woman,
&lt;a href=&quot;https://danielpocock.com/en/people/pei-hua-tseng-peihua/&quot;&gt;
Pei-Hua Tseng&lt;/a&gt;, back to
&lt;a href=&quot;https://danielpocock.com/en/category/germany/&quot;&gt;
Germany&lt;/a&gt; to marry him.  He admits that he was presenting himself as a
&lt;a href=&quot;https://danielpocock.com/en/what-is-a-debian-developer/&quot;&gt;
Debian Developer&lt;/a&gt; at the conference:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
&quot;I first met my wife at the â€œInternational Conference on OpenSourceâ€� 2009 in Taiwan. So OpenSource, Debian and me being some tiny wheel in the system wasnâ€™t entirely news to her.&quot;
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;If any other random developer meets a woman at a conference they are insulted
and told that relationships are a bad thing.  Yet for the oligarchs representing
Debian at events, it is open season on women.  This relationship helped bootstrap
&lt;a href=&quot;https://danielpocock.com/en/category/debian-pregnancy-cluster/&quot;&gt;
the Debian pregnancy cluster&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In 2010,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&#39;s&lt;/a&gt; older sister went to Bob Jones university.  The on-campus
therapist gave her bad advice.  The sister went to a more victim-oriented
off-campus center,
&lt;a href=&quot;https://www.julievalentinecenter.org/&quot;&gt;
Julie Valentine Center&lt;/a&gt;.  After counselling there, the victim and another
sister, who is also a victim, reported the abuse to
&lt;a href=&quot;https://danielpocock.com/en/category/police-rumors/&quot;&gt;
police&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;US Navy investigators immediately questioned
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt;.  He admitted the allegations about his childhood are true.
He was immediately terminated from Navy employment.
&lt;/p&gt;

&lt;p&gt;In August 2010,
&lt;a href=&quot;https://danielpocock.com/en/category/debconf10/&quot;&gt;
DebConf10&lt;/a&gt; was in New York City.  By this stage, we can see
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; had well and truly adopted a
&lt;a href=&quot;https://danielpocock.com/en/category/cult-behaviour/&quot;&gt;
cult lifestyle&lt;/a&gt;.  A group of couples share rooms.  They pretend
we have no money while keeping it for themselves.  They are pretending that
bringing your wife is diversity.&lt;/p&gt;

&lt;img alt=&quot;DebConf10, room list&quot; src=&quot;https://danielpocock.com/assets/debian/debconf10/2010-debconf10-rooms-2.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;DebConf10, room list&quot; src=&quot;https://danielpocock.com/assets/debian/debconf10/2010-debconf10-rooms-3.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;On 15 August 2010, the night before &lt;em&gt;Debian Day&lt;/em&gt;, the volunteer
&lt;a href=&quot;https://danielpocock.com/en/people/frans-pop-fjp/&quot;&gt;
Frans Pop&lt;/a&gt; sent us his
&lt;a href=&quot;https://danielpocock.com/en/why-did-frans-pop-choose-debian-day-for-suicide/&quot;&gt;
resignation / suicide note&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On 17 April 2011, the day that Carla and I got married,
&lt;a href=&quot;https://danielpocock.com/en/people/adrian-von-bidder-cmot/&quot;&gt;
Adrian von Bidder-Senn&lt;/a&gt; died in Basel,
&lt;a href=&quot;https://danielpocock.com/en/category/switzerland/&quot;&gt;
Switzerland&lt;/a&gt;.  People discussed it
&lt;a href=&quot;https://danielpocock.com/en/adrian-diana-von-bidder-senn-debian-detailed-history-death/&quot;&gt;
like a copycat suicide&lt;/a&gt;.  This is a horrific thing to recall on your
wedding anniversary each year.&lt;/p&gt;

&lt;img alt=&quot;Adrian von Bidder, Debian&quot; src=&quot;https://danielpocock.com/assets/von-bidder-tombstone.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Shortly after
&lt;a href=&quot;https://danielpocock.com/en/people/adrian-von-bidder-cmot/&quot;&gt;
Adrian von Bidder-Senn&lt;/a&gt; died, his wife,
&lt;a href=&quot;https://danielpocock.com/en/people/diana-von-bidder-senn/&quot;&gt;
Diana von Bidder-Senn&lt;/a&gt; sent an email revealing she was oblivious to
what he was doing on his computer.  In hindsight, we can see that both
Adrian and Diana were tricked by
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; in different ways:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: condolences for &lt;a href=&quot;https://danielpocock.com/en/people/adrian-von-bidder-cmot/&quot;&gt;Adrian&lt;/a&gt;
Date: Mon, 25 Apr 2011 15:02:18 +0200
From: &lt;a href=&quot;https://danielpocock.com/en/people/diana-von-bidder-senn/&quot;&gt;Diana von Bidder&lt;/a&gt; &amp;lt;diana@fortytwo.ch&amp;gt;
To: &lt;a href=&quot;https://danielpocock.com/en/people/stefano-zacchiroli-zack/&quot;&gt;Stefano Zacchiroli&lt;/a&gt; &amp;lt;leader@debian.org&amp;gt;

Dear &lt;a href=&quot;https://danielpocock.com/en/people/stefano-zacchiroli-zack/&quot;&gt;Stefano&lt;/a&gt;
Thank you for your wonderful mail! Yes Debian and people were very
important to &lt;a href=&quot;https://danielpocock.com/en/people/adrian-von-bidder-cmot/&quot;&gt;Adrian&lt;/a&gt;. &lt;b&gt;I was glad that he was not only sitting alone in
front of his computer&lt;/b&gt; but to know that there are people out there that
estimate him and are his friends even if most of you did not know each
other personally.
The way you describe him (empathy, calm, insight, ... - just the &lt;a href=&quot;https://danielpocock.com/en/people/adrian-von-bidder-cmot/&quot;&gt;Adrian&lt;/a&gt;
I know) assures me on how good friends of &lt;a href=&quot;https://danielpocock.com/en/people/adrian-von-bidder-cmot/&quot;&gt;Adrian&lt;/a&gt; are out there. And I
will always continue to think of this (in a good way!) when continuing
to use debian (which I became quite fond of because of &lt;a href=&quot;https://danielpocock.com/en/people/adrian-von-bidder-cmot/&quot;&gt;Adrian&lt;/a&gt;). 
It&#39;s a pity that he couldn&#39;t go to Banja Luca anymore which he did so
much look forward to. Anyway, I wish you all the best and hope you
continue your good work.

- &lt;a href=&quot;https://danielpocock.com/en/people/diana-von-bidder-senn/&quot;&gt;Diana&lt;/a&gt;
&lt;/pre&gt;

&lt;p&gt;The family asked for donations to &lt;em&gt;AMICA Schweiz&lt;/em&gt;, a charity that
helps women abused during the conflict in the Balkan countries.  People
argued about it on &lt;em&gt;debian-private&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Two hundred Swiss francs is a trivial sum compared to the
&lt;a href=&quot;https://danielpocock.com/en/how-much-does-google-pay-to-destroy-a-man-and-his-family/&quot;&gt;
$120,000 given to lawyers and WIPO UDRP to stop people talking about the
deaths&lt;/a&gt;.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: Death of &lt;a href=&quot;https://danielpocock.com/en/people/adrian-von-bidder-cmot/&quot;&gt;Adrian von Bidder&lt;/a&gt;
Date: Thu, 21 Apr 2011 08:56:04 +0200
From: &lt;a href=&quot;https://danielpocock.com/en/people/andreas-tille/&quot;&gt;Andreas Tille&lt;/a&gt; &amp;lt;andreas@an3as.eu&amp;gt;
To: debian-private@lists.debian.org

Hi,

I admit that e-mails about emotions tend to be turned into flames
and I do not want this here.

On Thu, Apr 21, 2011 at 07:24:59AM +0200, martin f krafft wrote:
&amp;gt; I suggest that we donate 200 CHF from the project (price of a nice
&amp;gt; wreath with writing). If there are other donators, please get in
&amp;gt; touch with me.

The donators of the Debian project intend to spend money for the
development of the Debian project.  If we spend Debian money for a
wreath (or any form of replacement donation) this is not related to the
development of Debian.  It is rather *us* *people* who say goodby to
a friend.  So the money should not come from project funds but rather
from single developers.

Saying this I would like to vote against spending Debian money but
rather doing a separate collection.  I could live with some kind of &quot;de
facto&quot; collection like this:  I will ask for Debian money for DebConf.
In case Debian project money is really spended for Adrian&#39;s funeral I&#39;d
simply ask for 10Euro less than I would have done otherwise.

Please do not get me wrong: I&#39;m in any case for showing that the Debian
community is sad about the dead of Adrian.  But I&#39;m not convinced that
this purpose is in the interest of our donators and it finally comes
quite cheap for us individuals to simply spend Debian money.

Kind regards

       Andreas.

-- 
http://fam-tille.de
&lt;/pre&gt;

&lt;p&gt;In December 2011,
&lt;a href=&quot;https://danielpocock.com/en/people/martin-krafft-madduck/&quot;&gt;
Martin Krafft&lt;/a&gt; describes
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; itself as a teenage culture.  His fingers get a mention
in the email signature:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Mooing solves everything
Date: Wed, 7 Dec 2011 22:14:13 +0100
From: &lt;a href=&quot;https://danielpocock.com/en/people/martin-krafft-madduck/&quot;&gt;martin f krafft&lt;/a&gt; &amp;lt;madduck@debian.org&amp;gt;
Reply-To: madduck@debian.org
Organization: The Debian project
To: debian private list &amp;lt;debian-private@lists.debian.org&amp;gt;

[Writing to -private with Reply-To set, because this is clearly
a classified topic]

We know about super cow powers and swallowed elephants, and the
power of the Mooing.

What I want to do is collect cow-related stories of relevance to our
project, to prevent an inside joke from dying as Debian prepares to
exit teenagehood.

So, please hit me. What does Debian have to do with mooing?

-- 
 .&#39;&#39;`.   &lt;a href=&quot;https://danielpocock.com/en/people/martin-krafft-madduck/&quot;&gt;martin f. krafft&lt;/a&gt; &amp;lt;madduck@d.o&amp;gt;      Related projects:
: :&#39;  :  proud Debian developer               http://debiansystem.info
`. `&#39;`   http://people.debian.org/~madduck    http://vcs-pkg.org
  `-  Debian - when you have better things to do than fixing systems
 on the other hand, you have different fingers.
&lt;/pre&gt;

&lt;p&gt;At the same time, in December 2011, a young transgender straight out
of an elite French high school was given a paid job in a student-run
Internet Service Provider, the
&lt;a href=&quot;https://danielpocock.com/en/category/crans/&quot;&gt;
CR@NS&lt;/a&gt; network at
&lt;a href=&quot;https://danielpocock.com/en/category/ens-cachan/&quot;&gt;
ENS Cachan&lt;/a&gt;.  One of the older students, Debian Developer
&lt;a href=&quot;https://danielpocock.com/en/people/nicolas-dandrimont-olasd/&quot;&gt;
Nicolas Dandrimont&lt;/a&gt;, was dating this vulnerable young person at
the same time as paying them and trying to help them
&lt;a href=&quot;https://danielpocock.com/en/paris-love-nest-debian-from-lycee-lakanal-ens-cachan-crans-nepotism/&quot;&gt;
get Outreachy money&lt;/a&gt;.  Recall the original discussion about offering
money for transgender participation many years prior.  Offering
these people moral support may be acceptable but offering large
sums of &quot;diversity&quot; money at a point when they are unsure of their
identity appears to be highly unethical.&lt;/p&gt;

&lt;p&gt;On 31 March 2012,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; requested to be authorised as a Debian Maintainer.
His request received advocacies from
&lt;a href=&quot;https://danielpocock.com/en/people/jordi-mallach/&quot;&gt;
Jordi Mallach&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/martin-pitt-mpitt/&quot;&gt;
Martin Pitt&lt;/a&gt;.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: DM application of &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt;
Date: Fri, 30 Mar 2012 18:58:41 -0400
From: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@ubuntu.com&amp;gt;
To: debian-newmaint@lists.debian.org
CC: &lt;a href=&quot;https://danielpocock.com/en/people/jordi-mallach/&quot;&gt;Jordi Mallach&lt;/a&gt; &amp;lt;jordi@debian.org&amp;gt;, &lt;a href=&quot;https://danielpocock.com/en/people/michael-biebl/&quot;&gt;Michael Biebl&lt;/a&gt; &amp;lt;biebl@debian.org&amp;gt;,
&lt;a href=&quot;https://danielpocock.com/en/people/sebastien-bacher-seb128/&quot;&gt;Sebastien Bacher&lt;/a&gt; &amp;lt;seb128@debian.org&amp;gt;, &lt;a href=&quot;https://danielpocock.com/en/people/martin-pitt-mpitt/&quot;&gt;Martin Pitt&lt;/a&gt; &amp;lt;mpitt@debian.org&amp;gt;

This is my declaration of intent to become a Debian Maintainer
&amp;lt;URL:http://wiki.debian.org/DebianMaintainer&amp;gt;.

I have read the Social Contract, Debian Free Software Guidelines and
Debian Machine Usage Policy and agree with all of them.

Currently, I maintain the package kabikaboo
and I coâ€�maintain the &lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;GNOME&lt;/a&gt; packages with the Debian GNOME Team.

My GnuPG key EBFE6C7D is signed by the Debian Developer &lt;a href=&quot;https://danielpocock.com/en/people/andres-mejia-ameji/&quot;&gt;Andres Mejia&lt;/a&gt;.

I look forward to becoming a Debian Maintainer. Thanks for your attention.

&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt;


-- 
To UNSUBSCRIBE, email to debian-newmaint-REQUEST@lists.debian.org
with a subject of &quot;unsubscribe&quot;. Trouble? Contact
listmaster@lists.debian.org
Archive: http://lists.debian.org/4F763AA1.1050503@ubuntu.com
&lt;/pre&gt;

&lt;p&gt;The first advocacy:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: DM application of &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt;
Date: Sat, 31 Mar 2012 10:58:40 +0200
From: &lt;a href=&quot;https://danielpocock.com/en/people/jordi-mallach/&quot;&gt;Jordi Mallach&lt;/a&gt; &amp;lt;jordi@canonical.com&amp;gt;
Organization: SinDominio
To: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@ubuntu.com&amp;gt;
CC: debian-newmaint@lists.debian.org, &lt;a href=&quot;https://danielpocock.com/en/people/michael-biebl/&quot;&gt;Michael Biebl&lt;/a&gt; &amp;lt;biebl@debian.org&amp;gt;, &lt;a href=&quot;https://danielpocock.com/en/people/sebastien-bacher-seb128/&quot;&gt;Sebastien Bacher&lt;/a&gt; &amp;lt;seb128@debian.org&amp;gt;, &lt;a href=&quot;https://danielpocock.com/en/people/martin-pitt-mpitt/&quot;&gt;Martin Pitt&lt;/a&gt; &amp;lt;mpitt@debian.org&amp;gt;

Hello!

On Fri, Mar 30, 2012 at 06:58:41PM -0400, &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; wrote:
&amp;gt; This is my declaration of intent to become a Debian Maintainer
&amp;gt; &amp;lt;URL:http://wiki.debian.org/DebianMaintainer&amp;gt;.
&amp;gt; 
&amp;gt; I have read the Social Contract, Debian Free Software Guidelines and
&amp;gt; Debian Machine Usage Policy and agree with all of them.
&amp;gt; 
&amp;gt; Currently, I maintain the package kabikaboo
&amp;gt; and I coâ€�maintain the &lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;GNOME&lt;/a&gt; packages with the Debian GNOME Team.
&amp;gt; 
&amp;gt; My GnuPG key EBFE6C7D is signed by the Debian Developer &lt;a href=&quot;https://danielpocock.com/en/people/andres-mejia-ameji/&quot;&gt;Andres Mejia&lt;/a&gt;.
&amp;gt; 
&amp;gt; I look forward to becoming a Debian Maintainer. Thanks for your attention.

I&#39;ve been silently waiting for this email to hit my inbox for some time
now, and I&#39;m very, very happy &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy&lt;/a&gt; has taken this step forward.

&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy&lt;/a&gt; is an Ubuntu member and is very involved, as far as I can tell, in
Ubuntu Core packaging. For a long time, though, he has been working with
the Debian GNOME team, which helps us reduce the delta with Ubuntu, get
new blood in the team (something that&#39;s really appreciated) and generally
have another voice to discuss Debianâ†�â†’Ubuntu matters wrt GNOME.

&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy&lt;/a&gt; is part of our team, and it&#39;s only natural he becomes (at least!) a
Debian Maintainer.

&lt;a href=&quot;https://danielpocock.com/en/people/jordi-mallach/&quot;&gt;Jordi&lt;/a&gt;
-- 
&lt;a href=&quot;https://danielpocock.com/en/people/jordi-mallach/&quot;&gt;Jordi Mallach PÃ©rez&lt;/a&gt;  --  Debian developer     http://www.debian.org/
jordi@sindominio.net     jordi@debian.org     http://www.sindominio.net/
GnuPG public key information available at http://oskuro.net/
&lt;/pre&gt;

&lt;p&gt;The second advocacy:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: DM application of &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt;
Date: Tue, 3 Apr 2012 07:24:13 +0200
From: &lt;a href=&quot;https://danielpocock.com/en/people/martin-pitt-mpitt/&quot;&gt;Martin Pitt&lt;/a&gt; &amp;lt;mpitt@debian.org&amp;gt;
To: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@ubuntu.com&amp;gt;
CC: debian-newmaint@lists.debian.org, &lt;a href=&quot;https://danielpocock.com/en/people/jordi-mallach/&quot;&gt;Jordi Mallach&lt;/a&gt; &amp;lt;jordi@debian.org&amp;gt;, &lt;a href=&quot;https://danielpocock.com/en/people/michael-biebl/&quot;&gt;Michael Biebl&lt;/a&gt; &amp;lt;biebl@debian.org&amp;gt;, &lt;a href=&quot;https://danielpocock.com/en/people/sebastien-bacher-seb128/&quot;&gt;Sebastien Bacher&lt;/a&gt; &amp;lt;seb128@debian.org&amp;gt;

Hello &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy&lt;/a&gt;,

&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; [2012-03-30 18:58 -0400]:
&amp;gt; This is my declaration of intent to become a Debian Maintainer
&amp;gt; &amp;lt;URL:http://wiki.debian.org/DebianMaintainer&amp;gt;.
&amp;gt; 
&amp;gt; I have read the Social Contract, Debian Free Software Guidelines and
&amp;gt; Debian Machine Usage Policy and agree with all of them.
&amp;gt; 
&amp;gt; Currently, I maintain the package kabikaboo
&amp;gt; and I coâ€�maintain the GNOME packages with the Debian GNOME Team.

I&#39;ve seen your great activity in both Debian&#39;s and Ubuntu&#39;s GNOME
team. You have demonstrated the ability to deal with nontrivial
packaging situations, a sustained enthusiasm and dedication, and good
collaboration with upstream as well. I fully support your application
for DM, thanks!

&lt;a href=&quot;https://danielpocock.com/en/people/martin-pitt-mpitt/&quot;&gt;Martin&lt;/a&gt;
-- 
&lt;a href=&quot;https://danielpocock.com/en/people/martin-pitt-mpitt/&quot;&gt;Martin Pitt&lt;/a&gt;                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
&lt;/pre&gt;

&lt;p&gt;On 15 May 2012,
&lt;a href=&quot;https://wiki.gnome.org/Engagement(2f)QuarterlyReports(2f)2012(2f)Q2.html&quot;&gt;
minutes of the GNOME Foundation&lt;/a&gt; tell us that
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; was one of six people given voting rights in the foundation.
Many open source developers have never had the right to vote in any of these
incorporated bodies.  It appears that
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; was able to renew his membership and thereby maintain this status
even during his subsequent prison term.&lt;/p&gt;

&lt;p&gt;On 4 June 2012,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; became part of the
&lt;a href=&quot;https://launchpad.net/~jbicha/+participation&quot;&gt;
Masters of the Universe (MOTU)&lt;/a&gt; group in
&lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;
Ubuntu&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In April 2013, the
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianists&lt;/a&gt; decided to start offering money to young women under the disguise of
&lt;a href=&quot;https://danielpocock.com/en/category/outreachy/&quot;&gt;
Outreach Program for Women (OPW)&lt;/a&gt;, which was later renamed to
&lt;a href=&quot;https://danielpocock.com/en/category/outreachy/&quot;&gt;
Outreachy&lt;/a&gt;.  The Debian
&lt;a href=&quot;https://www.debian.org/devel/constitution&quot;&gt;
constitution&lt;/a&gt; explicitly says that contributors must be volunteers.  Therefore,
the payments to these young women are illegal under the constitution and may
be illegal in other ways too.&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;h3&gt;3.2. Composition and appointment&lt;/h3&gt;
&lt;p&gt;Developers are &lt;b&gt;volunteers&lt;/b&gt; who agree to further the aims of the Project insofar as they participate in it, and who maintain package(s) for the Project or do other work which the Project Leader&#39;s Delegate(s) consider worthwhile.&lt;/p&gt;
...
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;Here is one of the early advertising banners promoting the illegal payment of
$4,500.  The
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt; logo is on the woman&#39;s foot.  It is an uncanny coincidence
the logo strongly hints at the unison of male and female genitalia:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;

&lt;img alt=&quot;GNOME, Outreach Program for Women, OPW, Outreachy, prostitution, Debian, abuse&quot; src=&quot;https://danielpocock.com/assets/outreachy/gnome-women-outreach-poster-4162378406-shaded.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In July 2013, I publicly resigned from the
&lt;a href=&quot;https://danielpocock.com/en/category/alp/&quot;&gt;
Australian Labor Party (ALP)&lt;/a&gt; due to abuse of female
asylum seekers from Iran.  In the resignation email,
&lt;a href=&quot;https://web.archive.org/web/*/https://www.crikey.com.au/2013/07/25/tips-and-rumours-929/&quot;&gt;
which was leaked to Australian political news site Crikey&lt;/a&gt;,
I compared the scandal
&lt;a href=&quot;https://danielpocock.com/en/category/catholic-abuse/&quot;&gt;
to the Catholic abuse scandal&lt;/a&gt;.  I think this may be the first time my name
was on the public record as a supporter of victims.  This was well before the
&lt;em&gt;Spotlight&lt;/em&gt; movie and the &lt;em&gt;#MeToo&lt;/em&gt; phenomena, therefore, it
can&#39;t be suggested that those latter revelations influenced the strong words
used in my resignation in 2013.&lt;/p&gt;

&lt;p&gt;In September 2013,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; was convicted and sentenced to three years in a state prison.
The state prison is a far more onerous punishment than the county jail where
&lt;a href=&quot;https://danielpocock.com/en/people/jeffrey-epstein/&quot;&gt;
Jeffrey Epstein&lt;/a&gt; was briefly incarcerated.  The duration of
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&#39;s&lt;/a&gt; sentence is double the 18 month sentence imposed on
&lt;a href=&quot;https://danielpocock.com/en/people/jeffrey-epstein/&quot;&gt;
Epstein&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;At the sentencing,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Bicha&#39;s&lt;/a&gt; defence lawyer asked the judge not to put his name on the list of
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offenders&lt;/a&gt;.  This is a controversial topic.  The
&lt;a href=&quot;https://danielpocock.com/en/category/police-rumors/&quot;&gt;
police&lt;/a&gt; have also asked the judges not to automatically put every criminal
like this on the list.  The more pragmatic police commanders want these lists of
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offenders&lt;/a&gt; used for those pathological predators who never
truly change their ways.  Looking at the allegations against
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Bicha&lt;/a&gt;, he personally stopped offending at 15, during his childhood and there
is no evidence he is committing similar crimes as an adult.  To put it another
way, if a child goes missing, the local
&lt;a href=&quot;https://danielpocock.com/en/category/police-rumors/&quot;&gt;
police&lt;/a&gt; want to be looking at a list of the top twenty lifetime sex
offenders who are dangerous enough to deserve a house call.  If the police are
confronted with a list of over a thousand
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offenders&lt;/a&gt; in their district they have no way to know
which of those people to visit first.&lt;/p&gt;

&lt;p&gt;In October 2013,
&lt;a href=&quot;https://wng.org/articles/the-high-cost-of-negligence-1617309216&quot;&gt;
WORLD published a report about the case with an emphasis on the failure of
adults, including the parents, a pastor and a schoolteacher who all failed
to help the sisters during their childhood&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The story was syndicated widely and an extract containing
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Bicha&#39;s&lt;/a&gt; name is
&lt;a href=&quot;https://www.bishop-accountability.org/2013/10/the-high-cost-of-negligence/&quot;&gt;
on the Bishop-Accountability.org web site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In Australia and other countries, the media is normally prohibited from
publishing the names of juvenile offenders.  In a way, the young boys
are considered victims of their parents&#39; failures.  On that basis, they
have a right to privacy equivalent to the rights of the abuse victims.
Nonetheless, this type of restriction doesn&#39;t appear to be applicable
in the United States.  Nonetheless, if the local pastor and schoolteacher
were not part of the story, it is unlikely the newspapers would publish
the story at all.&lt;/p&gt;

&lt;p&gt;In November 2013,
&lt;a href=&quot;https://danielpocock.com/en/people/paul-tagliamonte-paultag/&quot;&gt;
Paul Tagliamonte&lt;/a&gt; sent the following message to the leaked
&lt;em&gt;debian-private&lt;/em&gt; email list.  It concerns a young woman who
applied for the
&lt;a href=&quot;https://danielpocock.com/en/category/outreachy/&quot;&gt;
OPW / Outreachy money&lt;/a&gt;.  Why are these men always thinking about the
age-of-consent when women are mentioned?&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt; 
Subject: Re: OPW Student in Kingston, Jamaica
Date: Mon, 25 Nov 2013 13:39:12 -0500
From: &lt;a href=&quot;https://danielpocock.com/en/people/paul-tagliamonte-paultag/&quot;&gt;Paul Tagliamonte&lt;/a&gt; &amp;lt;paultag@debian.org&amp;gt;
To: &lt;a href=&quot;https://danielpocock.com/en/people/joachim-breitner-nometa/&quot;&gt;Joachim Breitner&lt;/a&gt; &amp;lt;nomeata@debian.org&amp;gt;
CC: debian-private@lists.debian.org

On Mon, Nov 25, 2013 at 06:37:36PM +0000, &lt;a href=&quot;https://danielpocock.com/en/people/joachim-breitner-nometa/&quot;&gt;Joachim Breitner&lt;/a&gt; wrote:
&amp;gt; Hi,
&amp;gt; 
&amp;gt; Am Montag, den 25.11.2013, 13:18 -0500 schrieb &lt;a href=&quot;https://danielpocock.com/en/people/paul-tagliamonte-paultag/&quot;&gt;Paul Tagliamonte&lt;/a&gt;:
&amp;gt; &amp;gt; She&#39;s got a PhD, so I think this could also be a good beersigning, if
&amp;gt; &amp;gt; she drinks.
&amp;gt; 
&amp;gt; not having a PhD yet I wonder what expects me: Will I be a better
&amp;gt; drinker after I get the degree? Or a better keysigner? /me is confused.

It simply means she&#39;s likely of age in her jurisdiction. All I was
saying is that she&#39;s not a high school student.

Cheers,
  &lt;a href=&quot;https://danielpocock.com/en/people/paul-tagliamonte-paultag/&quot;&gt;Paul&lt;/a&gt;

-- 
 .&#39;&#39;`.  &lt;a href=&quot;https://danielpocock.com/en/people/paul-tagliamonte-paultag/&quot;&gt;Paul Tagliamonte&lt;/a&gt; &amp;lt;paultag@debian.org&amp;gt;
: :&#39;  : Proud Debian Developer
`. `&#39;`  4096R / 8F04 9AD8 2C92 066C 7352  D28A 7B58 5B30 807C 2A87
 `-     http://people.debian.org/~paultag
&lt;/pre&gt;

&lt;p&gt;On 16 January 2014, this appeared in a discussion about
&lt;a href=&quot;https://bugs.debian.org/735031&quot;&gt;
bug report 735031 (censorship)&lt;/a&gt;:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt; 
Subject: Re: Bug#735031: lists.debian.org: arbitrary bans
Date: Thu, 16 Jan 2014 11:44:29 -0500
From: &lt;a href=&quot;https://danielpocock.com/en/people/yaroslav-halchenko-yoh/&quot;&gt;Yaroslav Halchenko&lt;/a&gt; &amp;lt;debian@onerussian.com&amp;gt;
To: debian-private@lists.debian.org

On Thu, 16 Jan 2014, &lt;a href=&quot;https://danielpocock.com/en/people/antoine-beaupre-anarcat/&quot;&gt;Antoine BeauprÃ©&lt;/a&gt; wrote:
&amp;gt; &amp;gt;&amp;gt; If you believe such language is acceptable, and within social norms,
&amp;gt; &amp;gt;&amp;gt; and you are sure you would be unhappy in a community which rejects
&amp;gt; &amp;gt;&amp;gt; these things, may I gently suggest you find another community?

&amp;gt; &amp;gt; is, to my mind, much ruder and more offensive than anything in either
&amp;gt; &amp;gt; Norbert Preining&#39;s message or the cited messages of Jordon Bedwell.

&amp;gt; No, it is not. Norbert took the liberty of comparing people to Pol
&amp;gt; Pot. Jordon made sexist comments about &quot;teenage girls&quot; or calling people
&amp;gt; &quot;asses&quot;.

I once (after being with the project for many years) have been called a
&quot;random guy&quot; by another respectful DD, while I was trying to improve the
state of one of the packages in the archive.  I was offended, probably
even more than those teenage girls in a single random technical thread.

Should I also have sought him being banned?  I do not think so.

IMHO the balance here is too fragile, and excessive abstraction away
from the technical merits could IMHO hurt the project more than to help
our community (which is like a homeland and many other social entities
to me).

Just my 1cent
-- 
&lt;a href=&quot;https://danielpocock.com/en/people/yaroslav-halchenko-yoh/&quot;&gt;Yaroslav O. Halchenko, Ph.D.&lt;/a&gt;
http://neuro.debian.net http://www.pymvpa.org http://www.fail2ban.org
Senior Research Associate,     Psychological and Brain Sciences Dept.
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419
WWW:   http://www.linkedin.com/in/yarik        
&lt;/pre&gt;


&lt;p&gt;In April 2014,
&lt;a href=&quot;https://web.archive.org/web/*/manateeglens.org&quot;&gt;
Manatee Glens Rape Crisis Center&lt;/a&gt; organised a march and the sister,
&lt;a href=&quot;https://danielpocock.com/en/people/jennifer-bicha/&quot;&gt;
Jennifer (Jen) Bicha&lt;/a&gt; gave a speech.
&lt;a href=&quot;https://www.bradenton.com/news/local/crime/article34711608.html&quot;&gt;
News report about the march&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Around the same time, the GRACE web site published a report by
&lt;a href=&quot;https://danielpocock.com/en/people/jennifer-bicha/&quot;&gt;
Jennifer Bicha&lt;/a&gt; under the heading
&lt;a href=&quot;https://www.netgrace.org/resources/sexually-assaulted-in-a-christian-home&quot;&gt;
Sexually Assaulted in a Christian Home&lt;/a&gt;.  They highlighted the following
quote:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
The next time you defend a predator and say, 
â€™Oh, he was just a child,â€™ remember the faces 
of the innocent little ones whose childhood was stolen.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;I have mixed feelings about that.  It was not &quot;just a child&quot;.  As the
judge told us, it was &lt;em&gt;the child and the negligent adults together&lt;/em&gt; who
left
&lt;a href=&quot;https://danielpocock.com/en/people/jennifer-bicha/&quot;&gt;
Jennifer Bicha&lt;/a&gt; to suffer this torture.  Many other legal cases
have made similar conclusions, including one high profile case where they
recently decided parents were guilty when their child engaged in a schoolyard
&lt;a href=&quot;https://www.npr.org/2024/04/09/1243555351/crumbley-james-jennifer-ethan-parents-oxford-school-shooter-sentence&quot;&gt;
shooting spree&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On 3-4 May 2014, the first
&lt;a href=&quot;https://danielpocock.com/en/category/oscal/&quot;&gt;
OSCAL&lt;/a&gt; conference took place in Tirana,
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt;.  (&lt;a href=&quot;https://fedoraproject.org/wiki/OSCAL_2014&quot;&gt;
Fedora wiki page&lt;/a&gt;).  Photos released by the conference organizers suggest
over eighty percent of the participants were young women.  In every other
country, we would normally see the gender statistics reversed.  In
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; various theories have appeared about why large numbers of women
came to these events.  Some of the women have ended up moving to the city of
&lt;a href=&quot;https://danielpocock.com/en/category/brno/&quot;&gt;
Brno&lt;/a&gt; in the
&lt;a href=&quot;https://danielpocock.com/en/category/czech-republic/&quot;&gt;
Czech Republic&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On 13 July 2014, Italian newspaper &lt;em&gt;La Repubblica&lt;/em&gt; publishes a
&lt;a href=&quot;https://web.archive.org/web/20140713074641/https://www.repubblica.it/cultura/2014/07/13/news/il_papa_come_ges_user_il_bastone_contro_i_preti_pedofili-91416624/&quot;&gt;
report about an interview between Pope Francis and editor Eugenio Scalfari&lt;/a&gt;.
The late
&lt;a href=&quot;https://danielpocock.com/en/people/pope-francis/&quot;&gt;
Pope Francis&lt;/a&gt; allegedly told
&lt;a href=&quot;https://danielpocock.com/en/people/eugenio-scalfari/&quot;&gt;
Eugenio Scalfari&lt;/a&gt; that his own advisors have suggested that two percent
is an accurate estimate of the number of priests who are paedophiles.  He
deplores their behaviour but on the other hand he insists it is no higher
than the percentage of paedophiles in any other profession.&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
&lt;p&gt;&quot;Among the 2% who are paedophiles are priests, bishops and cardinals. Others, more numerous, know but keep quiet. &lt;b&gt;They punish without giving the reason&lt;/b&gt;,&quot;&lt;/p&gt;
&lt;p&gt;&quot;I find this state of affairs intolerable,&quot;&lt;/p&gt;
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;The comment about punishments resonates with many of the
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; scandals over the years.&lt;/p&gt;

&lt;p&gt;Likewise, the two percent estimate can be applied to large free software
organisations like
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; and the
&lt;a href=&quot;https://danielpocock.com/en/category/fsfe-misfits/&quot;&gt;
FSFE misfits&lt;/a&gt;.  These groups typically have a few hundred core participants
and a few thousand loosely affiliated contributors.  In the recent
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; election, a thousand people were registered to vote.  Two percent
of that is twenty paedophiles.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/jennifer-bicha/&quot;&gt;
Jennifer Bicha&lt;/a&gt;, sister of
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt;, had sought help from an on-campus therapist and
the support she received was very poor.  The campus, Bob Jones University,
undertook an investigation, culminating in the GRACE report.  WYFF News
&lt;a href=&quot;https://www.wyff4.com/article/grace-report-victim-speaks-exclusively-to-wyff-news-4-investigates/6798618&quot;&gt;
interviewed Jennifer Bicha about her experience with Bob Jones University
and other supports she had reached out to&lt;/a&gt;.  She is also
&lt;a href=&quot;https://www.youtube.com/watch?v=osf1pD0Z9Z4&quot;&gt;
on Youtube&lt;/a&gt; for those who are geoblocked.  The focus of these news
reports is not really
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; himself but the failure to support victims.  Nonetheless,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; was regularly in news reports due to these wider circumstances.
Therefore, it is shameful that he has come into
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;
Ubuntu&lt;/a&gt; &amp;amp;
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; without anybody having a public discussion about risk to
victims.&lt;/p&gt;

&lt;p&gt;The same news network published a detailed
&lt;a href=&quot;https://web.archive.org/web/20191118143725/https://www.wyff4.com/article/victim-interviewed-for-bju-grace-report-speaks-to-wyff-news-4/7012894&quot;&gt;
article on their web site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/jennifer-bicha/&quot;&gt;
Jennifer Bicha&lt;/a&gt; spoke at a fundraising event for the
&lt;em&gt;Julie Valentine Rape Crisis Center&lt;/em&gt;.  This lead to
&lt;a href=&quot;https://www.greenvilleonline.com/story/news/local/2015/02/12/abuse-victim-share-message-hope-healing/23309561/&quot;&gt;
another news report in Greenville Online&lt;/a&gt;.
(&lt;a href=&quot;https://eu.greenvilleonline.com/story/news/local/2015/02/12/abuse-victims-share-message-hope-healing/23309561/&quot;&gt;
alternative link&lt;/a&gt;).
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&#39;s&lt;/a&gt; name is not mentioned in this report.
&lt;/p&gt;

&lt;p&gt;In August 2015, according to reports from the high-profile hush-money trial,
&lt;a href=&quot;https://danielpocock.com/en/people/donald-trump/&quot;&gt;
Donald Trump&lt;/a&gt;, his lawyer
&lt;a href=&quot;https://danielpocock.com/en/people/michael-cohen-lawyer/&quot;&gt;
Michael Cohen&lt;/a&gt; and National Enquirer editor
&lt;a href=&quot;https://danielpocock.com/en/people/david-pecker-enquirer/&quot;&gt;
David Pecker&lt;/a&gt; had a meeting and agreed on a catch-and-kill plan.  It was
alleged that if any woman tried to sell a story about
&lt;a href=&quot;https://danielpocock.com/en/people/donald-trump/&quot;&gt;
Donald Trump&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/people/david-pecker-enquirer/&quot;&gt;
Pecker&lt;/a&gt; would buy exclusive rights to the story and then keep the story
hidden until after the election.  Similar plots have been created in
open source software communities.
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianists&lt;/a&gt; created the &quot;anti-harassment&quot; team.  Fedora has a
&quot;Community Team&quot;.  These teams pretend to listen to complaints.  If a woman
ever makes a complaint about one of the oligarchs or the men employed
by the controlling corporations then the story is covered up.
The woman who made the complaint will receive a polite response but
she will not be invited to any more events.  The same theme emerged in the
&lt;a href=&quot;https://danielpocock.com/en/people/harvey-weinstein/&quot;&gt;
Harvey Weinsten&lt;/a&gt; saga.
&lt;a href=&quot;https://danielpocock.com/en/people/harvey-weinstein/&quot;&gt;
Harvey Weinsten&#39;s&lt;/a&gt; team was afraid some women posed a risk.  They
told other movie producers to avoid the women and lock them out of
the industry.  Eventually, Lord of the Rings director Peter Jackson
admitted he had excluded some actresses after receiving
&lt;a href=&quot;https://danielpocock.com/en/people/harvey-weinstein/&quot;&gt;
Harvey Weinsten&#39;s&lt;/a&gt; warnings to avoid them.  This is the same
phenomena described by
&lt;a href=&quot;https://danielpocock.com/en/people/bryan-lunduke/&quot;&gt;
Lunduke&lt;/a&gt; in his report
&lt;a href=&quot;https://lunduke.substack.com/p/fedoras-code-of-conduct-200-day-response&quot;&gt;
Fedora&#39;s Code of Conduct: 200 Day Response Time, Only Protects You if Red Hat
Likes You&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In November 2015,
&lt;a href=&quot;https://en.wikipedia.org/wiki/Spotlight_(film)&quot;&gt;
the movie Spotlight&lt;/a&gt; was released in cinemas.  It is a biographical film based
on the 2002 &lt;em&gt;Spotlight&lt;/em&gt; investigation that exposed the phenomena of
clerical abuse in Boston.  A lot of
&lt;a href=&quot;https://danielpocock.com/en/category/catholic/&quot;&gt;
Catholics&lt;/a&gt; and people from other religions have watched the film.  In one of the
key scenes in the movie, they discuss the research of
&lt;a href=&quot;https://danielpocock.com/en/people/richard-sipe/&quot;&gt;
Richard Sipe&lt;/a&gt;, who suggests that two percent of men in the general
population are paedophiles but the rate in the
&lt;a href=&quot;https://danielpocock.com/en/category/catholic-abuse/&quot;&gt;
Catholic abuse&lt;/a&gt; context is alleged to be six percent.  Many people have
speculated whether or not the figure is true and whether the church is
really responsible for it or whether it is some factor out of their
control.&lt;/p&gt;

&lt;p&gt;There are approximately one thousand developers in
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; today.  If two percent are paedophiles that would be twenty
men.  We only know the identity of one,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt;.  Who are the other nineteen?  We have evidence about
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&#39;s&lt;/a&gt; underage girlfriend but in that case,
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Qoshi&lt;/a&gt; is not a Debian Developer so he is not in the same group for
statistical purposes.&lt;/p&gt;

&lt;p&gt;Looking at the culture of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;, it has some awkward similarities to the
&lt;a href=&quot;https://danielpocock.com/en/category/catholic-abuse/&quot;&gt;
Catholic abuse crisis&lt;/a&gt;.  Therefore, we need to consider the possibility
that the percentage of Debian Developers who are paedophiles, like the
percentage of priests, may be above the two percent average for the
population.  If six percent of Debian Developers are paedophiles, that is
sixty paedophiles.&lt;/p&gt;

&lt;p&gt;On 12 March 2016,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; was released from prison
&lt;a href=&quot;https://web.archive.org/web/20260421195333/https://www.insideprison.com/state-inmate-search.asp?lnam=Bicha&amp;amp;id=1745919&quot;&gt;
under supervision / parole&lt;/a&gt; until 11 March 2021.&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: &lt;a href=&quot;https://danielpocock.com/en/people/jacob-appelbaum-ioerror/&quot;&gt;Jacob Appelbaum&lt;/a&gt; and harrassement
Date: Wed, 15 Jun 2016 13:48:53 +0200
From: &lt;a href=&quot;https://danielpocock.com/en/people/mehdi-dogguy/&quot;&gt;Mehdi Dogguy&lt;/a&gt; &amp;lt;leader@debian.org&amp;gt;
To: debian-private@lists.debian.org

Hi all,

&lt;a href=&quot;https://danielpocock.com/en/people/jacob-appelbaum-ioerror/&quot;&gt;Jacob Appelbaum&lt;/a&gt; is currently facing some serious accusations in other
communities, and DAMs are aware of at least two Debian Developers who
have lived and have witnessed situations that are &lt;b&gt;a clear case for
worry&lt;/b&gt;.

[ ... snip defamation crap ... ]
&lt;/pre&gt;

&lt;p&gt;None of the emails really tells us what is a &quot;clear case for worry&quot;,
to this day, it is still not clear at all.&lt;/p&gt;

&lt;p&gt;In contrast, the accusations against
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; were very clear.  He is accused of abusing his little
sisters and at least two other victims.  He admitted these accusations
too.&lt;/p&gt;

&lt;p&gt;Notice it is a lot like the vendetta against
&lt;a href=&quot;https://danielpocock.com/en/people/ted-walther-krooger/&quot;&gt;
Ted Walther&lt;/a&gt; from
&lt;a href=&quot;https://danielpocock.com/en/category/debconf6/&quot;&gt;
DebConf6&lt;/a&gt;.  He never committed any crime but after somebody spread a
rumour that his female friend was a prostitute, it took barely one hour
for the whole conference dinner to turn against him and erupt into
violence.&lt;/p&gt;

&lt;p&gt;In both the case of
&lt;a href=&quot;https://danielpocock.com/en/people/ted-walther-krooger/&quot;&gt;
Ted Walther (2006)&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/jacob-appelbaum-ioerror/&quot;&gt;
Dr Jacob Appelbaum (2006)&lt;/a&gt;, the rogue
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianists&lt;/a&gt; have been far too arrogant to admit the rumours were falsified
and give these men and their families the apology they deserve.  Yet they are
asking us to ignore the very real abuse convictions against
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; and welcome him with open arms.&lt;/p&gt;

&lt;p&gt;In April 2017,
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt; was elected for the first time as the leader of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;.  One week later, the Fellowship elected me as their
representative to the
&lt;a href=&quot;https://danielpocock.com/en/category/fsfe-misfits/&quot;&gt;
FSFE misfits&lt;/a&gt; in Berlin.  From this point on,
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt; appeared to be jealous and resentful that another
&lt;a href=&quot;https://danielpocock.com/en/what-is-a-debian-developer/&quot;&gt;
Debian Developer&lt;/a&gt; was in a leadership position in the community.
Today, we see a similar rivalry between the US President
&lt;a href=&quot;https://danielpocock.com/en/people/donald-trump/&quot;&gt;
Donald Trump&lt;/a&gt; and the other American head of state,
&lt;a href=&quot;https://danielpocock.com/en/people/pope-leo-xiv/&quot;&gt;
Pope Leo&lt;/a&gt; from Chicago.
When women had complaints about certain oligarchs, they had a choice
between going to
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt; or telling me about it in my capacity as
Fellowship representative.
Women were coming to me with evidence about problems in the community.
Some of the large corporations would have preferred to see those women
reporting problems through channels controlled by the corporations.&lt;/p&gt;

&lt;p&gt;On 11 May 2017, while on parole,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; submitted an application to become a
&lt;a href=&quot;https://danielpocock.com/en/what-is-a-debian-developer/&quot;&gt;
Debian Developer&lt;/a&gt;.  The
&lt;a href=&quot;https://lists.debian.org/debian-newmaint/2017/05/&quot;&gt;
email advocacies&lt;/a&gt; are available online.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;To: Jeremy Bicha &amp;lt;jbicha@ubuntu.com&amp;gt;
Cc: debian-newmaint@lists.debian.org, nm@debian.org, archive-184@nm.debian.org
Subject: Re: Jeremy Bicha: Declaration of intent
From: &lt;a href=&quot;https://danielpocock.com/en/people/andreas-henriksson-ah/&quot;&gt;Andreas Henriksson&lt;/a&gt; &amp;lt;andreas@fatal.se&amp;gt;
Date: Fri, 12 May 2017 08:55:11 +0200

Hello!

I have personally worked with &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@ubuntu.com&amp;gt; in the
pkg-gnome team where he has been an outstanding contributor for a
sufficiently long time and I know jbicha having full unsupervised
unrestricted upload access to the archive would benefit us in the
team and likely also Debian as a whole on an even wider scale
than before.
I&#39;m aware &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy&lt;/a&gt; is also very active in &lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;Ubuntu&lt;/a&gt; and &lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;GNOME&lt;/a&gt; upstream.
I find it that Jeremy is very good at interacting with upstream as
well as avoiding/resolving conflict or disagreeing opinions, which
means he has atleast two skills that I think we should have more
people like in &lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;Debian&lt;/a&gt;.

For any AM tasked to question &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy&lt;/a&gt; I would say you can skip
any regular packaging related questions. If you want to give
him some challange you might want to focus on a more complicated
philosophical question or ask him specifically about Debian
infrastructure and procedures related to those (as he mainly
uploads to &lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;Ubuntu&lt;/a&gt; and AFAIK has only very limited usaged his
DM privilegies because of the pkg-gnome streamlined sponsorship
workflow).

But to be frank, please consider just fast-forwarding jbicha through
the entire process because any potential knowledge-gap he might
have I&#39;m more than sure we can discuss and handle those within
the pkg-gnome team which has many very experienced DDs that would
happily assist jbicha if needed.

Regards,
&lt;a href=&quot;https://danielpocock.com/en/people/andreas-henriksson-ah/&quot;&gt;Andreas Henriksson&lt;/a&gt;
&lt;/pre&gt;

&lt;p&gt;Here is the other advocacy:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;To: debian-newmaint@lists.debian.org
Cc: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@ubuntu.com&amp;gt;, nm@debian.org, archive-184@nm.debian.org
Subject: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt;: Advocate
From: &lt;a href=&quot;https://danielpocock.com/en/people/gianfranco-costamagna-locutusofborg/&quot;&gt;Gianfranco Costamagna&lt;/a&gt; &amp;lt;locutusofborg@debian.org&amp;gt;
Date: Fri, 12 May 2017 09:25:12 -0000


I support &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@ubuntu.com&amp;gt;&#39;s request to become Debian Developer, uploading.
I have worked with Jeremy Bicha for quite some time, even if I sponsored just a few packages for him (in Debian).

His work is excellent, he really cares about keeping is packages in a good shape, he cares about transitions and he is quick in reacting when problems are found.

Debian will benefit a lot from his work.

I have personally worked with &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@ubuntu.com&amp;gt; (key 4D0BE12F0E4776D8AACE9696E66C775AEBFE6C7D) for X time,
and I know &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; can be trusted to be a full member of Debian, and have unsupervised, unrestricted upload rights, right now.  

Thanks Jeremy for finally starting the process!

&lt;a href=&quot;https://danielpocock.com/en/people/gianfranco-costamagna-locutusofborg/&quot;&gt;Gianfranco&lt;/a&gt;
&lt;/pre&gt;

&lt;p&gt;Those are very positive things to write about somebody who has just been
released from prison on parole.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/andreas-henriksson-ah/&quot;&gt;
Andreas Henriksson&lt;/a&gt; does not reveal his employer details or affiliation with
&lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;
Ubuntu&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;
Canonical&lt;/a&gt; or
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt;.
&lt;a href=&quot;https://danielpocock.com/en/people/gianfranco-costamagna-locutusofborg/&quot;&gt;
Gianfranco Costamagna&lt;/a&gt; reveals he works for
&lt;a href=&quot;https://danielpocock.com/en/category/datalogic/&quot;&gt;
Datalogic&lt;/a&gt;.  They are based in the city of Bologna,
&lt;a href=&quot;https://danielpocock.com/en/category/italy/&quot;&gt;
Italy&lt;/a&gt;, the same city where
&lt;a href=&quot;https://danielpocock.com/en/people/enrico-zini/&quot;&gt;
Enrico Zini&lt;/a&gt; is located.  Did
&lt;a href=&quot;https://danielpocock.com/en/people/gianfranco-costamagna-locutusofborg/&quot;&gt;
Gianfranco Costamagna&lt;/a&gt; exercise any personal connections with
&lt;a href=&quot;https://danielpocock.com/en/people/enrico-zini/&quot;&gt;
Enrico Zini&lt;/a&gt; to have the
&lt;a href=&quot;https://danielpocock.com/en/category/debian-account-managers/&quot;&gt;
Debian Account Managers&lt;/a&gt; approve the
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; while he was still on parole?&lt;/p&gt;

&lt;p&gt;On the weekend of 13 and 14 May 2017, the fourth
&lt;a href=&quot;https://danielpocock.com/en/category/oscal/&quot;&gt;
OSCAL&lt;/a&gt; conference took place in Tirana,
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt;.  A girl of fifteen or sixteen years of age created an
online profile for herself in the
&lt;a href=&quot;https://danielpocock.com/en/category/discourse-forums/&quot;&gt;
Discourse&lt;/a&gt; forum software used by the Albanian
&lt;a href=&quot;https://danielpocock.com/en/category/open-labs-tirana/&quot;&gt;
Open Labs&lt;/a&gt; group.  We subsequently learnt this was the girlfriend of
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt;, one of the
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albanian&lt;/a&gt; ringleaders.&lt;/p&gt;

&lt;img alt=&quot;Elio Qoshi, underage girlfriend&quot; src=&quot;https://danielpocock.com/assets/people/anja-xhakani/anja-xhakani-discourse-profile-screenshot.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/justin-flory-jwf/&quot;&gt;
Justin Flory&lt;/a&gt;, an employee of
&lt;a href=&quot;https://danielpocock.com/en/category/unicef/&quot;&gt;
UNICEF&lt;/a&gt; who is closely affiliated with
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
Red Hat&lt;/a&gt;, was pictured lying on the ground with
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; at his feet.&lt;/p&gt;

&lt;img alt=&quot;Elio Qoshi, Justin Flory, Jona Azizaj&quot; src=&quot;https://danielpocock.com/assets/people/elio-qoshi/justin-flory-elio-qoshi.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt;, then leader of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;, was pictured at the
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
Red Hat&lt;/a&gt; table alongside
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt;.&lt;/p&gt;

&lt;img alt=&quot;Elio Qoshi, Brian Exelbierd bex, Justin W Flory, Justin W Wheeler, Jona Azizaj, Giannis Konstantinidis, Chris Lamb, Fedora, Red Hat, booth, OSCAL, Open Labs, Tirana, Albania, 2017&quot; src=&quot;https://danielpocock.com/assets/openlabs/OSCAL_2017_-_meetups_and_communities_01-c.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;At exactly the same time they are processing
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&#39;s&lt;/a&gt; ordination as a Debian Developer, we saw
&lt;a href=&quot;https://danielpocock.com/en/people/dominik-george-natureshadow/&quot;&gt;
Dominik George&lt;/a&gt; going through exactly the same process.  Messages about
&lt;a href=&quot;https://danielpocock.com/en/people/dominik-george-natureshadow/&quot;&gt;
Dominik George&lt;/a&gt; explicitly refer to children:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;To: &lt;a href=&quot;https://danielpocock.com/en/people/dominik-george-natureshadow/&quot;&gt;Dominik George&lt;/a&gt; &amp;lt;nik@naturalnet.de&amp;gt;
Cc: debian-newmaint@lists.debian.org, nm@debian.org, archive-175@nm.debian.org
Subject: Re: &lt;a href=&quot;https://danielpocock.com/en/people/dominik-george-natureshadow/&quot;&gt;Dominik George&lt;/a&gt;: Declaration of intent
From: &lt;a href=&quot;https://danielpocock.com/en/people/holger-levsen/&quot;&gt;Holger Levsen&lt;/a&gt; &amp;lt;holger@layer-acht.org&amp;gt;
Date: Mon, 15 May 2017 14:09:15 +0000

Hi,

sorry for the delay in writing thisâ€¦!

On Mon, Apr 24, 2017 at 06:54:13PM -0000, &lt;a href=&quot;https://danielpocock.com/en/people/dominik-george-natureshadow/&quot;&gt;Dominik George&lt;/a&gt; wrote:
&amp;gt; I would like to apply to change my status in Debian to Debian Developer, uploading.

yay, this is pretty good news for &lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;Debian&lt;/a&gt; and for &lt;a href=&quot;https://danielpocock.com/en/category/debian-edu/&quot;&gt;Debian Edu&lt;/a&gt; and probably a
bunch of others! :-)

I&#39;ve met &lt;a href=&quot;https://danielpocock.com/en/people/dominik-george-natureshadow/&quot;&gt;Dominik&lt;/a&gt; the first time for &quot;real&quot; (*) at the &lt;a href=&quot;https://danielpocock.com/en/category/debian-edu/&quot;&gt;Debian Edu&lt;/a&gt; gathering
in Oslo in December 2016 where I could see him working &amp;amp; discussing and also
learned a few things he does outside Debian, which also involves computers,
&lt;b&gt;kids &amp;amp; schools&lt;/b&gt;.

(*) we&#39;ve briefly bumped into each other before and said hi or so :)
    http://layer-acht.org/thinking/blog/20161221-debian-edu-sprint-in-oslo/
    shows him wearing a DebConf15 t-shirt, so you might met him too ;)

Not related to &lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;Debian&lt;/a&gt;, but very much showing his dedications,
is that he is involved in another project with &lt;a href=&quot;https://danielpocock.com/en/category/teckids/&quot;&gt;&lt;b&gt;kids + young adults&lt;/b&gt;&lt;/a&gt;, which 
in the last years brought &lt;b&gt;20-30 young adults&lt;/b&gt; to the chaos communication congress:
&lt;b&gt;https://www.teckids.org/hacknfun_2016_xmas.htm&lt;/b&gt;

The technical discussions we had in Oslo, plus the ones I&#39;ve seen on IRC,
plus the questions he had and the attitudes he showed make me believe that
&lt;a href=&quot;https://danielpocock.com/en/people/dominik-george-natureshadow/&quot;&gt;Dominik&lt;/a&gt; will be a great DD and contributor to our project and beyond! 

I cannot fully vouch for him technically, as we work on different areas in 
&lt;a href=&quot;https://danielpocock.com/en/category/debian-edu/&quot;&gt;Debian Edu&lt;/a&gt; and I&#39;ve only reviewed bits of his work, but I&#39;m confident he&#39;ll
manage NM well! So I&#39;m much looking forward to him becoming a DD!
 

-- 
cheers,
	&lt;a href=&quot;https://danielpocock.com/en/people/holger-levsen/&quot;&gt;Holger&lt;/a&gt;
&lt;/pre&gt;

&lt;img alt=&quot;Jeremy Bicha, Dominik George&quot; src=&quot;https://danielpocock.com/assets/people/jeremy-bicha-jbicha/2017-05-debian-newmaint-index.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;On 29 May 2017,
&lt;a href=&quot;https://danielpocock.com/en/people/jonathan-wiltshire-jmw/&quot;&gt;
Jonathan Wiltshire&lt;/a&gt; of the
&lt;a href=&quot;https://danielpocock.com/en/category/debian-account-managers/&quot;&gt;
Debian Account Managers&lt;/a&gt; team writes:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
I will progress this application and assign an application manager shortly, but the key issues need to be resolved before the application can be finalised. Please work with your AM on that.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;Where he writes &quot;key issues&quot;, he is referring to issues with the PGP key.
There is no reference to the abuse.&lt;/p&gt;

&lt;p&gt;On 7 June 2017,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; became a
&lt;a href=&quot;https://launchpad.net/~jbicha/+participation&quot;&gt;
Core Dev&lt;/a&gt; in the world of
&lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;
Ubuntu&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On 8 August 2017, the Application Manager,
&lt;a href=&quot;https://danielpocock.com/en/people/gunnar-wolf-gwolf/&quot;&gt;
Gunnar Wolf&lt;/a&gt;, who is also one of the
&lt;a href=&quot;https://danielpocock.com/en/category/debian-keyring-managers/&quot;&gt;
Debian keyring managers&lt;/a&gt;, wrote the following:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt;: Application Manager report
Date: Tue, 08 Aug 2017 21:09:52 -0000
From: &lt;a href=&quot;https://danielpocock.com/en/people/gunnar-wolf-gwolf/&quot;&gt;Gunnar Wolf&lt;/a&gt; &amp;lt;gwolf@gwolf.org&amp;gt;
To: debian-newmaint@lists.debian.org
CC: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@ubuntu.com&amp;gt;, archive-184@nm.debian.org,
nm@debian.org

I have reviewed &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&#39;s&lt;/a&gt; answers for the NM process, and am more
than satisfied by them. I have also been approached in &lt;a href=&quot;https://danielpocock.com/en/debconf/&quot;&gt;DebConf&lt;/a&gt; by his
team mates, who very strongly recommended him as a DD. I am of the
opinion the project will win quite a bit having him as a full DD with
unimpended upload rights.

&lt;a href=&quot;https://danielpocock.com/en/people/gunnar-wolf-gwolf/&quot;&gt;Gunnar Wolf&lt;/a&gt; (via nm.debian.org)
-- 
https://nm.debian.org/process/184
&lt;/pre&gt;

&lt;p&gt;People are cheering him on:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt;: Application Manager report
Date: Tue, 8 Aug 2017 18:17:15 -0400
From: &lt;a href=&quot;https://danielpocock.com/en/people/andrew-shadura-andrewsh/&quot;&gt;Andrew Shadura&lt;/a&gt; &amp;lt;andrew@shadura.me&amp;gt;
To: debian-newmaint@lists.debian.org
CC: &lt;a href=&quot;https://danielpocock.com/en/people/gunnar-wolf-gwolf/&quot;&gt;Gunnar Wolf&lt;/a&gt; &amp;lt;gwolf@gwolf.org&amp;gt;, &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@ubuntu.com&amp;gt;

On 8 August 2017 at 17:09, &lt;a href=&quot;https://danielpocock.com/en/people/gunnar-wolf-gwolf/&quot;&gt;Gunnar Wolf&lt;/a&gt; &amp;lt;gwolf@gwolf.org&amp;gt; wrote:
&amp;gt; I have reviewed &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&#39;s&lt;/a&gt; answers for the NM process, and am more
&amp;gt; than satisfied by them. I have also been approached in DebConf by his
&amp;gt; team mates, who very strongly recommended him as a DD. I am of the
&amp;gt; opinion the project will win quite a bit having him as a full DD with
&amp;gt; unimpended upload rights.

Yay! Congrats! :)

-- 
Cheers,
  Andrew
&lt;/pre&gt;

&lt;p&gt;From 14 to 18 July 2017, the
&lt;a href=&quot;https://danielpocock.com/en/category/digital-born-media-carnival-kotor-2017/&quot;&gt;
Digital-Born Media Carnival&lt;/a&gt; was held in Kotor,
&lt;a href=&quot;https://danielpocock.com/en/category/montenegro/&quot;&gt;
Montenegro&lt;/a&gt;.  Some of the women from open source software groups in
&lt;a href=&quot;https://danielpocock.com/en/category/kosovo/&quot;&gt;
Kosovo&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; attended.  Kotor is an ancient seaside village without any
modern high-rise tourist accommodation.  Visitors stay in bed and breakfast
accommodation or holiday houses.  On the last night of the carnival, there
was a party by the waterside.  The next morning, as we were departing, I
saw one of the
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albanian&lt;/a&gt; women coming out of a holiday house that had been rented by
a group of men from another country.  There was a bit of hand-holding and
a kiss goodbye.  Every time the woman is selected for an internship or
a conference speaking opportunity, over and above every other woman in
the community, I remember that last day in Kotor.&lt;/p&gt;

&lt;p&gt;If you are involved in a sports club and you observe somebody had
a one night stand with another member you might not feel any need
to mention it or cause embarassment.  However, open source software
hobbyists are claiming to be a model of integrity, merit and security.
&lt;a href=&quot;https://danielpocock.com/en/category/social-engineering/&quot;&gt;
Social engineering attacks&lt;/a&gt; are often rated as the biggest risk
to modern organisations and their IT systems.&lt;/p&gt;

&lt;p&gt;Shortly after that, the
&lt;a href=&quot;https://danielpocock.com/en/category/open-labs-tirana/&quot;&gt;
Open Labs&lt;/a&gt; non-profit in
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; had their birthday party in the hackerspace.  At least two
underage people were there and at least one of the other women identified
them to me.  Separately, women had told me that the youngest girl was
dating the co-founder of the group
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt;.  They told me a lot of things about
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt;, I observed some of those things with my own eyes and I
observed written evidence in requests for travel funding that confirmed
what the women had told me in person.  Eighty percent of the group were
female but a lot of the money did not go into the non-profit bank account.
The money was managed by an accountant but there were rumours that the
same accountant was also managing the bank accounts for
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; consulting company.  The women on the committee had never
seen a balance sheet or a profit &amp;amp; loss statement for the non-profit
entity.&lt;/p&gt;

&lt;p&gt;In September 2017, they promoted an event called
&lt;a href=&quot;https://danielpocock.com/en/category/fosscamp-syros-2017/&quot;&gt;
FOSSCamp&lt;/a&gt;.  Instead of organising it in
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt;, they decided to organise it in a more expensive destination,
&lt;a href=&quot;https://danielpocock.com/en/category/greece/&quot;&gt;
Greece&lt;/a&gt; and they asked bigger organisations to pay the travel
expenses for a group of people, many of them who were simultaneously
members of the non-profit but also employees of
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&#39;s&lt;/a&gt; commercial enterprise.  Questioning them about the
event budget, we reached the point where
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; admitted that one of the amounts charged to the bigger
organisations like
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debian&lt;/a&gt; was really a payment for his effort organising the event.
The women who collaborated on the organisation did not receive any
equivalent payment.  Yet each woman was asked to send a request to
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debian&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/category/mozillian/&quot;&gt;
Mozilla&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/category/wikimedia/&quot;&gt;
Wikimedia&lt;/a&gt; and maybe other organisations asking for diversity funds
to pay the bus fares, ferry tickets, accommodation and management fee.&lt;/p&gt;

&lt;p&gt;In the photos from the conference in May 2017, we could see over twenty
young female students participating.  Yet women told me that access to
the trip to
&lt;a href=&quot;https://danielpocock.com/en/category/greece/&quot;&gt;
Greece&lt;/a&gt; was more tightly controlled.  Women needed to get permission
to join this trip.&lt;/p&gt;

&lt;p&gt;Various people noticed that two or three men were acting as gatekeepers
and rationing funding and travel opportunities for all the women.
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt; and I were both warned that something dishonest was
happening.  I asked questions but
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Lamb&lt;/a&gt; didn&#39;t want to spoil whatever was going on there.&lt;/p&gt;

&lt;p&gt;Here is an example where one of the men is giving one of the women,
&lt;a href=&quot;https://danielpocock.com/en/people/anisa-kuci/&quot;&gt;
Anisa Kuci&lt;/a&gt;, permission to go on the trip to
&lt;a href=&quot;https://danielpocock.com/en/category/greece/&quot;&gt;
Greece&lt;/a&gt;:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: Debian at FOSScamp - funding request
Date: Sun, 13 Aug 2017 19:01:58 +0300 (EEST)
From: &lt;a href=&quot;https://danielpocock.com/en/people/giannis-konstantinidis/&quot;&gt;Giannis Konstantinidis&lt;/a&gt; &amp;lt;giannis@konstantinidis.cc&amp;gt;
To: &lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;Chris Lamb&lt;/a&gt; &amp;lt;lamby@debian.org&amp;gt;, &lt;a href=&quot;https://danielpocock.com/en/people/silva-arapi/&quot;&gt;Silva Arapi&lt;/a&gt; &amp;lt;silva.arapi@gmail.com&amp;gt;
CC: leader@debian.org, treasurer@debian.ch, auditor@debian.org,
daniel@pocock.pro, &lt;a href=&quot;https://danielpocock.com/en/people/redon-skikuli/&quot;&gt;Redon Skikuli&lt;/a&gt; &amp;lt;redon@skikuli.com&amp;gt;, ping@anisakuci.com

Hey everyone,
just wish to inform you that unfortunately, due to unforeseen external
factors, I won&#39;t be able to make it. I&#39;d like to thank the Debian
community for the generous support. We will stay in touch.

To make sure Debian makes the maximum possible impact at FOSSCamp, &lt;b&gt;I&#39;d
like to sugggest Anisa Kuci (cc&#39;ed ) takes my place&lt;/b&gt;. Anisa has been a
longtime experienced member of Open Labs Hackerspace, co-organized OSCAL
and is very much interested in further contributing to Debian.

Thanks once more. I wish the best success to Debian and your
participation FOSSCamp.

Kind regards,
-&lt;a href=&quot;https://danielpocock.com/en/people/giannis-konstantinidis/&quot;&gt;Giannis K&lt;/a&gt;.
&lt;/pre&gt;

&lt;p&gt;Something was not right about this.  It is clear that
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt;, as the leader of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;, had been informed about it since this moment in time
or earlier.&lt;/p&gt;

&lt;p&gt;Some women see this type of thing as a sport and they actively seek to
join organisations where they can take shortcuts.  Other women were
attracted by the promise of an educational or philosophical project,
they contributed their time and skill helping one or two events in
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; and then discovered that to qualify for a trip abroad, they
had to do the same things the girlfriends were willing to do.  Some
of the women felt even more strongly about this, as it impacts their
professional relationships and job searching, they feel the male
gatekeepers are blackmailing them for sex.&lt;/p&gt;

&lt;p&gt;On 9 August 2017, looking at
&lt;a href=&quot;https://nm.debian.org/process/184/&quot;&gt;
process 184 for Jeremy Bicha in the New Maintainer portal&lt;/a&gt;, we can see the
process was frozen for review at the last minute.  Yet this freeze was
unblocked again less than three days later by
&lt;a href=&quot;https://danielpocock.com/en/people/jonathan-wiltshire-jmw/&quot;&gt;
Jonathan Wiltshire&lt;/a&gt; of the
&lt;a href=&quot;https://danielpocock.com/en/category/debian-account-managers/&quot;&gt;
Debian Account Managers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On 12 August 2017, minutes after the process was unfrozen,
&lt;a href=&quot;https://danielpocock.com/en/people/jonathan-mcdowell-noodles/&quot;&gt;
Jonathan McDowell&lt;/a&gt; added
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&#39;s key&lt;/a&gt; to the Debian keyring.&lt;/p&gt;

&lt;p&gt;In September 2017,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; introduced himself on the &lt;em&gt;debian-private&lt;/em&gt; (leaked)
gossip network.  He stated he is from
&lt;a href=&quot;https://danielpocock.com/en/category/florida/&quot;&gt;
Florida&lt;/a&gt; and presented himself as a victim of a woman called Irma
(&lt;a href=&quot;https://en.wikipedia.org/wiki/Hurricane_Irma&quot;&gt;the hurricane&lt;/a&gt;):&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: 	Re: Irma
Date: 	Sun, 10 Sep 2017 13:52:08 -0400
From: 	&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@debian.org&amp;gt;
To: 	debian-private@lists.debian.org

On Sep 8, 2017 15:55, &quot;&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt;&quot; &amp;lt;jbicha@debian.org&amp;gt; wrote:

    I intend to follow-up on this list on Monday to let you know I&#39;m ok.


Monday is probably too optimistic because of widespread power outages, but I&#39;ll check in when I can.

&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt;
&lt;/pre&gt;

&lt;p&gt;On 20 September 2017,
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; publishes a blog post about
&lt;a href=&quot;https://web.archive.org/web/20190819013717/https://elioqoshi.me/2017/09/resigning-fedora-ambassadors/&quot;&gt;
resigning as a Fedora Ambassador&lt;/a&gt;.  Other volunteers did not receive any
warning from
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
Red Hat&lt;/a&gt; about
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&#39;s&lt;/a&gt; underage girlfriend and the complaints from other
women.&lt;/p&gt;

&lt;p&gt;On 12 October 2017 I sent
&lt;a href=&quot;https://danielpocock.com/en/category/mozillian/&quot;&gt;
Mozilla&lt;/a&gt; a
&lt;a href=&quot;https://danielpocock.com/assets/2024-udrp-response/2017-10-12-mozilla-harassment.pdf&quot;&gt;
protected whistleblower complaint about the harassment and underage issues&lt;/a&gt;.
The date is 12 October 2017 so the misfits publishing alternative statements
about harassment with dates later than this are lying.  I have redacted
the section that identifies underage victims.  There were a series of
&lt;a href=&quot;https://danielpocock.com/en/support-for-harassment-and-abuse-victims/&quot;&gt;
interactions with Mozilla about the scandal&lt;/a&gt;.  I was a witness and
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; was clearly the suspect.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Open Labs / Tirana issues
Date: Thu, 12 Oct 2017 18:15:17 +0200
From: Daniel Pocock &amp;lt;daniel@pocock.pro&amp;gt;
To: &lt;a href=&quot;https://danielpocock.com/en/people/larissa-brown-shapiro/&quot;&gt;Larissa Shapiro&lt;/a&gt; &amp;lt;lshapiro@mozilla.com&amp;gt;
CC: &lt;a href=&quot;https://danielpocock.com/en/people/kristi-progri/&quot;&gt;Kristi Progri&lt;/a&gt; &amp;lt;kristi@kristiprogri.com&amp;gt;

Hi &lt;a href=&quot;https://danielpocock.com/en/people/larissa-brown-shapiro/&quot;&gt;Larissa&lt;/a&gt;,

I understand you have received some feedback about issues in Tirana

I was there from 27 September - 5 October and observed some of the
troublesome behavior and the impact on people like &lt;a href=&quot;https://danielpocock.com/en/people/kristi-progri/&quot;&gt;Kristi&lt;/a&gt;.

The behavior towards &lt;a href=&quot;https://danielpocock.com/en/people/kristi-progri/&quot;&gt;Kristi&lt;/a&gt; and some of the other women is wrong.  I can
also see a danger that challenging the people or their behavior may
split the &lt;a href=&quot;https://danielpocock.com/en/category/open-labs-tirana/&quot;&gt;Open Labs group&lt;/a&gt;.  Nonetheless, I suggested to &lt;a href=&quot;https://danielpocock.com/en/people/kristi-progri/&quot;&gt;Kristi&lt;/a&gt; and &lt;a href=&quot;https://danielpocock.com/en/people/anisa-kuci/&quot;&gt;Anisa&lt;/a&gt;
that they should put their own wellbeing first.

I sent a funding request to the &lt;a href=&quot;https://danielpocock.com/en/category/outreachy/&quot;&gt;Outreachy&lt;/a&gt; organizers to sponsor &lt;a href=&quot;https://danielpocock.com/en/people/kristi-progri/&quot;&gt;Kristi&#39;s&lt;/a&gt;
trip to Prishtina where she gave a talk at &lt;a href=&quot;https://danielpocock.com/en/how-kosovo-won-debconf21/&quot;&gt;our Mini DebConf&lt;/a&gt;.  When I
mentioned this funding in the hackerspace, &lt;a href=&quot;https://danielpocock.com/en/people/redon-skikuli/&quot;&gt;Redon&lt;/a&gt; queried this quite
strongly.  I don&#39;t feel it is any of his business though if I want to
recommend somebody for funding.  The following day, &lt;a href=&quot;https://danielpocock.com/en/people/kristi-progri/&quot;&gt;Kristi&lt;/a&gt; told me that
&lt;a href=&quot;https://danielpocock.com/en/people/redon-skikuli/&quot;&gt;Redon&lt;/a&gt; had called her and shouted at her.  The shouting was apparently
witnessed by other women in the hackerspace with &lt;a href=&quot;https://danielpocock.com/en/people/redon-skikuli/&quot;&gt;Redon&lt;/a&gt;.  I reported the fact there are problems in the Debian anti-harassment process.

Various people told me that travel sponsorship should be &quot;shared&quot; and
this attitude seems to be connected with &lt;a href=&quot;https://danielpocock.com/en/people/redon-skikuli/&quot;&gt;Redon&#39;s&lt;/a&gt; behavior.

I&#39;ve told &lt;a href=&quot;https://danielpocock.com/en/people/kristi-progri/&quot;&gt;Kristi&lt;/a&gt; that she did nothing wrong and did not deserve to be
shouted at.

Another problem that occurred to me is that one person who received
&lt;a href=&quot;https://danielpocock.com/en/category/mozillian/&quot;&gt;
Mozilla&lt;/a&gt; travel funding, [ .. redacted ..], is 16 years old and is not
legally an adult.

[ .. redacted .. ]

Regards,

Daniel
&lt;/pre&gt;

&lt;p&gt;The discussion continued.  The underage risk was acknowledged on the
&lt;a href=&quot;https://danielpocock.com/en/category/mozillian/&quot;&gt;
Mozilla&lt;/a&gt; side:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: Open Labs / Tirana issues
Date: Fri, 13 Oct 2017 23:12:14 +0200
From: Daniel Pocock &amp;lt;daniel@pocock.pro&amp;gt;
To: &lt;a href=&quot;https://danielpocock.com/en/people/emma-irwin/&quot;&gt;Emma Irwin&lt;/a&gt; &amp;lt;eirwin@mozilla.com&amp;gt;, &lt;a href=&quot;https://danielpocock.com/en/people/larissa-brown-shapiro/&quot;&gt;Larissa Shapiro&lt;/a&gt; &amp;lt;lshapiro@mozilla.com&amp;gt;
CC: &lt;a href=&quot;https://danielpocock.com/en/people/kristi-progri/&quot;&gt;Kristi Progri&lt;/a&gt; &amp;lt;kristi@kristiprogri.com&amp;gt;

[ .. redacted .. ]

&amp;gt; I can comment on under-aged contributors - we do have those from time to
&amp;gt; time, and usually on trips at least parents or chaperon are required.
&amp;gt; 

Having underage contributors is not an issue itself and I have no
objection to that.

The issue arises when other groups or businesses align themselves with
local Mozilla groups and seek to benefit from those contributors.  I&#39;m
not sure how to deal with that risk completely but there are probably
some things Mozilla could do in that area.

Regards,

Daniel
&lt;/pre&gt;

&lt;p&gt;The discussion about underage continued in more emails:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: Open Labs / Tirana issues
Date: Sat, 14 Oct 2017 08:27:24 +0200
From: &lt;a href=&quot;https://danielpocock.com/en/&quot;&gt;Daniel Pocock&lt;/a&gt; &amp;lt;daniel@pocock.pro&amp;gt;
To: &lt;a href=&quot;https://danielpocock.com/en/people/larissa-brown-shapiro/&quot;&gt;Larissa Shapiro&lt;/a&gt; &amp;lt;lshapiro@mozilla.com&amp;gt;, &lt;a href=&quot;https://danielpocock.com/en/people/emma-irwin/&quot;&gt;Emma Irwin&lt;/a&gt; &amp;lt;eirwin@mozilla.com&amp;gt;
CC: &lt;a href=&quot;https://danielpocock.com/en/people/kristi-progri/&quot;&gt;Kristi Progri&lt;/a&gt; &amp;lt;kristi@kristiprogri.com&amp;gt;

On 14/10/17 01:51, &lt;a href=&quot;https://danielpocock.com/en/people/larissa-brown-shapiro/&quot;&gt;Larissa Shapiro&lt;/a&gt; wrote:
&amp;gt; I&#39;m not sure, but I can seek legal advice on this matter. In my view,
&amp;gt; &lt;b&gt;there is the potential there for other organizations to take advantage
&amp;gt; of these kids&lt;/b&gt;.
&amp;gt; 

Even if there is no legal problem (in some countries the laws are very
weak), there is also a risk to the reputation of Mozilla and free
software in general.

I wonder if there are other organizations concerned with children&#39;s
safety who can help free software organizations develop a reasonable
approach to this risk?

I realize no organization can stamp this out 100%, but there may also be
some little things that can be done to help reduce risk.  E.g. maybe
when Mozilla funds travel, requiring the parents to fill out a chaperon
form that must be submitted with receipts, so Mozilla gets the parent&#39;s
contact details and the parents see some child safety text on the form.
Somebody trustworthy could sporadically contact parents and the underage
contributors to sniff out any hints of trouble.

Regards,

Daniel
&lt;/pre&gt;

&lt;p&gt;A few weeks later...&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: 	Re: Open Labs / Tirana issues
Date: 	Wed, 20 Dec 2017 09:19:39 -0800
From: 	&lt;a href=&quot;https://danielpocock.com/en/people/emma-irwin/&quot;&gt;Emma Irwin&lt;/a&gt; &amp;lt;eirwin@mozilla.com&amp;gt;
To: 	Daniel Pocock &amp;lt;daniel@pocock.pro&amp;gt;



Hi Daniel,

Would you be willing to talk to Marta (HR Investigator) and myself about &lt;a href=&quot;https://danielpocock.com/en/people/redon-skikuli/&quot;&gt;Redon&lt;/a&gt; &amp;amp; Elio and your experiences and what you have witnessed?

Thank you
&lt;/pre&gt;

&lt;p&gt;Having informed at least three other organisations who funded this racket,
including
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debian&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/category/mozillian/&quot;&gt;
Mozilla&lt;/a&gt;, my conscience is clean.  Nobody can accuse me of protecting an
abuser.&lt;/p&gt;

&lt;p&gt;On 25 February 2018,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; submits an advocacy for another
&lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;
Ubuntu&lt;/a&gt; developer,
&lt;a href=&quot;https://danielpocock.com/en/people/tim-lunn-darkxst/&quot;&gt;
Tim Lunn&lt;/a&gt; to become a Debian Developer:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: &lt;a href=&quot;https://danielpocock.com/en/people/tim-lunn-darkxst/&quot;&gt;Tim Lunn&lt;/a&gt;: Advocate
Date: Sun, 25 Feb 2018 15:07:40 -0000
From: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@debian.org&amp;gt;
To: debian-newmaint@lists.debian.org
CC: &lt;a href=&quot;https://danielpocock.com/en/people/tim-lunn-darkxst/&quot;&gt;Tim Lunn&lt;/a&gt; &amp;lt;tim@feathertop.org&amp;gt;, archive-455@nm.debian.org

For https://nm.debian.org/process/455/ on 25 February 2018 :
I support &lt;a href=&quot;https://danielpocock.com/en/people/tim-lunn-darkxst/&quot;&gt;Tim Lunn&lt;/a&gt; &amp;lt;tim@feathertop.org&amp;gt;&#39;s request to become Debian
Maintainer.

I first started working with &lt;a href=&quot;https://danielpocock.com/en/people/tim-lunn-darkxst/&quot;&gt;Tim&lt;/a&gt; in 2012 on packaging for the Ubuntu &lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;GNOME&lt;/a&gt;
project. Without &lt;a href=&quot;https://danielpocock.com/en/people/tim-lunn-darkxst/&quot;&gt;Tim&lt;/a&gt;, Ubuntu GNOME would not have survived.

&lt;a href=&quot;https://danielpocock.com/en/people/tim-lunn-darkxst/&quot;&gt;Tim&lt;/a&gt; and I have been interested for a while in reducing the diff and
duplication of work between Debian and Ubuntu with GNOME packages. &lt;a href=&quot;https://danielpocock.com/en/people/tim-lunn-darkxst/&quot;&gt;Tim&lt;/a&gt;
getting upload rights to these packages will help with this goal and will
help make Debian GNOME better for our users.

I have personally worked with &lt;a href=&quot;https://danielpocock.com/en/people/tim-lunn-darkxst/&quot;&gt;Tim Lunn&lt;/a&gt; &amp;lt;tim@feathertop.org&amp;gt;
(key 0E0880479A6F1063372395275B39C0A1153ACABA) for several years, and I
know &lt;a href=&quot;https://danielpocock.com/en/people/tim-lunn-darkxst/&quot;&gt;Tim Lunn&lt;/a&gt; can be trusted to have upload rights for their own packages,
right now.

Thanks,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt;
&lt;/pre&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/tim-lunn-darkxst/&quot;&gt;
Tim Lunn&#39;s&lt;/a&gt; page on the
&lt;a href=&quot;https://wiki.ubuntu.com/TimLunn&quot;&gt;
Ubuntu wiki&lt;/a&gt; suggests he is from
&lt;a href=&quot;https://danielpocock.com/en/category/australia/&quot;&gt;
Australia&lt;/a&gt;.  We will find out later about his proximity to a murder trial.&lt;/p&gt;

&lt;p&gt;In early March 2018, I posted a message in the
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albanian&lt;/a&gt; open labs forum asking why some of the money from the non-profit
&lt;a href=&quot;https://danielpocock.com/en/category/open-labs-tirana/&quot;&gt;
Open Labs&lt;/a&gt; group was being diverted to a private company,
&lt;a href=&quot;https://danielpocock.com/en/category/ura-design/&quot;&gt;
Ura Design&lt;/a&gt;, controlled by
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt;.  I had observed the women were doing all the work for
free in the non-profit association but some of the men were getting
financial benefits out of that work.&lt;/p&gt;

&lt;p&gt;The
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albanian&lt;/a&gt; ringleader
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; admits complaining to
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt;, leader of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;, to help cover up the conflicts of interest.  In fact,
the relationship between
&lt;a href=&quot;https://danielpocock.com/en/category/open-labs-tirana/&quot;&gt;
Open Labs&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/category/ura-design/&quot;&gt;
Ura Design&lt;/a&gt; was analogous to the relationship between
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debian&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/category/freexian/&quot;&gt;
Freexian&lt;/a&gt;.  Although in this case, it was worse, because there was
also the underage problem.  Would the leader of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; put the protection of an
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albanian&lt;/a&gt; pimp with an underage girlfriend ahead of the work done
by a real Debian Developer?&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: 	[English] FOSScamp 2017 @ Syros, &lt;a href=&quot;https://danielpocock.com/en/category/greece/&quot;&gt;Greece&lt;/a&gt;
Date: 	Mon, 05 Mar 2018 12:16:45 +0000
From: 	&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;Elio Qoshi&lt;/a&gt; &amp;lt;info@openlabs.cc&amp;gt;
Reply-To: 	Open Labs Hackerspace Forum &amp;lt;forum+ecf37220dfcc7e2ec1a56392b7b00781@openlabs.cc&amp;gt;
To: 	daniel@pocock.pro

[ ... snip ... ]

I will try to keep this short but Iâ€™m not sure how much I will succeed in that, as this will definitely be the last reply from my side here. I have reached out to the Debian Project Leader to close this issue once and for all.

[ ... snip ... ]
&lt;/pre&gt;

&lt;p&gt;On 5 March 2018 I wrote to women from
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; asking them to share copies of evidence about
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; hurting and exploiting women.  The Debianism leader
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt; immediately barged in with the comments:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: &quot;free travel&quot;
Date: Mon, 05 Mar 2018 16:40:00 +0000
From: Chris Lamb 
To: Daniel Pocock , Anisa KuÃ§i 
CC: leader@debian.org, larjona@debian.org, antiharassment@debian.org

[Adding antiharrassment to CC]

Daniel Pocock wrote:

&amp;gt; If Elio or anybody else has made any other comments like this on the 
&amp;gt; private members channel or Telegram and you want to discuss them with me 

[..]

&lt;a href=&quot;https://danielpocock.com/en/people/anisa-kuci/&quot;&gt;Anisa&lt;/a&gt;, please feel to drop Daniel from any replies you wish to make, if
you even wish to do so.

(Daniel, thank you for your concern but we have got it from this point
onwards. There will be no need for you to reply further on this thread.)


Regards,

-- 
      ,&#39;&#39;`.
     : :&#39;  :     Chris Lamb
     `. `&#39;`      lamby@debian.org / chris-lamb.co.uk
       `-
&lt;/pre&gt;

&lt;p&gt;This is the &lt;em&gt;catch-and-kill&lt;/em&gt; strategy that had been described
earlier.  When women had a story about
&lt;a href=&quot;https://danielpocock.com/en/people/donald-trump/&quot;&gt;
Donald Trump&lt;/a&gt;, they were encouraged to give the story to the
National Enquirer and not talk to anybody else.  What we see is the leader of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; knew about
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; and he didn&#39;t want me, as the Fellowship representative,
making an independent assessment of the underage scandal.&lt;/p&gt;

&lt;p&gt;In the
&lt;a href=&quot;https://danielpocock.com/en/category/catholic-abuse/&quot;&gt;
Catholic abuse crisis&lt;/a&gt; many senior cardinals and bishops are alleged
to have known about abuse and failed to protect people.  In the
specific case of
&lt;a href=&quot;https://danielpocock.com/en/people/gerald-ridsdale/&quot;&gt;
Gerald Ridsdale&lt;/a&gt; described earlier, one of the victims, his nephew
&lt;a href=&quot;https://danielpocock.com/en/people/david-ridsdale/&quot;&gt;
David Ridsdale&lt;/a&gt; told the Royal Commission that the late
&lt;a href=&quot;https://danielpocock.com/en/people/cardinal-george-pell/&quot;&gt;
Cardinal George Pell&lt;/a&gt; had offered him a bribe for silence.  The
woman corresponding with
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt; and I was
&lt;a href=&quot;https://danielpocock.com/en/people/anisa-kuci/&quot;&gt;
Anisa Kuci&lt;/a&gt;.  She was given a series of free trips around the world,
internships and eventually a job at
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt; was observed to be close to
&lt;a href=&quot;https://danielpocock.com/en/people/neil-mcgovern-neilm-maulkin/&quot;&gt;
Neil McGovern&lt;/a&gt; who was the Executive Director of
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; in that era.  Are we to believe neither of those men knew that
a member of the Debian GNOME packaging team was a
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; being put onto the
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; keyring during
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&#39;s&lt;/a&gt; tenure as leader?&lt;/p&gt;

&lt;p&gt;At the time of that exchange,
&lt;a href=&quot;https://danielpocock.com/en/people/anisa-kuci/&quot;&gt;
Anisa Kuci&lt;/a&gt; ignored
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&#39;s&lt;/a&gt; condescending words and replied in full:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: 	Re: &quot;free travel&quot;
Date: 	Mon, 5 Mar 2018 23:51:28 +0100
From: 	&lt;a href=&quot;https://danielpocock.com/en/people/anisa-kuci/&quot;&gt;Anisa Kuci&lt;/a&gt; &amp;lt;anisakuci9@gmail.com&amp;gt;
To: 	larjona@debian.org
CC: 	&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;Chris Lamb&lt;/a&gt; &amp;lt;lamby@debian.org&amp;gt;, Daniel Pocock &amp;lt;daniel@pocock.pro&amp;gt;,
leader@debian.org, antiharassment@debian.org


Hello &lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;Chris&lt;/a&gt;, Daniel, &lt;a href=&quot;https://danielpocock.com/en/people/laura-arjona-reina-larjona/&quot;&gt;Laura&lt;/a&gt;,

Thank you very much for being so supportive.

I read the comments on the thread and to be honest I am really sad that
Elio [Qoshi] said that. It is not true at all.

They (Elio [Qoshi] &amp;amp; &lt;a href=&quot;https://danielpocock.com/en/people/redon-skikuli/&quot;&gt;Redon&lt;/a&gt;) pretend to support women but on the other hand their
behavior towards many of us shows the opposite.

Daniel I feel bad because you have encouraged and helped not only me,
but so many other people, no matter if they are Open Labs members or
not, and also all the attendees from Kosova to learn new things, to work
and improve their skills and knowledge. They are doubting your good
intentions just to remove the attention from the shady things that they
are doing.

The free travel comment is really offensive to me and i feel it should
be offensive to every woman who is part of the community.
I have been contributing and supporting Open Labs since its early days,
and I have put a lot of effort and time, I do this because I believe in
what it is meant to stand for and without waiting something in exchange,
but the situation lately has been not very positive. Daniel has been
present by chance in few cases where situations have been very hard to
go through.

I would definitely like to talk to any of you and tell you more about
everything that is happening here, its fine to me whether it is a video
call, call or just emails.
Please tell me what would be more convenient to you.

King greetings,
&lt;a href=&quot;https://danielpocock.com/en/people/anisa-kuci/&quot;&gt;Anisa&lt;/a&gt;
&lt;/pre&gt;

&lt;p&gt;On 17 March 2018,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; pushes an update to &lt;em&gt;hyperkitty&lt;/em&gt;
&lt;a href=&quot;https://lists.ubuntu.com/archives/bionic-changes/2018-March/010356.html&quot;&gt;
and it includes collaboration&lt;/a&gt; with
&lt;a href=&quot;https://danielpocock.com/en/people/jonas-meurer-mejo/&quot;&gt;
Jonas Meurer&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/pierre-elliott-becue-peb/&quot;&gt;
Pierre-Elliott BÃ©cue&lt;/a&gt;.  The latter was an employee of
&lt;a href=&quot;https://danielpocock.com/en/category/anssi/&quot;&gt;
ANSSI&lt;/a&gt;, the French government&#39;s agency for
&lt;a href=&quot;https://danielpocock.com/en/category/cybersecurity/&quot;&gt;
cybersecurity&lt;/a&gt;.  Did
&lt;a href=&quot;https://danielpocock.com/en/people/pierre-elliott-becue-peb/&quot;&gt;
BÃ©cue&lt;/a&gt; realize
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; was on parole or was he blinded by all the fanfare about
diversity?&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: [ubuntu/bionic-proposed] hyperkitty 1.1.4-4 (Accepted)
From: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jeremy@bicha.net&amp;gt;
Date: Sat Mar 17 17:49:53 UTC 2018

hyperkitty (1.1.4-4) unstable; urgency=medium

  [ &lt;a href=&quot;https://danielpocock.com/en/people/jonas-meurer-mejo/&quot;&gt;Jonas Meurer&lt;/a&gt; ]
  * d/control:
    - Don&#39;t recommend mailman3, recommend mailman3-web instead.

  [ &lt;a href=&quot;https://danielpocock.com/en/people/pierre-elliott-becue-peb/&quot;&gt;Pierre-Elliott BÃ©cue&lt;/a&gt; ]
  * d/rules:
    - Remove the embedded fonts that are in other packages. Same for
      bootstrap.js{,.min}
    - Add upstream&#39;s changelog to the package
    - Move django&#39;s static files in /usr/share/python-django-hyperkitty
  * d/control:
    - Add dependency on the font/js packages required by the rules change
  * wrap-and-sort
  * Add d/s/lintian-overrides to give intel on the current python3 missing
    package status.

Date: 2018-03-17 04:30:11.786430+00:00
Signed-By: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jeremy@bicha.net&amp;gt;
https://launchpad.net/ubuntu/+source/hyperkitty/1.1.4-4
&lt;/pre&gt;

&lt;p&gt;In April 2018, according to
&lt;a href=&quot;https://www.businessinsider.com/how-ibm-and-red-hat-deal-came-together-2018-10?op=1&quot;&gt;
a report in Business Insider&lt;/a&gt;, there was a meeting between IBM&#39;s CEO
&lt;a href=&quot;https://danielpocock.com/en/people/ginni-rometty/&quot;&gt;
Ginni Rometty&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/jim-whitehurst/&quot;&gt;
Jim Whitehurst&lt;/a&gt;, who was CEO of
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
Red Hat&lt;/a&gt;.  This lunch has been identified as the moment both companies
were put on the trajectory for a merger.&lt;/p&gt;

&lt;p&gt;In May 2018, immediately after that lunch, the
&lt;a href=&quot;https://danielpocock.com/en/category/fsfe-misfits/&quot;&gt;
FSFE misfits&lt;/a&gt; modified their constitution to
&lt;a href=&quot;https://nazi.compare/en/2024/03/08/abortion-sterilisation-fsfe-fellowship-elections/&quot;&gt;
remove the elections for Fellowship representatives&lt;/a&gt;.  I was the last
person elected as a Fellowship representative before the democracy was
trashed.  The
&lt;a href=&quot;https://danielpocock.com/en/category/fsfe-misfits/&quot;&gt;
FSFE misfits&lt;/a&gt; count
&lt;a href=&quot;https://danielpocock.com/en/category/google/&quot;&gt;
Google&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
Red Hat&lt;/a&gt; as significant sponsors and they didn&#39;t want the Fellows to
have a voice if that voice may not be identical to the voice of the
corporate overlords.&lt;/p&gt;

&lt;p&gt;In June 2018, the women from
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; were offered sponsorship for travel to
&lt;a href=&quot;https://danielpocock.com/en/category/debconf18/&quot;&gt;
DebConf18&lt;/a&gt; in
&lt;a href=&quot;https://danielpocock.com/en/category/taiwan/&quot;&gt;
Taiwan&lt;/a&gt;.  For the cost of transporting one woman from
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; to
&lt;a href=&quot;https://danielpocock.com/en/category/taiwan/&quot;&gt;
Taiwan&lt;/a&gt;, you could transport five women from countries that are much
closer in south-east Asia.&lt;/p&gt;

&lt;p&gt;When male interns are offered the same sponsorship funds to attend
&lt;a href=&quot;https://danielpocock.com/en/category/debconf/&quot;&gt;
DebConf&lt;/a&gt;, they are asked to pay for the flights themselves and then
wait until after the conference to get reimbursement.  There
&lt;a href=&quot;https://disguised.work/debian/sexism-processing-travel-reimbursement/&quot;&gt;
are examples of email from &lt;em&gt;male&lt;/em&gt; interns still waiting for their money
three or four months after the conference&lt;/a&gt;.  The women from
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; told the
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianists&lt;/a&gt; somebody has to buy the tickets for them, in advance.
&lt;a href=&quot;https://danielpocock.com/en/people/martin-michlmayr-tbm/&quot;&gt;
Martin Michlmayr&lt;/a&gt;, the treasurer, did just that:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: [rt.debian.org #7328] &lt;b&gt;DebConf travel pre-payment requests&lt;/b&gt;
From: &lt;a href=&quot;https://danielpocock.com/en/people/martin-michlmayr-tbm/&quot;&gt;Martin Michlmayr&lt;/a&gt;
Time: Fri Jun 29 08:56:42 2018

* &lt;a href=&quot;https://danielpocock.com/en/people/hector-oron-martinez-zumbi/&quot;&gt;Hector Oron&lt;/a&gt; [2018-06-28 10:55]:
&amp;gt; I added Martin to the list, he&#39;ll be taking care of flight ticket
&amp;gt; purchase if you send him flight details.

This has been taken care of.

--
&lt;a href=&quot;https://danielpocock.com/en/people/martin-michlmayr-tbm/&quot;&gt;Martin Michlmayr&lt;/a&gt;
https://www.cyrius.com/
&lt;/pre&gt;

&lt;p&gt;Here is an example from a male intern who was waiting for payment long after
&lt;a href=&quot;https://danielpocock.com/en/category/debconf15/&quot;&gt;
DebConf15&lt;/a&gt; finished:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: [Soc-coordination] &lt;b&gt;DebConf travel / GSoC student payments?&lt;/b&gt;
Date: Wed, 25 Nov 2015 00:25:18 +0530
From: &lt;a href=&quot;https://danielpocock.com/en/people/komal-sukhani-debian-gsoc/&quot;&gt;Komal Sukhani&lt;/a&gt; &amp;lt;komaldsukhani@gmail.com&amp;gt;
To: &lt;a href=&quot;https://danielpocock.com/en/people/michael-schultheiss-schultmc/&quot;&gt;Michael Schultheiss&lt;/a&gt; &amp;lt;schultmc@spi-inc.org&amp;gt;
CC: treasurer@spi-inc.org, soc-coordination@lists.alioth.debian.org

Hi Michael,

I still don&#39;t got the DebConf travel reimbursement. Have you made the payment?

Sorry for trouble.

On Mon, Nov 2, 2015 at 9:54 AM, &lt;a href=&quot;https://danielpocock.com/en/people/michael-schultheiss-schultmc/&quot;&gt;Michael Schultheiss&lt;/a&gt; &amp;lt;mailto:schultmc@spi-inc.org&amp;gt; wrote:

    Apologies for the delays in payments. I should have the payments processed this week and payments shoud be received in approximately 1-2 weeks.
&lt;/pre&gt;

&lt;p&gt;Pictures appeared during the conference showing us
&lt;a href=&quot;https://danielpocock.com/en/people/lior-kaplan/&quot;&gt;
Lior Kaplan&lt;/a&gt; from
&lt;a href=&quot;https://danielpocock.com/en/category/israel/&quot;&gt;
Israel&lt;/a&gt; with his arm around a young woman.  This is the same woman who had
her ticket purchased in advance.&lt;/p&gt;

&lt;img alt=&quot;Enkelena Haxhiu, Diellza Shabani, Elena Gjevuka, Lior Kaplan, Kristi Progri&quot; src=&quot;https://danielpocock.com/assets/debconf18-lior-kaplan-day-trip.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;Enkelena Haxhiu, Diellza Shabani, Elena Gjevuka, Lior Kaplan, Kristi Progri&quot; src=&quot;https://danielpocock.com/assets/debconf18-lior-kaplan-day-trip-closeup.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In July 2018
&lt;a href=&quot;https://danielpocock.com/en/people/enrico-zini/&quot;&gt;
Enrico Zini&lt;/a&gt; gave a talk titled &quot;Multiple People&quot; at
&lt;a href=&quot;https://danielpocock.com/en/category/debconf18/&quot;&gt;
DebConf18&lt;/a&gt; in
&lt;a href=&quot;https://danielpocock.com/en/category/taiwan/&quot;&gt;
Taiwan&lt;/a&gt;.  There have been a series of these talks over the years where
these men seek out introverted young male developers who lack confidence.
Remember the case of the young French transgender
&lt;a href=&quot;https://danielpocock.com/en/paris-love-nest-debian-from-lycee-lakanal-ens-cachan-crans-nepotism/&quot;&gt;
recruited straight out of high school&lt;/a&gt;.  This slide appears to be
telling us that paedophiles and
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offenders&lt;/a&gt; are welcome:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
&lt;h3&gt;Spectrum (Enrico Zini)&lt;/h3&gt;
&lt;p&gt;Every color is ok.&lt;/p&gt;
&lt;p&gt;Think about who you are,&lt;br /&gt;
not about who you should be.&lt;/p&gt;
&lt;/em&gt;&lt;/blockquote&gt;

&lt;img alt=&quot;Enrico Zini, Jeremy Bicha, Debian, Diversity, Registered Sex Offender&quot; src=&quot;https://danielpocock.com/assets/people/enrico-zini/multiple-people-p5.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In July 2018,
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianists&lt;/a&gt; were having a discussion about whether the &lt;em&gt;weboob&lt;/em&gt;
package should remain in Debian or be removed.  Here is one of the private
emails about it.  Notice they want to remove the package that makes vague
references to female anatomy but they welcomed the guy who is on parole
for sex crime against his little sisters.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: &lt;a href=&quot;https://danielpocock.com/en/category/weboob/&quot;&gt;weboob&lt;/a&gt; package
Date: Thu, 12 Jul 2018 16:24:28 +0200
From: &lt;a href=&quot;https://danielpocock.com/en/people/ansgar-burchardt/&quot;&gt;Ansgar Burchardt&lt;/a&gt; &amp;lt;ansgar@debian.org&amp;gt;
To: debian-private@lists.debian.org

On Thu, 2018-07-12 at 14:48 +0100, &lt;a href=&quot;https://danielpocock.com/en/people/ian-jackson-iwj/&quot;&gt;Ian Jackson&lt;/a&gt; wrote:
&amp;gt; &lt;a href=&quot;https://danielpocock.com/en/people/colin-watson-cjwatson/&quot;&gt;Colin Watson&lt;/a&gt; writes (&quot;Re: &lt;a href=&quot;https://danielpocock.com/en/category/weboob/&quot;&gt;weboob&lt;/a&gt; package&quot;):
&amp;gt; &amp;gt; (I haven&#39;t decided what I think should be done about it; certainly
&amp;gt; &amp;gt; if I
&amp;gt; &amp;gt; were the maintainer I&#39;d want to disassociate myself from it as
&amp;gt; &amp;gt; quickly
&amp;gt; &amp;gt; as possible ... but the quoted text is a terrible argument.)
&amp;gt; 
&amp;gt; Quite.
&amp;gt; 
&amp;gt; What on earth could one do as the maintainer of such a thing ?  Write
&amp;gt; some kind of machinery (a git-filter-branch construction maybe) to
&amp;gt; automatically rename all this arseholery ?

Oh, come on.  It&#39;s not like they liken setting up an interrupt handler
with rape like, for example, Xen does.  I would certainly think less of
those who associate themselves with this kind of thing.

There is no incest sex involved either (unlike for example [1]). No
glorification of genocide, ethnical cleansings or such either (same
file as [1]).  (Hmm, I wonder what happens when one submits a patch for
that...)

Sadly we are associated with it, by virtue of packaging it, and thus
promoting it. And I&#39;m ashamed and embarrassed to be associated with
such hateful content.

&amp;gt; I also note that the upstream webpage lists the logos of a number of
&amp;gt; companies, which I hope have some kind of corporate
&amp;gt; not-looking-like-a-total-wazzock policy.  I CBA to complain to them,
&amp;gt; but maybe someone would like to start a fire on Twitter.

Yes, please go and start a nice shitstorm. A great idea, brilliant.

&lt;a href=&quot;https://danielpocock.com/en/people/ansgar-burchardt/&quot;&gt;Ansgar&lt;/a&gt;

  [1] https://sources.debian.org/src/bible-kjv/4.30/bible.rawtext/#L495
&lt;/pre&gt;

&lt;p&gt;One of those in favor of the
&lt;a href=&quot;https://danielpocock.com/en/category/weboob/&quot;&gt;
weboob&lt;/a&gt; package was
&lt;a href=&quot;https://danielpocock.com/en/people/axel-beckert-xtaran/&quot;&gt;
Axel Beckert&lt;/a&gt; from the elite
&lt;a href=&quot;https://danielpocock.com/en/category/switzerland/&quot;&gt;
Swiss&lt;/a&gt; university
&lt;a href=&quot;https://danielpocock.com/en/category/eth-zurich/&quot;&gt;
ETH Zurich&lt;/a&gt;:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: &lt;a href=&quot;https://danielpocock.com/en/category/weboob/&quot;&gt;weboob&lt;/a&gt; package
Date: Fri, 13 Jul 2018 14:29:58 +0200
From: &lt;a href=&quot;https://danielpocock.com/en/people/axel-beckert-xtaran/&quot;&gt;Axel Beckert&lt;/a&gt; &amp;lt;abe@debian.org&amp;gt; [ ETH Zurich ]
Organization: The Debian Project
To: debian-private@lists.debian.org

Hi,

&lt;a href=&quot;https://danielpocock.com/en/people/jonathan-dowland-jmtd/&quot;&gt;Jonathan Dowland&lt;/a&gt; wrote:
&amp;gt; Yesterday I stumbled across the &quot;&lt;a href=&quot;https://danielpocock.com/en/category/weboob/&quot;&gt;weboob&lt;/a&gt;&quot; package for the first time,
&amp;gt; which includes a slew of binaries with names similar to the following:
[...]

So what? I don&#39;t see any problem with that. (And I don&#39;t see why
there&#39;s a thread on debian-private about it.)

		Regards, &lt;a href=&quot;https://danielpocock.com/en/people/axel-beckert-xtaran/&quot;&gt;Axel&lt;/a&gt;
-- 
 ,&#39;&#39;`.  |  &lt;a href=&quot;https://danielpocock.com/en/people/axel-beckert-xtaran/&quot;&gt;Axel Beckert&lt;/a&gt; &amp;lt;abe@debian.org&amp;gt;, https://people.debian.org/~abe/
: :&#39; :  |  Debian Develoober, ftp.ch.debian.org Admin
`. `&#39;   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-    |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE
&lt;/pre&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; himself weighed in on the discussion after
&lt;a href=&quot;https://danielpocock.com/en/people/ansgar-burchardt/&quot;&gt;
Ansgar&lt;/a&gt; brought up the incest:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: &lt;a href=&quot;https://danielpocock.com/en/category/weboob/&quot;&gt;weboob&lt;/a&gt; package
Date: Thu, 12 Jul 2018 10:53:32 -0400
From: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@debian.org&amp;gt;
To: ansgar@debian.org
CC: debian-private@lists.debian.org

On Thu, Jul 12, 2018 at 10:24 AM &lt;a href=&quot;https://danielpocock.com/en/people/ansgar-burchardt/&quot;&gt;Ansgar Burchardt&lt;/a&gt; &amp;lt;ansgar@debian.org&amp;gt; wrote:
&amp;gt; There is no &lt;b&gt;incest sex&lt;/b&gt; involved either (unlike for example [1]). No
&amp;gt; glorification of genocide, ethnical cleansings or such either (same
&amp;gt; file as [1]).  (Hmm, I wonder what happens when one submits a patch for
&amp;gt; that...)
&amp;gt;
&amp;gt; Sadly we are associated with it, by virtue of packaging it, and thus
&amp;gt; promoting it. And I&#39;m ashamed and embarrassed to be associated with
&amp;gt; such hateful content.

Please stop.

At a minimum, if you are serious about removing Bible texts from
Debian, please start a separate thread instead of derailing this
topic. But I think you may have trouble finding consensus for that
viewpoint and I expect it will stir up lots of conflict.

Thanks,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt;
&lt;/pre&gt;

&lt;p&gt;This is the reality of the so-called diversity in
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;: gay male employees in a range of companies and universities
discussing female anatomy with a
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; during their working hours.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/richard-stallman-rms/&quot;&gt;
Dr Richard Stallman (RMS)&lt;/a&gt; was accused of participating in some unpleasant
discussions when he was at
&lt;a href=&quot;https://danielpocock.com/en/category/mit/&quot;&gt;
MIT&lt;/a&gt;.  Yet the &lt;em&gt;debian-private&lt;/em&gt; discussions, where university staff
rub shoulders with
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt;, while he is still on parole, appear to be far more
scandalous.  Why do the snobby people attack
&lt;a href=&quot;https://danielpocock.com/en/people/richard-stallman-rms&quot;&gt;
Dr Richard Stallman (RMS)&lt;/a&gt; but go out of their way to protect
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt;, the
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;In September 2018, I completely resigned from my role as Fellowship
representative to
&lt;a href=&quot;https://danielpocock.com/en/category/fsfe-misfits/&quot;&gt;
the FSFE misfits&lt;/a&gt;.  I discontinued all involvement with the group and
I encouraged other people to resign too.  Therefore, as I resigned and
made the resignation public, there was no way I had any involvement in
the subsequent scandals with women hired in 2019.  Those women were only
hired after I resigned.  All the complaints made by women concern
&lt;a href=&quot;https://danielpocock.com/en/evidence-psychological-abuse-stalking-galia-mancheva-susanne-eiswirt-fsfe/&quot;&gt;
psychological abuse from Matthias Kirschner&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On 28 October 2018,
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
Red Hat&lt;/a&gt; announced the
&lt;a href=&quot;https://www.redhat.com/en/about/press-releases/ibm-acquire-red-hat-completely-changing-cloud-landscape-and-becoming-worlds-1-hybrid-cloud-provider&quot;&gt;
merger with IBM&lt;/a&gt;.  The developers who got shares very early
&lt;a href=&quot;https://danielpocock.com/en/influencers-red-hat-inc-ipo-1999-post-mortem-on-the-directed-share-offer-community-open-source-developers/&quot;&gt;
thanks to the 1999 share offer, which excluded the teenage volunteers&lt;/a&gt;,
made a lot of money.  It looks like they didn&#39;t want reports from the
&lt;a href=&quot;https://danielpocock.com/en/category/albanian-female-whistleblowers/&quot;&gt;
Albanian female whistleblowers&lt;/a&gt; to become a public news story and
undermine the $34 billion price tag for the transaction.&lt;/p&gt;

&lt;p&gt;In November 2018, the Wayback Machine captured a snapshot of the team in
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&#39;s&lt;/a&gt; private company
&lt;a href=&quot;https://danielpocock.com/en/category/ura-design/&quot;&gt;
Ura Design&lt;/a&gt;.  We can see the underage girl, who may be 17 by this point
in the story, is now being paid to be a
&lt;a href=&quot;https://web.archive.org/web/20181115030122/http://ura.design/about/&quot;&gt;
system administrator&lt;/a&gt;.  System administrators normally have access to all
the data in a company, including the emails of their own bosses and their
colleagues.  In small IT companies like this the director normally keeps the
system administrator powers for himself.  It is worth remembering the incident
from the team St Kilda in
&lt;a href=&quot;https://danielpocock.com/en/category/australian-football/&quot;&gt;
Australian football&lt;/a&gt;.  One of the players was dating the woman known as the
&lt;em&gt;St Kilda schoolgirl&lt;/em&gt;,
&lt;a href=&quot;https://danielpocock.com/en/people/kimberley-ametoglou-duthie/&quot;&gt;
Kimberley Ametoglou (Kim Duthie)&lt;/a&gt;.  Kim was not really from &lt;em&gt;St Kilda&lt;/em&gt;,
she was from Frankston, like
&lt;a href=&quot;https://danielpocock.com/en/people/julian-assange/&quot;&gt;
Julian Assange&lt;/a&gt;.  She expertly extracted all the nude photos of the players
from her boyfriend&#39;s computer and published them in what came to be known as
&lt;a href=&quot;https://www.heraldsun.com.au/news/victoria/how-photo-leak-scandal-dubbed-dikileaks-sparked-a-mad-scramble/news-story/efbed10721f38e76a3470c7cb502a4c2&quot;&gt;
dikileaks&lt;/a&gt;.  It seems highly unlikely
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; was giving his underage girlfriend access to all his files and
emails.  In practice, this appears to be a case of privilege escalation.
The men would put the pictures of the young women on a web site like this
to help the women create an online profile.  The women would apply to
bigger organisations for travel grants and speaking opportunities at
community conferences.&lt;/p&gt;

&lt;img alt=&quot;Elio Qoshi, Renata Gegaj, Ergi Shkelzeni, Anxhelo Lushka&quot; src=&quot;https://danielpocock.com/assets/people/elio-qoshi/ura-design-team.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;This is a photo from the
&lt;a href=&quot;https://danielpocock.com/en/category/oscal/&quot;&gt;
OSCAL&lt;/a&gt; conference in
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; in 2016.  There are so many more women than men in the photo.
What is the real reason more women than men were coming to the
&lt;a href=&quot;https://danielpocock.com/en/category/oscal/&quot;&gt;
OSCAL&lt;/a&gt; conferences?  Young female students in
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; earn approximately ten euros per day working in shops and
restaurants.  Did somebody pay these girls to attend conferences and make
it look like a real community?  One of the women was told that an
&lt;a href=&quot;https://danielpocock.com/en/category/outreachy/&quot;&gt;
Outreachy internship&lt;/a&gt; would be too difficult for her but one of the men offered
to help her submit the application if she gave him half the salary.&lt;/p&gt;

&lt;img alt=&quot;Elio Qoshi, Redon Skikuli, Boris Budini, Mariana Bela, Jona Azizaj, Anisa Kuci, Kristi Progri&quot; src=&quot;https://danielpocock.com/assets/openlabs/OSCAL_2016_-_conference_moments_100_1920.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Early in 2019, the
&lt;a href=&quot;https://danielpocock.com/en/category/fsfe-misfits/&quot;&gt;
FSFE misfits&lt;/a&gt; hired two women,
&lt;a href=&quot;https://danielpocock.com/en/people/susanne-eiswirt/&quot;&gt;
Susanne Eiswirt&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/galia-mancheva/&quot;&gt;
Galia Mancheva&lt;/a&gt;.  Within a year,
&lt;a href=&quot;https://danielpocock.com/en/people/matthias-kirschner/&quot;&gt;
Matthias Kirschner&lt;/a&gt; had sacked them both again.
&lt;a href=&quot;https://danielpocock.com/en/people/galia-mancheva/&quot;&gt;
Galia Mancheva&lt;/a&gt; took him to court and wrote a damning testimony about
&lt;a href=&quot;https://danielpocock.com/en/evidence-psychological-abuse-stalking-galia-mancheva-susanne-eiswirt-fsfe/&quot;&gt;
the culture of psychological abuse in the FSFE &quot;community&quot;&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
Even after my lawyer warned him to terminate all attempts to communicate with
me and send someone else to pick up my work laptop, he came in person to my
house, and was very irritated that I was not alone.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;What these incidents reveal is the oligarchs in these groups have come
to view the volunteers and the female subordinates as possessions.  The
oligarchs feel they have some God-given authority to make decisions about
the lives of those around them.&lt;/p&gt;

&lt;p&gt;Here is a picture of
&lt;a href=&quot;https://danielpocock.com/en/people/matthias-kirschner/&quot;&gt;
Matthias Kirschner&lt;/a&gt; with the young girls in
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt;:&lt;/p&gt;

&lt;img alt=&quot;Matthias Kirschner, OSCAL, Tirana, Albania, FSFE, women&quot; src=&quot;https://danielpocock.com/assets/people/matthias-kirschner/matthias_kirschner_albanian_women.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;Matthias Kirschner, FSFE&quot; src=&quot;https://danielpocock.com/assets/people/matthias-kirschner/matthias_kirschner_albanian_women_close-up.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In late 2018 or early 2019 one of the
&lt;a href=&quot;https://danielpocock.com/en/category/albanian-female-whistleblowers/&quot;&gt;
Albanian female whistleblowers&lt;/a&gt; was given a job at the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt;.
&lt;a href=&quot;https://danielpocock.com/en/people/kristi-progri/&quot;&gt;
Kristi Progri&lt;/a&gt; has been a member of the committee in the non-profit
&lt;a href=&quot;https://danielpocock.com/en/category/open-labs-tirana/&quot;&gt;
Open Labs&lt;/a&gt; hackerspace in
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt;.  She had been one of the organisers of the
&lt;a href=&quot;https://danielpocock.com/en/category/oscal/&quot;&gt;
OSCAL conferences&lt;/a&gt;.  She seems to know the identity of every man
who visited
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; for these conferences.  She knows the age of every young
woman who participated in the conferences.  Ever since she started
received a salary from
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt;, there has been no more evidence about
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; and the underage relationships.&lt;/p&gt;

&lt;img alt=&quot;Molly de Blanc, cat behind bars, FOSDEM 2019, harassment&quot; src=&quot;https://danielpocock.com/assets/molly_cat_behind_bars_zoom.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In 2019,
&lt;a href=&quot;https://danielpocock.com/en/category/google/&quot;&gt;
Google&lt;/a&gt; decided to reduce the salaries for
&lt;a href=&quot;https://danielpocock.com/en/category/gsoc/&quot;&gt;
Google Summer of Code (GSoC)&lt;/a&gt; interns from $6,000 down to as little as
$3,000 based on each intern&#39;s country and
&lt;a href=&quot;https://web.archive.org/web/20190528150258/https://developers.google.com/open-source/gsoc/help/student-stipends&quot;&gt;
a formula for purchasing power parity&lt;/a&gt;.  However, the parallel
&lt;a href=&quot;https://danielpocock.com/en/category/outreachy/&quot;&gt;
Outreachy&lt;/a&gt; internships, which only pay money to single young women and
don&#39;t require the women to write any code, have continued increasing their
salaries a little bit almost every year.  For example, a slim and attractive
single young woman in Russia, eastern Europe, India or Brazil is offered
$3,000 to participate in
&lt;a href=&quot;https://danielpocock.com/en/category/gsoc/&quot;&gt;
Google Summer of Code&lt;/a&gt; but if the same woman wins an
&lt;a href=&quot;https://danielpocock.com/en/category/outreachy/&quot;&gt;
Outreachy&lt;/a&gt;&lt;/p&gt;&lt;a href=&quot;https://danielpocock.com/en/category/outreachy/&quot;&gt; internship, she gets $6,000 and a lot of free trips.&lt;p&gt;&lt;/p&gt;

&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/category/outreachy/&quot;&gt;In February 2019, journalist
&lt;/a&gt;&lt;a href=&quot;https://danielpocock.com/en/people/frederic-martel-author/&quot;&gt;
Frederic Martel&lt;/a&gt; released his book
&lt;em&gt;In the Closet of the Vatican&lt;/em&gt;.  He alleges that eighty percent
of priests in the Vatican are homosexual.  In some open source software groups,
including
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;, we seem to be looking at a prevelance of homosexuality that
is higher than what is normal for the community at large.&lt;/p&gt;

&lt;p&gt;Most gay men are not paedophiles.  It is wrong to suggest they would be.
Nonetheless, when a group presents itself as gay-friendly or when a group
provides an opportunity for gay men to gain more respect from society,
as is the case with both the
&lt;a href=&quot;https://danielpocock.com/en/category/catholic/&quot;&gt;
Catholic church&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;, paedophiles appear to be attracted to the same group.
Therefore, we have to be even more vigilante.&lt;/p&gt;

&lt;p&gt;In June 2019, the diversity crowd hijacked the Debian web site and
replaced the logo colours with the colours for Pride month.  The majority
of developers did not consent to this:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;To: debian-project@lists.debian.org
Subject: Debian supports pridemonth?
From: &lt;a href=&quot;https://danielpocock.com/en/people/gerardo-ballabio/&quot;&gt;Gerardo Ballabio&lt;/a&gt; &amp;lt;gerardo.ballabio@gmail.com&amp;gt;
Date: Fri, 28 Jun 2019 11:48:18 +0200

Hello all,
I&#39;ve just seen this on https://micronews.debian.org/ :

&quot;In support of #pridemonth, Debian changes its website logo. The
Debian Project welcomes and encourages participation by everyone
https://www.debian.org/intro/diversity &quot;

May I please ask who decided that and where was it discussed? (I can&#39;t
find anything about it at least on -project.)

I do not think that this is appropriate. Welcoming diversity is one
thing, supporting pridemonth is another thing. Pridemonth is a set of
events with a definite political connotation. I don&#39;t think that
Debian should take sides on any specific political issues (except of
course issues that have a relation to free software), especially if
that hasn&#39;t been discussed at large among project members and there
isn&#39;t a clear consensus.

Is it just me (and am I being blatantly wrong, if so please enlighten
me) or do others share my concern?

Thanks
&lt;a href=&quot;https://danielpocock.com/en/people/gerardo-ballabio/&quot;&gt;Gerardo&lt;/a&gt;

(Not subscribed, please keep me Cc:d)
&lt;/pre&gt;

&lt;p&gt;It feels creepy when these things happen.  The people who do these
things don&#39;t care about consent.  They feel that what is good for them
is good for everybody else too.&lt;/p&gt;

&lt;p&gt;In the US Civil Rights movement, there were groups like the
&lt;a href=&quot;https://danielpocock.com/en/category/black-panthers/&quot;&gt;
Black Panthers&lt;/a&gt; who were very similar to the
&lt;a href=&quot;https://danielpocock.com/en/category/zizian/&quot;&gt;
Zizian diversity gang&lt;/a&gt; in open source software communities.  These
people do as they please and they don&#39;t care about the law or the
impact on the lives of those they hurt.&lt;/p&gt;

&lt;p&gt;In July 2019, the
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; annual conference
&lt;a href=&quot;https://danielpocock.com/en/category/debconf19/&quot;&gt;
DebConf19&lt;/a&gt; was in
&lt;a href=&quot;https://danielpocock.com/en/category/brazil/&quot;&gt;
Brazil&lt;/a&gt;.  At the conference dinner, the leader of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt;, had four women from
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/category/kosovo/&quot;&gt;
Kosovo&lt;/a&gt; seated next to him.&lt;/p&gt;

&lt;img alt=&quot;Chris Lamb, Anisa Kuci, Debconf19&quot; src=&quot;https://danielpocock.com/assets/lamby-lovestruck.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Why did they want so many women from
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/category/kosovo/&quot;&gt;
Kosovo&lt;/a&gt; to visit
&lt;a href=&quot;https://danielpocock.com/en/category/debconf/&quot;&gt;
DebConf&lt;/a&gt; two years in a row?  Was it some kind of bribe or hush money
arrangement to prevent further discussion about the former Fedora Ambassador,
who had been photographed with
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt; in 2017?&lt;/p&gt;

&lt;p&gt;On 2 August 2019,
&lt;a href=&quot;https://danielpocock.com/en/people/molly-de-blanc-mollydb/&quot;&gt;
Molly de Blanc&lt;/a&gt; was invited to give a keynote speech at
&lt;a href=&quot;https://danielpocock.com/en/category/froscon/&quot;&gt;
FrOSCon&lt;/a&gt; in
&lt;a href=&quot;https://danielpocock.com/en/category/germany/&quot;&gt;
Germany&lt;/a&gt;.  It is rumoured that
&lt;a href=&quot;https://danielpocock.com/en/people/molly-de-blanc-mollydb/&quot;&gt;
Molly de Blanc&lt;/a&gt; was the girlfriend of former
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; leader
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt;, a.k.a., &lt;em&gt;Mollamby&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;In her talk, she displays a hand-drawn slide where we can see three
selfish people like herself pushing one of the developers.  This is how
the selfish people get things without paying for them.  They use gossip
and violence, just like the fight at
&lt;a href=&quot;https://danielpocock.com/en/category/debconf6/&quot;&gt;
DebConf6&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;&lt;b&gt;Molly de Blanc:&lt;/b&gt; Well we can use our collective power to push others&lt;/em&gt;&lt;/blockquote&gt;

&lt;video controls=&quot;&quot; height=&quot;531&quot; poster=&quot;https://danielpocock.com/assets/molly-speaking-froscon-pushing.jpg&quot; preload=&quot;auto&quot; width=&quot;100%&quot;&gt;
  &lt;source src=&quot;https://danielpocock.com/assets/froscon2019-push-others.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;On 10 August 2019,
&lt;a href=&quot;https://danielpocock.com/en/people/jeffrey-epstein/&quot;&gt;
Jeffrey Epstein&lt;/a&gt; committed suicide in his prison cell.&lt;/p&gt;

&lt;p&gt;In August 2019, the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; annual conference
&lt;a href=&quot;https://danielpocock.com/en/category/guadec/&quot;&gt;
GUADEC&lt;/a&gt; was organised in the city of Thessaloniki in the north of
&lt;a href=&quot;https://danielpocock.com/en/category/greece/&quot;&gt;
Greece&lt;/a&gt;.  It is very close to
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; and women from the nearby Balkan countries were brought to the
conference on busses.&lt;/p&gt;

&lt;p&gt;On 17 September 2019,
&lt;a href=&quot;https://danielpocock.com/en/people/sally-muytjens/&quot;&gt;
Dr Sally Muytjens&lt;/a&gt;
completed her PhD thesis on the topic
&lt;a href=&quot;https://www.bishop-accountability.org/reports/2019_10_28_Muytjens_An_Exploration.pdf&quot;&gt;
An exploration of the existence of clergy child sexual
abuse dark networks within the Victorian Catholic Church&lt;/a&gt;.  It is extremely
relevant to the phenomena we see today in
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;.  Various people have publicly praised a
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; and helped him recycle his reputation at
exactly the same time they are trashing the reputations of honest
developers.  The blackmail tactics they use, the games they play with the
vocabulary of abuse and the way they operate in packs to reinforce
their worldview all resonate with the scandals the church has been working
so hard to move away from.&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
In the context of police corruption networks, this code of silence extended to
â€œprohibiting disclosing perjury or other misconduct by fellow officers, or even testifying
truthfully if the facts would implicate the conduct of a fellow officerâ€� (Chin and Zhang
2008, 238). Merrington (2017, 61) found that police corruption networks exploit the
light networkâ€™s resources to facilitate DN operations. Research on a sports doping
network showed that protecting the network included inflicting harm through bribery,
bullying and threats and enforced a code of silence (USADA 2012 cited in Bell, TenHave and Lauchs 2016, 60). A code of silence or omerta was created by the Italian
mafia and is applied to mafia members and anyone who witnesses mafia criminal
activity to ensure silence regarding their illicit activities (UNODC 2008 cited in Bell,
Ten-Have and Lauchs 2016). Omerta extended to a refusal to give evidence to the
police (Fielding 2017,17). Similar methods were utilised by clergy perpetrator
networks within the Victorian Catholic Church to maintain silence and, hence,
resilience of the network of clergy CSA.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;The 80,000 messages on &lt;em&gt;debian-private&lt;/em&gt; and similar archives in the
&lt;a href=&quot;https://danielpocock.com/en/category/fsfe-misfits/&quot;&gt;
FSFE misfits&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/category/mozillian/&quot;&gt;
Mozilla&lt;/a&gt; are analogous to the code of silence in other institutions.&lt;/p&gt;

&lt;p&gt;In the
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albanian&lt;/a&gt; scandal, the unpaid female volunteers were asked to sign a
Non-Disclosure Agreement (NDA) even before they were abused.  In other contexts,
such agreements only appear after the abuse and during negotiation of the
settlement.&lt;/p&gt;

&lt;p&gt;In November 2019,
&lt;a href=&quot;https://danielpocock.com/en/people/anisa-kuci/&quot;&gt;
Anisa Kuci&lt;/a&gt;, the
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albanian&lt;/a&gt; woman who was seated closest to
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt; at the
&lt;a href=&quot;https://danielpocock.com/en/category/debconf19/&quot;&gt;
DebConf19&lt;/a&gt; conference dinner was awarded a $6,000
&lt;a href=&quot;https://danielpocock.com/en/category/outreachy/&quot;&gt;
Outreachy&lt;/a&gt; internship.  The woman had previously worked as a waitress and
had no software development experience.&lt;/p&gt;

&lt;img alt=&quot;Anisa Kuci, Chris Lamb, Outreachy, favoritism&quot; src=&quot;https://danielpocock.com/assets/anisa-kuci-twitter-outreachy.png&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Remember the teenage boys doing unpaid work to bootstrap
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; back in the 1990s.
&lt;a href=&quot;https://danielpocock.com/en/people/joel-klecker-espy/&quot;&gt; 
Joel &quot;Espy&quot; Klecker&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/people/shaya-potter-spotter/&quot;&gt;
Shaya Potter&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/chris-rutter-cmr/&quot;&gt;
Chris Rutter&lt;/a&gt;.  They did a huge amount of technical work,
they received no payments and some of them
&lt;a href=&quot;https://danielpocock.com/en/debian-history-harassment-abuse-culture-evolution/&quot;&gt;
died&lt;/a&gt;.  When these women from eastern Europe arrived people started
popping champagne and opening the chequebook:&lt;/p&gt;

&lt;img alt=&quot;Anisa Kuci, DebConf19, Outreachy&quot; src=&quot;https://danielpocock.com/assets/people/anisa-kuci/anisa-kuci-debconf19-outreachy.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;Joel Espy Klecker, Debian, exploitation, deaths&quot; src=&quot;https://danielpocock.com/assets/people/joel-klecker-espy/32786153_123153716205.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;Anisa Kuci, DebConf19, Outreachy&quot; src=&quot;https://danielpocock.com/assets/debconf19/IMG_8412_c.JPG&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In January 2020,
&lt;a href=&quot;https://danielpocock.com/en/people/joerg-jaspert-ganneff/&quot;&gt;
Joerg Jaspert&lt;/a&gt; from the
&lt;a href=&quot;https://danielpocock.com/en/category/debian-account-managers/&quot;&gt;
Debian Account Managers&lt;/a&gt; cyberbullies was appointed as
&lt;a href=&quot;https://www.osthessen-zeitung.de/einzelansicht/news/2020/januar/neue-stadt-und-kreiselternbeiraete-riechert-und-beck-vorsitzende.html&quot;&gt;
a parent representative at Dalbergschule in Fulda, Germany&lt;/a&gt;.  Is it
appropriate for any
&lt;a href=&quot;https://danielpocock.com/en/what-is-a-debian-developer/&quot;&gt;
Debian Developer&lt;/a&gt; to have such a role in a school, even as a volunteer,
while the organisation is refusing to discuss the concerns about their
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt;?&lt;/p&gt;

&lt;img alt=&quot;Claudia Beck, Joerg Jaspert (ganneff), Ina Riechert&quot; src=&quot;https://danielpocock.com/assets/2024-udrp-response/NeueKreisundStadtElternbeiraete.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;At the end of August 2020, we saw
&lt;a href=&quot;https://danielpocock.com/en/people/matthew-garrett-mjg59/&quot;&gt;
Matthew Garrett&lt;/a&gt; went wild spreading
&lt;a href=&quot;https://danielpocock.com/en/honourable-mrs-justice-collins-rice-tricked-by-matthew-garrett-debian/&quot;&gt;
false accusations that Dr Jacob Appelbaum is a rapist&lt;/a&gt;, all the while,
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianists&lt;/a&gt; were protecting a real rapist.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/matthew-garrett-mjg59/&quot;&gt;
Matthew Garrett&lt;/a&gt; spread dozens of message like this without any evidence:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: expulsions vs Reproducible Builds
Date: Tue, 1 Sep 2020 09:52:17 +0100
From: &lt;a href=&quot;https://danielpocock.com/en/people/matthew-garrett-mjg59/&quot;&gt;Matthew Garrett&lt;/a&gt; &amp;lt;mjg59@srcf.ucam.org&amp;gt;
Reply-To: discussion@lists.fsfellowship.eu
To: discussion@lists.fsfellowship.eu

On Tue, Sep 01, 2020 at 10:26:40AM +0200, Debian Community News Team wrote:

&amp;gt; a) The different approaches taken to complaints about Appelbaum and
&amp;gt; Lange, even though both complaints arrived at the same time.

One of these complaints involved multiple accusations of rape and sexual assault. The other involved an accusation of aggressive and disrespectful behaviour. Do you believe that these things are equivalent?

-- 
&lt;a href=&quot;https://danielpocock.com/en/people/matthew-garrett-mjg59/&quot;&gt;Matthew Garrett&lt;/a&gt; | mjg59@srcf.ucam.org
&lt;/pre&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: expulsions vs Reproducible Builds
Date: Wed, 2 Sep 2020 00:40:21 +0100
From: &lt;a href=&quot;https://danielpocock.com/en/people/matthew-garrett-mjg59/&quot;&gt;Matthew Garrett&lt;/a&gt; &amp;lt;mjg59@srcf.ucam.org&amp;gt;
Reply-To: discussion@lists.fsfellowship.eu
To: discussion@lists.fsfellowship.eu

On Tue, Sep 01, 2020 at 05:59:46PM -0500, quiliro wrote:
&amp;gt; &lt;a href=&quot;https://danielpocock.com/en/people/matthew-garrett-mjg59/&quot;&gt;Matthew Garrett&lt;/a&gt; &amp;lt;mjg59@srcf.ucam.org&amp;gt; writes:
&amp;gt; &amp;gt; The Universal Declaration of Human Rights does not require that a 
&amp;gt; &amp;gt; volunteer organisation grant membership to a rapist, even if said rapist 
&amp;gt; &amp;gt; has not been found guilty in a court of law.
&amp;gt; Are you aserting that Jacob Appelbaum is guilty or are you talking about
&amp;gt; someone else? If you cannot prove something, it is a lie.

I am asserting that he&#39;s a rapist, an assertion that is backed up by an array of publicly available evidence.

-- 
&lt;a href=&quot;https://danielpocock.com/en/people/matthew-garrett-mjg59/&quot;&gt;Matthew Garrett&lt;/a&gt; | mjg59@srcf.ucam.org
&lt;/pre&gt;

&lt;p&gt;These people think that by forming together like a pack of dogs
and repeating the same rumour over and over again they can trick
the whole world to believe it.&lt;/p&gt;

&lt;p&gt;One of the reason dishonest people like
&lt;a href=&quot;https://danielpocock.com/en/people/matthew-garrett-mjg59/&quot;&gt;
Matthew Garrett&lt;/a&gt; make such outrageous lies is to cover up the fact the
&quot;diversity&quot; team was bringing real paedophiles into the world of
open source software.  This is a classic trick that every junior
magician knows: make the audience look in some other direction while
you discretely move around the evidence.&lt;/p&gt;

&lt;p&gt;At some point in 2021,
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; joined
&lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;
Canonical Ltd&lt;/a&gt;, the company making
&lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;
Ubuntu&lt;/a&gt;, as an employee.  It looks like he was employed there for a number
of years but eventually they removed him in about 2025.  They didn&#39;t make any
comment about why he was terminated.  It looks like it happened around the same
time they eventually cut ties with
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; in 2025.  Here is a screenshot
of his LinkedIn profile when he was in
&lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;
Canonical Ltd&lt;/a&gt;:&lt;/p&gt;

&lt;img alt=&quot;Elio Qoshi, Canonical Ltd, Ubuntu, Open Labs, Albania, Tirana&quot; src=&quot;https://danielpocock.com/assets/people/elio-qoshi/elio-qoshi-canonical-openlabs.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;On 11 March 2021,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; parole period finished at about the same time the
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albanian&lt;/a&gt; joined
&lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;
Canonical Ltd&lt;/a&gt;.  An uncanny coincidence indeed.&lt;/p&gt;

&lt;p&gt;Between July and October 2021, the web site of
&lt;a href=&quot;https://danielpocock.com/en/people/justin-flory-jwf/&quot;&gt;
Justin Flory&lt;/a&gt; told us he was
&lt;a href=&quot;https://web.archive.org/web/20211007053539/https://jwf.io/&quot;&gt;
living in Albania (Wayback Machine snapshot)&lt;/a&gt;.  Shortly after that,
&lt;a href=&quot;https://danielpocock.com/en/people/justin-flory-jwf/&quot;&gt;
Justin W Flory&lt;/a&gt; changed his name to
&lt;a href=&quot;https://danielpocock.com/en/people/justin-flory-jwf/&quot;&gt;
Justin W Wheeler&lt;/a&gt;, changed his employer from
&lt;a href=&quot;https://danielpocock.com/en/category/unicef/&quot;&gt;
UNICEF&lt;/a&gt; to
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
Red Hat&lt;/a&gt; and removed the reference to
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; from his blog.&lt;/p&gt;

&lt;p&gt;Why are the companies supporting the
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albanians&lt;/a&gt; like this?  Quite simply,
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; knows the identity of every male developer who visited
the conferences in
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt;.  He knows who they spoke to.  Most men who look for a wife in
these countries are looking for an adult.  If one or two men were looking
for something less than legal then they may well have asked
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt;, who had his own underage girlfriend, to help them find what
they wanted.  He is one of the few people who would know who those men are
and what they did.  The controlling corporations don&#39;t know what he knows and
they probably don&#39;t want to know either.  But what they do know is that as
long as he is on somebody&#39;s payroll, the secrets will stay buried.&lt;/p&gt;

&lt;p&gt;Late in 2021, the
&lt;a href=&quot;https://danielpocock.com/en/category/fsfe-misfits/&quot;&gt;
FSFE misfits&lt;/a&gt; announced a program called
&lt;a href=&quot;https://danielpocock.com/en/category/yh4f/&quot;&gt;
Youth Hacking for Freedom (YH4F)&lt;/a&gt; to recruit underage people between
thirteen and seventeen years of age to work for free.  Having resigned from
&lt;a href=&quot;https://danielpocock.com/en/category/fsfe-misfits/&quot;&gt;
the FSFE&lt;/a&gt;, I had grave concerns for the welfare of children and I published
the blog
&lt;a href=&quot;https://danielpocock.com/en/google-fsfe-child-labor/&quot;&gt;
Google, FSFE &amp;amp; Child Labor&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Shortly after that,
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
IBM Red Hat&lt;/a&gt; began a legal case to seize the domain name
&lt;a href=&quot;https://WeMakeFedora.org&quot;&gt;
WeMakeFedora.org&lt;/a&gt;.  They used my blog
&lt;a href=&quot;https://danielpocock.com/en/google-fsfe-child-labor/&quot;&gt;
Google, FSFE &amp;amp; Child Labor&lt;/a&gt; as their evidence that I was publishing
&quot;critical commentary&quot;.  The legal panel ruled in my favor and moreover,
ruled that
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
IBM Red Hat&lt;/a&gt; was using the legal process to harass me.
&lt;a href=&quot;https://danielpocock.com/assets/2024-udrp-response/ibm-red-hat-child-labor-bundle.pdf&quot;&gt;
See the legal documents here&lt;/a&gt;.
In hindsight,
now that everybody knows the truth about
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt;, people can see that I had good reason to publish the grave
concerns I have about the
&lt;a href=&quot;https://danielpocock.com/en/category/fsfe-misfits/&quot;&gt;
FSFE misfits&lt;/a&gt; recruiting children to do unpaid work.&lt;/p&gt;

&lt;p&gt;In January 2022,
&lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;
Canonical&lt;/a&gt;, the company of
&lt;a href=&quot;https://danielpocock.com/en/people/mark-shuttleworth/&quot;&gt;
Mark Shuttleworth&lt;/a&gt;, decided to employ
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt;.  It is not clear if he was previously being paid as a
subcontractor while in prison or on parole.  It appears that the move to
permanent employment coincided with the end of his parole period in 2021.
Did the company know he was on parole while interacting with their
developers?&lt;/p&gt;

&lt;p&gt;In February 2022, people noticed the speaker profile for
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; had been
&lt;a href=&quot;https://fsfellowship.news/did-fosdem-remove-elio-qoshi-ubuntu-underage-girlfriend/&quot;&gt;
removed&lt;/a&gt; from the web site of the
&lt;a href=&quot;https://danielpocock.com/en/category/fosdem/&quot;&gt;
FOSDEM&lt;/a&gt; conference.  No explanation was given.  When
&lt;a href=&quot;https://danielpocock.com/en/category/fosdem/&quot;&gt;
FOSDEM&lt;/a&gt; removed him, other volunteers were never officially warned about
the issues with underage girls and harassment.&lt;/p&gt;

&lt;p&gt;On 14 June 2022,
&lt;a href=&quot;https://danielpocock.com/en/people/anisa-kuci/&quot;&gt;
Anisa Kuci&lt;/a&gt;, the waitress from
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; who sat next to
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt; at the
&lt;a href=&quot;https://danielpocock.com/en/category/debconf19/&quot;&gt;
DebConf19&lt;/a&gt; conference dinner is given voting rights in the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt;.  Many real developers do not have voting rights in
these associations and foundations.  The oligarchs appear to be stacking
the associations with personal friends who will vote for the same oligarchs
to keep their positions on the board every year.&lt;/p&gt;

&lt;p&gt;The woman eventually appears to become an employee of the association
as well.  However, it is not clear if she was on the payroll at the
time the oligarchs made her
&lt;a href=&quot;https://discourse.gnome.org/t/memberships-needing-renewal-2024-6/21319&quot;&gt;
a voting member&lt;/a&gt;.&lt;/p&gt;

&lt;img alt=&quot;Anisa Kuci, GNOME, Membership&quot; src=&quot;https://danielpocock.com/assets/people/anisa-kuci/2022-06-14-anisa-gnome-membership.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;From 20 to 25 July 2022,
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&#39;s&lt;/a&gt; annual conference
&lt;a href=&quot;https://danielpocock.com/en/category/guadec/&quot;&gt;
GUADEC&lt;/a&gt; is in
&lt;a href=&quot;https://danielpocock.com/en/category/mexico/&quot;&gt;
Mexico&lt;/a&gt; during the same week that
&lt;a href=&quot;https://danielpocock.com/en/category/debconf22/&quot;&gt;
DebConf22&lt;/a&gt; is in
&lt;a href=&quot;https://danielpocock.com/en/category/kosovo/&quot;&gt;
Kosovo&lt;/a&gt;.  The two women from
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; could take the bus to
&lt;a href=&quot;https://danielpocock.com/en/category/kosovo/&quot;&gt;
Kosovo&lt;/a&gt; for fifteen euros each but somebody buys them tickets for flights from
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; to
&lt;a href=&quot;https://danielpocock.com/en/category/mexico/&quot;&gt;
Mexico&lt;/a&gt;.  The money paid for these flights could have been used to buy bus
tickets for twenty more women from local universities in central American
countries close to
&lt;a href=&quot;https://danielpocock.com/en/category/mexico/&quot;&gt;
Mexico&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In his
&lt;a href=&quot;https://danielpocock.com/en/category/debconf22/&quot;&gt;
DebConf22&lt;/a&gt; profile,
&lt;a href=&quot;https://debconf22.debconf.org/users/jbicha/&quot;&gt;
with three talks&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; tells us:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
Jeremy is a member of the Debian GNOME and Canonical Desktop teams. He lives in Florida and this will be &lt;b&gt;the first DebConf he has attended&lt;/b&gt;.  [in the year after his probation finished]
&lt;/em&gt;&lt;/blockquote&gt;

&lt;img alt=&quot;Jeremy Bicha, DebConf22, Kosovo, GNOME, Ubuntu&quot; src=&quot;https://danielpocock.com/assets/people/jeremy-bicha-jbicha/2022-07-23-debconf22-jeremy-bicha-gnome.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Fact checking, over 20,000 women in
&lt;a href=&quot;https://danielpocock.com/en/category/kosovo/&quot;&gt;
Kosovo&lt;/a&gt; reported being victim of rape as a war crime back in the late 1990s.
&lt;/p&gt;

&lt;p&gt;Many of the young women I met at events in
&lt;a href=&quot;https://danielpocock.com/en/category/kosovo/&quot;&gt;
Kosovo&lt;/a&gt; appear to have been born at the time of the war.&lt;/p&gt;

&lt;img alt=&quot;Jeremy Bicha, Kosovo, rape, war crime&quot; src=&quot;https://danielpocock.com/assets/people/jeremy-bicha-jbicha/2019-03-25-politico-scars-sexual-violence.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;a href=&quot;https://www.balcanicaucaso.org/en/cp_article/war-in-kosovo-and-sexual-violence-a-painful-legacy/&quot;&gt;
&lt;img alt=&quot;rape, war crime, Kosovo&quot; src=&quot;https://danielpocock.com/assets/kosovo/rape-war-crime.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;On 11 September 2022, the anniversary of a notorious terror attack,
&lt;a href=&quot;https://danielpocock.com/en/people/axel-beckert-xtaran/&quot;&gt;
Axel Beckert&lt;/a&gt; asked the Swiss
&lt;a href=&quot;https://danielpocock.com/en/category/police-rumors/&quot;&gt;
police&lt;/a&gt; to take sides with
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; and all help cover up
&lt;a href=&quot;https://danielpocock.com/en/adrian-diana-von-bidder-senn-debian-detailed-history-death/&quot;&gt;
the death of Adrian von Bidder on our wedding day because his wife wanted
to be Mayor of Basel&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The abuse details can be found in a report that
&lt;a href=&quot;https://danielpocock.com/en/category/amnesty-international/&quot;&gt;
Amnesty International&lt;/a&gt; prepared about the case of
&lt;a href=&quot;https://danielpocock.com/en/people/trevor-kitchen/&quot;&gt;
Trevor Kitchen&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
&lt;p&gt;Trevor Kitchen, a 41-year-old British citizen resident in Switzerland, was arrested by
police in Chiasso (canton of Ticino) on the morning of 25 December 1992 in connection
with offences of defamation and insults against private individuals. In a letter addressed to
the Head of the Federal Department of Justice and Police in Berne and to the Tribunal in
Bellinzona (Ticino) on 3 June 1993 he alleged that two police officers arrested him in a bar
in Chiasso and, after handcuffing him, accompanied him to their car in the street outside.
They then bent him over the car and hit him around the head approximately seven times
and carried out a body search during which his testicles were squeezed. He claimed he was then punched hard between the shoulder blades several times. He said he offered no
resistance during the arrest.&lt;/p&gt;

&lt;p&gt;He was then taken to a police station in Chiasso where he was questioned in Italian (a
language he does not understand) and stated that during the questioning &quot;The same
policeman that arrested me came into the office to shout at me and hit me once again
around the head. Another policeman forced me to remove all of my clothes. I was afraid
that they would use physical force again; they continued to shout at me. The one policeman
was pulling at my clothes and took my trouser belt off and removed my shoe laces. Now I
stood in the middle of an office completely naked (for 10 minutes) with the door wide open
and three policemen staring at me, one of the policemen put on a pair of rubber surgical
gloves and instructed me to crouch into a position so that he could insert his fingers into my
anus, I refused and they all became angry and started shouting and demonstrating to me the
position which they wanted me to take, laughing, all were laughing, these police were having a
good time. They pointed at my penis, making jokes, hurling abuse and insults at me, whilst I
stood completely still and naked. Finally, when they finished laughing, one of the
policemen threw my clothes onto the floor in front of me. I got dressed.&quot;&lt;/p&gt;

&lt;p&gt;He was transferred to prison some hours later and in his letter claimed that during the
night he started to experience severe pains in his chest, back and arms. He asked a prison
guard if he could see a doctor but the request was refused and he claimed the guard kicked
him. He was released on 30 December 1993. Medical reports indicated that since his
release he had been experiencing recurrent pain in the area of his chest and right shoulder
and had been receiving physiotherapy for an injury to the upper thoracic spine and his right
shoulder girdle.&lt;/p&gt;
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;Volunteers discovered
&lt;a href=&quot;https://danielpocock.com/how-much-does-google-pay-to-destroy-a-man-and-his-family/&quot;&gt;
over $120,000 was taken out of Debian bank accounts and used for legal fees&lt;/a&gt;
to try and have me molested or killed.  Why did they spend so much money on this
vendetta?  They are terrified about people who express concern about abuse.  They
paid $120,000 in legal fees because they feel more comfortable with
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt;, the man who raped his little sisters, than with
the independent volunteer elected by the Fellowship in 2017.&lt;/p&gt;

&lt;p&gt;On 13 October 2022, the
&lt;a href=&quot;https://wiki.gnome.org/FoundationBoard(2f)Minutes(2f)20221013.html&quot;&gt;
GNOME board minutes&lt;/a&gt; tell us they decided to add
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; to the Release Team.&lt;/p&gt;

&lt;p&gt;In November 2022,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; writes an advocacy for
&lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;
Matthias Geiger&lt;/a&gt; to become a Debian Maintainer:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: &lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;Matthias Geiger&lt;/a&gt;: Advocate
Date: Thu, 10 Nov 2022 13:26:16 -0000
From: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; (via nm.debian.org) &amp;lt;nm@debian.org&amp;gt;
Reply-To: debian-newmaint@lists.debian.org, &lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;Matthias Geiger&lt;/a&gt;
  &amp;lt;matthias.geiger1024@tutanota.de&amp;gt;, archive-1128@nm.debian.org,
  &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@debian.org&amp;gt;
To: debian-newmaint@lists.debian.org
CC: &lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;Matthias Geiger&lt;/a&gt; &amp;lt;matthias.geiger1024@tutanota.de&amp;gt;,
  archive-1128@nm.debian.org, &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@debian.org&amp;gt;

For nm.debian.org, at 2022-11-10:
I support &lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;Matthias Geiger&lt;/a&gt; &amp;lt;matthias.geiger1024@tutanota.de&amp;gt;&#39;s request to
become a Debian Maintainer.

I have sponsored numerous uploads for Matthias including 6 new source
packages. He has prepared many new packages with a particular focus on
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;GNOME&lt;/a&gt; apps and &lt;a href=&quot;https://danielpocock.com/en/category/rust/&quot;&gt;Rust&lt;/a&gt; libraries to build GNOME apps. Creating new packages
is one of the more complex packaging tasks for Debian. His work has been
consistently high quality. We have also worked together to improve the
initial packaging.
Beyond packaging skills, Matthias has been pleasant to communicate with.

I have personally worked with &lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;Matthias Geiger&lt;/a&gt;
&amp;lt;matthias.geiger1024@tutanota.de&amp;gt;
(key C2E1A6CBFDECE511A8A4176D18BD106B3B6C5475) for 7 months, and I know
&lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;Matthias Geiger&lt;/a&gt;
can be trusted to have upload rights for their own packages, right now.

&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; (via nm.debian.org)
&lt;/pre&gt;

&lt;p&gt;In January 2023, the late
&lt;a href=&quot;https://danielpocock.com/en/people/cardinal-george-pell/&quot;&gt;
Cardinal George Pell&lt;/a&gt;, former treasurer of the
&lt;a href=&quot;https://danielpocock.com/en/category/vatican/&quot;&gt;
Vatican&lt;/a&gt;, appeared in news reports from Rome talking about the death of
&lt;a href=&quot;https://danielpocock.com/en/people/pope-benedict-xvi/&quot;&gt;
Pope Benedict&lt;/a&gt;.  The news reports prompted me to look at the &lt;em&gt;unredacted&lt;/em&gt;
&lt;a href=&quot;https://www.childabuseroyalcommission.gov.au/case-studies/case-study-35-catholic-archdiocese-melbourne&quot;&gt;
Case Study 35 about the Archdiocese of Melbourne&lt;/a&gt;.  I was shocked to see
the similarities to the
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; culture and
&lt;a href=&quot;https://danielpocock.com/en/category/social-engineering/&quot;&gt;
social engineering attacks&lt;/a&gt;.  I printed a lot of the evidence about
&lt;a href=&quot;https://danielpocock.com/en/people/enrico-zini/&quot;&gt;
Enrico Zini&lt;/a&gt; blackmailing and defaming people over so many years.  On
10 January 2023, I drove across the Great St Bernard Pass to Aosta in
&lt;a href=&quot;https://danielpocock.com/en/category/italy/&quot;&gt;
Italy&lt;/a&gt;.  I walked in to the Carabinieri station and explained the
similarities between the exploitation of victims in
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; and in the
&lt;a href=&quot;https://danielpocock.com/en/category/catholic-abuse/&quot;&gt;
Catholic abuse crisis&lt;/a&gt;.  In the same hour that I was in the Carabinieri
station, as a witness to these crimes, unbeknownst to me,
&lt;a href=&quot;https://danielpocock.com/en/people/cardinal-george-pell/&quot;&gt;
Cardinal George Pell&lt;/a&gt; was having surgery in Rome.  He died four or
five hours later.&lt;/p&gt;

&lt;p&gt;Authorities in
&lt;a href=&quot;https://danielpocock.com/en/category/australia/&quot;&gt;
Australia&lt;/a&gt; pretended the crisis died with
&lt;a href=&quot;https://danielpocock.com/en/people/cardinal-george-pell/&quot;&gt;
Cardinal George Pell&lt;/a&gt;.  He had avoided certain questions and surely there
is nobody else left alive who knows the answers to those questions.&lt;/p&gt;

&lt;p&gt;On 1 March 2023,
&lt;a href=&quot;https://wiki.gnome.org/FoundationBoard(2f)Minutes(2f)20230511.html&quot;&gt;
minutes&lt;/a&gt; of a
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt; Executive Committee meeting capture the names of
&lt;a href=&quot;https://danielpocock.com/en/people/anisa-kuci/&quot;&gt;
Anisa Kuci&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; together for the first time.  At this point, she is not on
the list of people receiving payments from
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt;.  There are serious ethical concerns when members of
the &lt;em&gt;CoC-committee&lt;/em&gt; are physically intimate with the very people
they are making up rumours about.  Likewise, there are serious ethical
concerns when staff members are able to intercept and suppress
&lt;em&gt;CoC-committee&lt;/em&gt; complaints about their workmates and their own boss.
We already discussed the way these &lt;em&gt;CoC&lt;/em&gt; schemes are similar to
the &lt;em&gt;catch-and-kill&lt;/em&gt; strategy the &lt;em&gt;National Enquirer&lt;/em&gt; used to
purchase and suppress stories about
&lt;a href=&quot;https://danielpocock.com/en/people/donald-trump/&quot;&gt;
Donald Trump&lt;/a&gt;.
These financial and sexual conflicts of interest are even more disturbing
when the conflicts of interest are totally hidden from the victims of
defamation created by these gangsters.&lt;/p&gt;

&lt;img alt=&quot;Anisa Kuci, Sonny Piers, GNOME Foundation, board minutes&quot; src=&quot;https://danielpocock.com/assets/people/sonny-piers-gnome/2023-05-11-gnome-minutes-anisa-sonny.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;It appears there are now two women from
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; who were being paid to work on the organisation of
&lt;a href=&quot;https://danielpocock.com/en/category/guadec/&quot;&gt;
GUADEC&lt;/a&gt; and assist other events like
&lt;a href=&quot;https://danielpocock.com/en/category/debconf/&quot;&gt;
DebConf&lt;/a&gt;.  Up to this point, the organisations had always insisted
that if volunteers wanted an event they have to organise it themselves.
Nobody had any public discussion about changing the strategy and having
a mix of volunteers and paid event staff.  It is vital to ask the question:
did the oligarchs create these jobs because the community chose to
change the strategy or did these jobs get created because somebody wanted
these two specific girls from
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; to have jobs?&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; hired the first girl at the end of 2018.  Some time later, the
other girl went to
&lt;a href=&quot;https://danielpocock.com/en/category/outreachy/&quot;&gt;
Outreachy&lt;/a&gt;, then she went to
&lt;a href=&quot;https://danielpocock.com/en/category/wikimedia/&quot;&gt;
Wikimedia Italia&lt;/a&gt;, an organisation that relies on a lot of volunteers
who don&#39;t get paid.  A list of her past relationships was circulated and
the people doing unpaid work became upset.  Shortly after that, it looks like
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; took her on their payroll.  The fact that
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; has ended up with two girls from the same
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albanian&lt;/a&gt; background adds weight to the argument that the jobs were created
for these specific girls rather than to fill some general need.&lt;/p&gt;

&lt;p&gt;Remember, in 2018 and 2019, these are the same girls who asked the
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianists&lt;/a&gt; to buy their travel tickets in advance while all the other
young interns had to buy tickets with their own money and wait for
reimbursement.&lt;/p&gt;

&lt;p&gt;Before
&lt;a href=&quot;https://danielpocock.com/en/people/boris-johnson/&quot;&gt;
Boris Johnson&lt;/a&gt; became prime minister of the
&lt;a href=&quot;https://danielpocock.com/en/category/uk/&quot;&gt;
UK&lt;/a&gt;, he served as the mayor of
&lt;a href=&quot;https://danielpocock.com/en/category/london/&quot;&gt;
London&lt;/a&gt;.  Various people have come forward with evidence that
&lt;a href=&quot;https://www.dailymail.com/news/article-10998695/Boris-Johnson-pushed-City-Hall-job-woman-sexual-relationship-with.html&quot;&gt;
he tried to have specific women assigned to jobs&lt;/a&gt; rather than the normal
process of advertising the job and choosing the best candidate.  The pattern
&lt;a href=&quot;https://www.civilserviceworld.com/professions/article/ex-standards-chief-geidt-dubs-latest-carrie-johnson-claims-ripe-for-investigation&quot;&gt;
was repeated when he was prime minister and his girlfriend, now wife, was
proposed for a job in the Foreign Office&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On 19 April 2023,
&lt;a href=&quot;https://danielpocock.com/en/people/anisa-kuci/&quot;&gt;
Anisa Kuci&lt;/a&gt;, the waitress from
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; who sat closest to
&lt;a href=&quot;https://danielpocock.com/en/people/chris-lamb-lamby/&quot;&gt;
Chris Lamb&lt;/a&gt; at the
&lt;a href=&quot;https://danielpocock.com/en/category/debconf19/&quot;&gt;
DebConf19&lt;/a&gt; conference dinner goes for the &lt;em&gt;CoC-committee&lt;/em&gt; in the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt; forum, which runs on
&lt;a href=&quot;https://danielpocock.com/en/category/discourse-forums/&quot;&gt;
Discourse software&lt;/a&gt;.&lt;/p&gt;

&lt;img alt=&quot;Anisa Kuci, GNOME, CoC Committee&quot; src=&quot;https://danielpocock.com/assets/people/anisa-kuci/gnome-discourse-group-coc-anisa-akuci.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;Anisa Kuci, GNOME, CoC Committee&quot; src=&quot;https://danielpocock.com/assets/people/anisa-kuci/gnome-discourse-user-anisa-akuci.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Why did
&lt;a href=&quot;https://danielpocock.com/en/people/kristi-progri/&quot;&gt;
Kristi Progri&lt;/a&gt; get a big title, Director of Project Management but when
&lt;a href=&quot;https://danielpocock.com/en/people/anisa-kuci/&quot;&gt;
Anisa Kuci&lt;/a&gt; joined
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; they call her an &lt;em&gt;Administrative Assistant&lt;/em&gt;?  Both girls
grew up together in the same building.  The both joined the
&lt;a href=&quot;https://danielpocock.com/en/category/open-labs-tirana/&quot;&gt;
Open Labs&lt;/a&gt; group together.  Either one job title is being overstated or
the other job title is understated.  It looks like the job for the second girl
was only created as part of the &lt;em&gt;catch-and-kill&lt;/em&gt; strategy to keep
women on side so they won&#39;t repeat the things they told me in 2017 and 2018
about the
&lt;a href=&quot;https://danielpocock.com/en/category/fedora-project/&quot;&gt;
Fedora&lt;/a&gt; Ambassador
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;What is the
&lt;a href=&quot;https://danielpocock.com/en/category/code-of-conduct-gaslighting/&quot;&gt;
Code of Conduct gaslighting&lt;/a&gt; all about anyway?  This is the stuff of
&lt;a href=&quot;https://danielpocock.com/en/category/cult-behaviour/&quot;&gt;
cults&lt;/a&gt;.  People are supposed to smile and pretend everything is alright even
when something bad happens.  Remember the
&lt;a href=&quot;https://danielpocock.com/en/adrian-diana-von-bidder-senn-debian-detailed-history-death/&quot;&gt;
story of Adrian von Bidder&#39;s death on our wedding day&lt;/a&gt;?  We are expected to
keep smiling.  If a rape victim sees
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; in the bunk beds at
&lt;a href=&quot;https://danielpocock.com/en/category/debconf/&quot;&gt;
DebConf&lt;/a&gt;, is she allowed to talk about her concerns?  Of course not.  The
&lt;a href=&quot;https://danielpocock.com/en/category/code-of-conduct-gaslighting/&quot;&gt;
Code of Conduct gaslighting&lt;/a&gt; doesn&#39;t care how she feels.&lt;/p&gt;

&lt;p&gt;On 21 April 2023,
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt; publishes a blog about his job at
&lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;
Canonical Ltd&lt;/a&gt;, makers of
&lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;
Ubuntu&lt;/a&gt;.  The blog is about
&lt;a href=&quot;https://ubuntu.com/blog/how-we-designed-the-new-ubuntu-desktop-installer&quot;&gt;
How we designed the new Ubuntu Desktop installer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On 10 May 2023,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; writes another advocacy for
&lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;
Matthias Geiger&lt;/a&gt; to be promoted from Debian Maintainer to Debian Developer:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: &lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;Matthias Geiger&lt;/a&gt;: Advocate
Date: Wed, 10 May 2023 15:06:23 -0000
From: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; (via nm.debian.org) &amp;lt;nm@debian.org&amp;gt;
Reply-To: debian-newmaint@lists.debian.org,
  &lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;Matthias Geiger&lt;/a&gt; &amp;lt;matthias.geiger1024@tutanota.de&amp;gt;,
  archive-1181@nm.debian.org,
  &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@debian.org&amp;gt;
To: debian-newmaint@lists.debian.org
CC: &lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;Matthias Geiger&lt;/a&gt; &amp;lt;matthias.geiger1024@tutanota.de&amp;gt;,
  archive-1181@nm.debian.org,
  &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@debian.org&amp;gt;

For nm.debian.org, at 2023-05-10:
I support &lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;Matthias Geiger&lt;/a&gt; &amp;lt;matthias.geiger1024@tutanota.de&amp;gt;&#39;s request to
become a Debian Developer, uploading.
I have worked with &lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;Matthias Geiger&lt;/a&gt; on &lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;GNOME&lt;/a&gt; packages since March 2022.
Matthias has created new Debian packages
for several GNOME related apps and libraries and maintained them well
ever since.

Matthias has been very instrumental in doing the major prerequisite work
to get newer GNOME apps written in &lt;a href=&quot;https://danielpocock.com/en/category/rust/&quot;&gt;Rust&lt;/a&gt;
into Debian Trixie. This is very complicated but important work.

I have personally worked with &lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;Matthias Geiger&lt;/a&gt;
&amp;lt;matthias.geiger1024@tutanota.de&amp;gt;
(key C2E1A6CBFDECE511A8A4176D18BD106B3B6C5475) for 14 months, and I know
&lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;Matthias Geiger&lt;/a&gt;
can be trusted to be a full member of Debian, and have unsupervised,
unrestricted upload rights, right now.

&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; (via nm.debian.org)
&lt;/pre&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/matthias-geiger-werdahias/&quot;&gt;
Matthias Geiger&lt;/a&gt; is a very common name.
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; has vouched for him but neither of them have told us if they
have any conflicts of interest, for example, if they both work for the same
employer,
&lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;
Canonical Ltd&lt;/a&gt; or if they ever shared a prison cell together.&lt;/p&gt;

&lt;p&gt;On 26 July 2023,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; gave a talk at
&lt;a href=&quot;https://danielpocock.com/en/category/guadec/&quot;&gt;
GUADEC&lt;/a&gt; in
&lt;a href=&quot;https://danielpocock.com/en/category/latvia/&quot;&gt;
Latvia&lt;/a&gt; on the topic
&lt;a href=&quot;https://events.gnome.org/event/101/contributions/486/&quot;&gt;
&lt;em&gt;How GNOME Gets into Ubuntu&lt;/em&gt;&lt;/a&gt;.  Here are some of the slides,
with his sister&#39;s testimony superimposed over them:&lt;/p&gt;

&lt;img alt=&quot;Jeremy Bicha, Jennifer Bicha, GNOME, Ubuntu, Debian, GUADEC, Code of Conduct, abuse, harassment&quot; src=&quot;https://danielpocock.com/assets/people/jeremy-bicha-jbicha/How_GNOME_gets_into_Ubuntu-1.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;Jeremy Bicha, Jennifer Bicha, GNOME, Ubuntu, Debian, GUADEC, Code of Conduct, abuse, harassment&quot; src=&quot;https://danielpocock.com/assets/people/jeremy-bicha-jbicha/How_GNOME_gets_into_Ubuntu-8.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;On 11 September 2023,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; writes an advocacy for
&lt;a href=&quot;https://danielpocock.com/en/people/amin-bandali/&quot;&gt;
Amin Bandali&lt;/a&gt;.  This time he reveals that they are both working at the same
company,
&lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;
Canonical Ltd&lt;/a&gt;, the maker of
&lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;
Ubuntu&lt;/a&gt;.  Some people have serious ethical concerns about
&lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;
Ubuntu&lt;/a&gt; developers and co-workers writing references for each other like
this because they are under pressure to serve the needs of their company
rather than being objective about Debian.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: &lt;a href=&quot;https://danielpocock.com/en/people/amin-bandali/&quot;&gt;Amin Bandali&lt;/a&gt;: Advocate
Date: Mon, 11 Sep 2023 14:15:25 -0000
From: &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha (via nm.debian.org) &amp;lt;nm@debian.org&amp;gt;
Reply-To: debian-newmaint@lists.debian.org,
  &lt;/a&gt;&lt;a href=&quot;https://danielpocock.com/en/people/amin-bandali/&quot;&gt;Amin Bandali &amp;lt;bandali@gnu.org&amp;gt;,
  archive-1211@nm.debian.org,
  &lt;/a&gt;&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@debian.org&amp;gt;
To: debian-newmaint@lists.debian.org
CC: &lt;a href=&quot;https://danielpocock.com/en/people/amin-bandali/&quot;&gt;Amin Bandali&lt;/a&gt; &amp;lt;bandali@gnu.org&amp;gt;,
  archive-1211@nm.debian.org,
  &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; &amp;lt;jbicha@debian.org&amp;gt;

For nm.debian.org, at 2023-09-11:
I support &lt;a href=&quot;https://danielpocock.com/en/people/amin-bandali/&quot;&gt;Amin Bandali&lt;/a&gt; &amp;lt;bandali@gnu.org&amp;gt;&#39;s request to become a Debian
Developer, uploading.

I have personally worked with &lt;a href=&quot;https://danielpocock.com/en/people/amin-bandali/&quot;&gt;Amin Bandali&lt;/a&gt; &amp;lt;bandali@gnu.org&amp;gt;
(key BE6273738E616D6D1B3A08E8A21A020248816103) on the Debian GNOME team
since the end of 2022. He has packaged updates for a variety of &lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;GNOME&lt;/a&gt;
packages. Earlier this year, he officially joined the Debian GNOME team
and has been entrusted with DM upload rights to several packages. He has
used those upload rights well.

&lt;a href=&quot;https://danielpocock.com/en/people/amin-bandali/&quot;&gt;Amin Bandali&lt;/a&gt; also has interest and skill with troubleshooting build
issues on non-amd64 architectures which is why he is not just a DM, but
a &quot;DM with guest account&quot;.

&lt;a href=&quot;https://danielpocock.com/en/people/amin-bandali/&quot;&gt;Amin Bandali&lt;/a&gt; is a coworker with me at &lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;Canonical&lt;/a&gt; since late 2022. His
primary job duties are not .deb packaging for Debian and he was already
maintaining packages in Debian before joining &lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;Canonical&lt;/a&gt;.

I firmly believe that the Debian Project will benefit from granting
Debian Developer, uploading status to &lt;a href=&quot;https://danielpocock.com/en/people/amin-bandali/&quot;&gt;Amin Bandali&lt;/a&gt;. I know &lt;a href=&quot;https://danielpocock.com/en/people/amin-bandali/&quot;&gt;Amin Bandali&lt;/a&gt;
can be trusted to be a full member of Debian, and have unsupervised,
unrestricted upload rights, right now.

&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; (via nm.debian.org)
&lt;/pre&gt;

&lt;p&gt;Oddly enough, those messages were exchanged at the same time as
&lt;a href=&quot;https://danielpocock.com/en/category/debconf23/&quot;&gt;
DebConf23&lt;/a&gt; in
&lt;a href=&quot;https://danielpocock.com/en/category/india/&quot;&gt;
India&lt;/a&gt;.  On 9 September 2023, I sent the coroner for Cambridgeshire a
written warning about the risk for health and safety in
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;, with a reference to the culture and the blackmail behaviour:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: Inquest Christopher Rutter - Information Request
Date: Sat, 9 Sep 2023 18:59:26 +0200
From: Daniel Pocock &amp;lt;daniel@pocock.pro&amp;gt;
To: Coroners &amp;lt;Coroners@cambridgeshire.gov.uk&amp;gt;


Hi [redacted],

I&#39;ve updated the document with some extra email evidence and two more
deaths, both of those being under management from a doctoral candidate
at Cambridge.

Based on my own experience of both &lt;a href=&quot;https://danielpocock.com/en/debian-history-harassment-abuse-culture-evolution/&quot;&gt;Debian&lt;/a&gt; culture, the &lt;a href=&quot;https://danielpocock.com/en/category/catholic-abuse/&quot;&gt;Pell&lt;/a&gt; situation
and the evidence in these emails, &lt;b&gt;I feel that there is an ongoing risk
to the health of people who engage with this culture.&lt;/b&gt;

Please kindly confirm if the coroner can escalate this to the relevant
people or whether you need somebody to present the document in person.

Regards,

Daniel
&lt;/pre&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/abraham-raji/&quot;&gt;
Abraham Raji&lt;/a&gt; died three days later.  It is the first case of somebody dying at
&lt;a href=&quot;https://danielpocock.com/en/category/debconf/&quot;&gt;
DebConf&lt;/a&gt;.  It was anticipated, therefore, it was avoidable.&lt;/p&gt;

&lt;p&gt;During 2023, there was a high profile underage rape and incest prosecution in
&lt;a href=&quot;https://danielpocock.com/en/category/south-australia/&quot;&gt;
South Australia&lt;/a&gt;.  A bakery on the Eyre Peninsula had recruited
fifteen-year-old girls to do some baking, smile at the customers and help
the owner have more children.  The man in charge and his wife were both
convicted.  Three children were born in one seven month period.  The baker&#39;s
father had shared one of the girls.  There are thirteen children and they
need to make DNA tests to verify which man is responsible for each of them.
Newspapers described it as a
&lt;a href=&quot;https://danielpocock.com/en/category/cult-behaviour/&quot;&gt;
cult-like&lt;/a&gt; living arrangement but it is not uncommon for workers to live
with their boss when in a remote location like this.  When you look at the
remoteness of the location and the nature of such jobs where the young girls
are living at their workplace, it has some similarity to the situation where
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; and his little sisters were living a life that was isolated
from other children.&lt;/p&gt;

&lt;p&gt;In May 2024, a news report from
&lt;a href=&quot;https://danielpocock.com/en/category/australia/&quot;&gt;
Australia&lt;/a&gt; tells us that
&lt;a href=&quot;https://danielpocock.com/en/people/tim-lunn-darkxst/&quot;&gt;
Timothy / Tim Lunn, an IT specialist&lt;/a&gt; was called as a witness in
&lt;a href=&quot;https://web.archive.org/web/20240522083401/https://www.smh.com.au/national/victoria/alleged-murderer-changed-colour-of-his-4wd-after-deaths-court-hears-20240522-p5jfle.html&quot;&gt;
the high profile Gregory Lynn murder trial in the Supreme Court of
Victoria&lt;/a&gt;.  Yet if
&lt;a href=&quot;https://danielpocock.com/en/people/tim-lunn-darkxst/&quot;&gt;
Mr Lunn&lt;/a&gt; himself had been associating with a
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; on parole in
&lt;a href=&quot;https://danielpocock.com/en/category/florida/&quot;&gt;Florida&lt;/a&gt;,
is it fair for him to
be trusted in a judicial process as serious as a murder trial?&lt;/p&gt;

&lt;p&gt;Also in May 2024, minutes of the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt; board have been redacted to hide discussions about
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; and the &quot;staffing&quot;, which really means the hush money being
paid to the
&lt;a href=&quot;https://danielpocock.com/en/category/albanian-female-whistleblowers/&quot;&gt;
Albanian female whistleblowers&lt;/a&gt;.
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; was secretly expelled at this point but it is redacted in
the minutes.&lt;/p&gt;

&lt;p&gt;On 21 June 2024, immediately after
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt; expelled and censored
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt;, the web site for the
&lt;a href=&quot;https://danielpocock.com/en/category/open-labs-tirana/&quot;&gt;
Open Labs non-profit with all the girls in Tirana, Albania&lt;/a&gt; is completely
taken offline.  The group uses their
&lt;a href=&quot;https://danielpocock.com/en/category/facebook/&quot;&gt;
Facebook&lt;/a&gt; account to post a message telling us that
&lt;a href=&quot;https://www.facebook.com/story.php/?story_fbid=888580619964015&amp;amp;id=100064362566797&quot;&gt;
they decided to close the organisation without giving us the real reason&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On 18 July 2024, immediately after they shut down the
&lt;a href=&quot;https://danielpocock.com/en/category/open-labs-tirana/&quot;&gt;
Open Labs&lt;/a&gt; web site and discussion forum in
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt;, an anonymous account is created in the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt; forum on
&lt;a href=&quot;https://danielpocock.com/en/category/discourse-forums/&quot;&gt;
Discourse&lt;/a&gt;.  The account is used to post a hideous defamation about
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt;, who they had expelled with a secret trial in May.  Dozens of
discussions and news reports appear about
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; being banned from
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt;.  The girls are insisting that &lt;em&gt;everybody&lt;/em&gt; should know they
decided to humiliate
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny&lt;/a&gt; but &lt;em&gt;nobody&lt;/em&gt; is allowed to ask why the girls are obsessed
with humiliating him.  Whenever messages like this appear, they always hint
at some sort of bad sexual etiquette.  As we saw with every other case,
such as
&lt;a href=&quot;https://danielpocock.com/en/people/ted-walther-krooger/&quot;&gt;
Ted Walther&lt;/a&gt; in 2006 and
&lt;a href=&quot;https://danielpocock.com/en/people/jacob-appelbaum-ioerror/&quot;&gt;
Dr Jacob Appelbaum&lt;/a&gt; in 2016, these rumours are not only false but
they have been deliberately fabricated by some chronically dishonest people
intent on harming male volunteers and our families.&lt;/p&gt;

&lt;p&gt;The defamation message about
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; explicitly mentions &quot;Code of Conduct&quot; but what they
really mean is &quot;Code of Silence&quot;.  They are doing all this to stop
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; talking about payments to one of the
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albanian&lt;/a&gt; girls or something similar to that.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; writes a response on his
&lt;a href=&quot;https://blog.sonny.re/retrospective-as-gnome-director&quot;&gt;
own blog&lt;/a&gt; three days later:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
I am no longer a member of the board of directors of the GNOME Foundation since May 2024. The process and decision shocked me. I know people are looking for answers, but I want to protect people involved and the project/foundation. It was never an interpersonal conflict for me.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;Remember,
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; has been doing voluntary work for twenty years and he
contributed substantial intellectual property.  The Albanian girls who
were secretly added to the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; payroll only work when they receive money
and they only go to events when somebody, usually the male oligarchs,
buy the tickets for them.&lt;/p&gt;

&lt;p&gt;The community had elected
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; to the board.  As a member of the board it is absolutely
certain he saw privileged information about the payments to
&lt;a href=&quot;https://danielpocock.com/en/category/albanian-female-whistleblowers/&quot;&gt;
Albanian female whistleblowers&lt;/a&gt;.  However, he may not have been told
the real reason for those payments.  He may have asked questions about
why the same girls are selected for every diversity grant.  All this
happened in
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt; immediately after the controlling corporations
shut down the
&lt;a href=&quot;https://danielpocock.com/en/category/open-labs-tirana/&quot;&gt;
Open Labs&lt;/a&gt; group in
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt;.  Follow the money / girls.&lt;/p&gt;

&lt;p&gt;Back in the communist era,
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; was run by a totalitarian dictator,
&lt;a href=&quot;https://danielpocock.com/en/people/enver-hoxha/&quot;&gt;
Enver Hoxha&lt;/a&gt;.  Among other things, he had
&lt;a href=&quot;https://en.wikipedia.org/wiki/Cultural_and_Ideological_Revolution&quot;&gt;
banned all western pop music&lt;/a&gt;.
When
&lt;a href=&quot;https://danielpocock.com/en/people/kylie-minogue/&quot;&gt;
Kylie Minogue&lt;/a&gt; from
&lt;a href=&quot;https://danielpocock.com/en/category/australia/&quot;&gt;
Australia&lt;/a&gt; became the
&lt;a href=&quot;https://en.wikipedia.org/wiki/Kylie_Minogue&quot;&gt;
Princess of Pop&lt;/a&gt;, she immediately went to the top of the list of singers
banned in
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt; until communism ended in 1991.&lt;/p&gt;

&lt;p&gt;The
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt; hired two girls from
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt;.  Now we see the policies of
&lt;a href=&quot;https://danielpocock.com/en/people/enver-hoxha/&quot;&gt;
Enver Hoxha&lt;/a&gt; and totalitarianism being reincarnated in a non-profit
voluntary organisation.  History is repeating itself.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; had engaged in real abuse of his little sisters when they
were six and nine years old.  As a voting member of the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt; and a member of the Release Team he has a higher
status than
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt;.  Why can people go to the web site of the
&lt;a href=&quot;https://www.manateeclerk.com/online-searches/&quot;&gt;
Manatee County Court&lt;/a&gt; and read all the details about real abuse of the
little sisters but we are not allowed to know anything about the questions
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; was asking at board meetings?&lt;/p&gt;

&lt;p&gt;Here is an example of the things
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; was convicted for:&lt;/p&gt;

&lt;img alt=&quot;Jeremy Bicha, sexual predator, sexual offender, Debian, Ubuntu, GUADEC, GNOME, DebConf&quot; src=&quot;https://danielpocock.com/assets/people/jeremy-bicha-jbicha/MCCCC-29968127-p11.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Reading comments like that reminded me of the way misfits on
&lt;em&gt;debian-private&lt;/em&gt; (leaked) discussed the words used by
the parents of
&lt;a href=&quot;https://danielpocock.com/en/people/frans-pop-fjp/&quot;&gt;
Frans Pop&lt;/a&gt; after he committed suicide:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: Death of &lt;a href=&quot;https://danielpocock.com/en/people/frans-pop-fjp/&quot;&gt;Frans Pop&lt;/a&gt;
Date: Sat, 21 Aug 2010 13:39:21 +0100
From: &lt;a href=&quot;https://danielpocock.com/en/people/colin-watson-cjwatson/&quot;&gt;Colin Watson&lt;/a&gt; &amp;lt;cjwatson@debian.org&amp;gt;
To: debian-private@lists.debian.org

On Sat, Aug 21, 2010 at 01:52:33PM +0200, &lt;a href=&quot;https://danielpocock.com/en/people/ludovic-brenta-lbrenta/&quot;&gt;Ludovic Brenta&lt;/a&gt; wrote:
&amp;gt; &lt;a href=&quot;https://danielpocock.com/en/people/steve-mcintyre-sledge/&quot;&gt;Steve McIntyre&lt;/a&gt; &amp;lt;steve@einval.com&amp;gt; writes:
&amp;gt; &amp;gt; &quot;Yesterday morning our son &lt;a href=&quot;https://danielpocock.com/en/people/frans-pop-fjp/&quot;&gt;Frans Pop&lt;/a&gt; has died. He took his own life,
&amp;gt; &amp;gt; in a well-considered, courageous, and considerate manner. During the
&amp;gt; &amp;gt; last years his main concern was his work for Debian. I would like to
&amp;gt; &amp;gt; ask you to inform those members of the Debian community who knew him
&amp;gt; &amp;gt; well.&quot;
&amp;gt;
&amp;gt; Does that imply he took his own life *because* of Debian, which was &quot;his
&amp;gt; main concern&quot;?

This is probably the wrong thread for linguistics, but that phrase would
normally just indicate that Debian was his main interest.  In
http://oxforddictionaries.com/view/entry/m_en_gb0169810 under &quot;noun&quot;,
this would be sense 2 rather than sense 1.

--
&lt;a href=&quot;https://danielpocock.com/en/people/colin-watson-cjwatson/&quot;&gt;Colin Watson&lt;/a&gt;                                       [cjwatson@debian.org]
&lt;/pre&gt;

&lt;p&gt;What is so much more sensitive about the
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; drama that
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; will not tell us?  Did he do something that is even worse than
raping a little girl?  Or did he stumble onto an inconvenient truth about
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albanian&lt;/a&gt; girls that must be hidden from the community at all costs?&lt;/p&gt;

&lt;p&gt;My suspicion is that this is more than somebody&#39;s sex life at stake.
It is not unusual for people to hook up with their colleagues in student unions
and open source software conferences.  Some of the women have told me they
were under pressure to lie.  Paying women to create or repeat a lie,
knowing it is a lie, undermines trust in the whole organisation that
paid for those lies.&lt;/p&gt;

&lt;p&gt;Software producers are particularly keen to maintain the trust of the
community.  The moment people stop trusting the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; developers everybody will abandon the project.  How could we
trust these developers if they used the foundation&#39;s funds to make
payments to a woman who spread a lie or defamation?&lt;/p&gt;

&lt;p&gt;After you pay a woman to lie, you can&#39;t sack that woman.  You have to
keep her on the payroll until she&#39;s ready to have children and become
a stay-home mother.&lt;/p&gt;

&lt;p&gt;I suspect that is why
&lt;a href=&quot;https://danielpocock.com/en/people/anisa-kuci/&quot;&gt;
Anisa Kuci&lt;/a&gt; was immediately given a job at
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; after the end of her relationship with
&lt;a href=&quot;https://danielpocock.com/en/category/wikimedia/&quot;&gt;
Wikimedia Italia&lt;/a&gt;.  Somebody didn&#39;t want to see her join some random
employer where random developers will ask her to disclose details about
the conspiracies at
&lt;a href=&quot;https://danielpocock.com/en/category/debconf19/&quot;&gt;
DebConf19&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It is important to reflect on these secrecy tactics.  These tactics
create the type of environment where real abusers can thrive.&lt;/p&gt;

&lt;p&gt;On 2 August 2024,
&lt;a href=&quot;https://danielpocock.com/en/people/andreas-tille/&quot;&gt;
Andreas Tille&lt;/a&gt;, then leader of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;, wrote in his
&lt;a href=&quot;https://bits.debian.org/2024/08/bits-from-the-dpl-August.html&quot;&gt;
Bits from DPL&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
&lt;h3&gt;Nominating Jeremy BÃ­cha for GNOME Advisory Board&lt;/h3&gt;
&lt;p&gt;I&#39;ve nominated Jeremy BÃ­cha to GNOME Advisory Board. Jeremy has volunteered to represent Debian at GUADEC in Denver.&lt;/p&gt;
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt;, like other victims, was censored and humiliated indefinitely
while the
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; is put up on a pedestal to supposedly be the
representative of the rest of us.  I certainly didn&#39;t consent to him speaking
for me.&lt;/p&gt;

&lt;p&gt;Furthermore, how can a
&lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;
Canonical Ltd&lt;/a&gt; employee be representing the interests of both
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt; the
Ubuntu misfits&lt;/a&gt; at the GNOME Advisory Board?  The conflict of interest
is enormous.  It isn&#39;t possible for him to do both at the same time.&lt;/p&gt;

&lt;p&gt;On 17 November 2024, there was a
&lt;a href=&quot;https://toulouse2024.mini.debconf.org/talks/17-closing/&quot;&gt;
MiniDebConf in Toulouse, France&lt;/a&gt;.  In the video, we can see
&lt;a href=&quot;https://danielpocock.com/en/people/pierre-elliott-becue-peb/&quot;&gt;
Pierre-Elliott BÃ©cue&lt;/a&gt; wearing a t-shirt with the expression
&lt;em&gt;Losing my mind, one kid at a time&lt;/em&gt; and a picture of a child
sitting on a man&#39;s shoulders.  Most people will see a normal
parent-child relationship in the picture but about two percent of
men see something else.&lt;/p&gt;

&lt;img alt=&quot;Pierre-Elliott BÃ©cue&quot; src=&quot;https://danielpocock.com/assets/people/pierre-elliott-becue-peb/peb-1.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;On 6 January 2025,
&lt;a href=&quot;https://danielpocock.com/en/people/justin-flory-jwf/&quot;&gt;
Justin W. Flory / Wheeler&lt;/a&gt; registers the domain name
&lt;em&gt;jwheel.org&lt;/em&gt;.  On 11 February 2025, the Wayback Machine captures the
&lt;a href=&quot;https://web.archive.org/web/20250211103455/https://jwf.io/&quot;&gt;
last snapshot of his web site at &lt;em&gt;jwf.io&lt;/em&gt; using the name
Justin W. Flory&lt;/a&gt;.  On 17 February 2025, in the next snapshot captured by the
Wayback Machine, we can see him
&lt;a href=&quot;https://web.archive.org/web/20250217141245/https://jwf.io/&quot;&gt;
using a new name, Justin W. Wheeler&lt;/a&gt;.  It begs the question: why did
he leave the USA and move to eastern Europe?  Why did he have to change
his name after spending time in
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt;?  Why was he moved from a job at
&lt;a href=&quot;https://danielpocock.com/en/category/unicef/&quot;&gt;
UNICEF&lt;/a&gt; to the
&lt;a href=&quot;https://danielpocock.com/en/category/red-hat/&quot;&gt;
IBM Red Hat&lt;/a&gt; payroll around the same time the
&lt;a href=&quot;https://danielpocock.com/en/category/albanian-female-whistleblowers/&quot;&gt;
Albanian female whistleblowers&lt;/a&gt; were put on the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME Foundation&lt;/a&gt; payroll?&lt;/p&gt;

&lt;p&gt;In March 2025, shortly before
&lt;a href=&quot;https://danielpocock.com/en/category/debconf25/&quot;&gt;
DebConf25&lt;/a&gt;, we saw
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; began contributing to the
&lt;a href=&quot;https://danielpocock.com/en/category/debian-edu/&quot;&gt;
Debian-Edu project&lt;/a&gt;.  That is the derivative of Debian created to
meet the needs of the education industry.  Why does he have schools on his mind?
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&#39;s&lt;/a&gt; status as a
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; is intended to prevent him being employed
inside a school.  By collaborating on
&lt;a href=&quot;https://danielpocock.com/en/category/debian-edu/&quot;&gt;
Debian-Edu&lt;/a&gt;, he gains credibility that allows him to interact with
schools as a volunteer.  This looks like privilege escalation.  He was
engaged in this while he was an employee of
&lt;a href=&quot;https://danielpocock.com/en/category/canonical-ltd/&quot;&gt;
Canonical Ltd&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/category/ubuntu-misfits/&quot;&gt;
Ubuntu&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Look at his
&lt;a href=&quot;https://tracker.debian.org/pkg/debian-edu&quot;&gt;
collaborators on debian-edu&lt;/a&gt;.  Some of the people we discussed previously
are also there:
&lt;a href=&quot;https://danielpocock.com/en/people/holger-levsen/&quot;&gt;
Holger Levsen&lt;/a&gt;, one of the protagonists of the
&lt;a href=&quot;https://disguised.work/debian/amaya-rodrigo-sastre-holger-levsen-debconf6-fight&quot;&gt;
DebConf6 violence&lt;/a&gt;.  The founder of
&lt;a href=&quot;https://danielpocock.com/en/category/teckids/&quot;&gt;
Teckids&lt;/a&gt;, who joined
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; at the same time as
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt;, is
&lt;a href=&quot;https://danielpocock.com/en/people/dominik-george-natureshadow/&quot;&gt;
Dominik George&lt;/a&gt;.&lt;/p&gt;

&lt;img alt=&quot;Jeremy Bicha, Holger Levsen, Dominik George, Mike Gabriel, Petter Reinholdtsen, debian-edu, registered sex offender, paedophile, schools, children, judgment, conviction, guilty&quot; src=&quot;https://danielpocock.com/assets/debian/debian-edu/2026-04-29-debian-edu-tracker.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;At
&lt;a href=&quot;https://danielpocock.com/en/category/debconf25/&quot;&gt;
DebConf25&lt;/a&gt; in Brest,
&lt;a href=&quot;https://danielpocock.com/en/category/france/&quot;&gt;
France&lt;/a&gt;, the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt;
talk from
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; was scheduled for 14 July, the French national holiday.  In
&lt;a href=&quot;https://danielpocock.com/en/category/france/&quot;&gt;
France&lt;/a&gt;, the day normally starts with parades by the military and the
emergency services, including the police.  Therefore, people were asked to
choose between applauding the
&lt;a href=&quot;https://danielpocock.com/en/category/police-rumors/&quot;&gt;
police&lt;/a&gt; as they marched through Brest or watching a
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; giving a talk in the university campus.&lt;/p&gt;

&lt;p&gt;To make matters worse, president of
&lt;a href=&quot;https://danielpocock.com/en/category/debian-france/&quot;&gt;
Debian France&lt;/a&gt; is
&lt;a href=&quot;https://danielpocock.com/en/people/pierre-elliott-becue-peb/&quot;&gt;
Pierre-Elliott BÃ©cue&lt;/a&gt;, a former employee of
&lt;a href=&quot;https://danielpocock.com/en/category/anssi/&quot;&gt;
ANSSI&lt;/a&gt;, the
&lt;a href=&quot;https://danielpocock.com/en/category/cybersecurity/&quot;&gt;
cybersecurity&lt;/a&gt; arm of the French military.&lt;/p&gt;

&lt;p&gt;On 14 July each year in Brest, the military parade in Cours Dajot
begins at 11:00&lt;/p&gt;

&lt;img alt=&quot;Cours Dajot, 14 July&quot; src=&quot;https://danielpocock.com/assets/debconf25/cours-dajot-brest-military-parade.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;The talk by
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; is
&lt;a href=&quot;https://debconf25.debconf.org/talks/175-whats-new-in-debian-13-for-gnome/&quot;&gt;
listed in the DebConf25 schedule at 18:00 on the same day&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Did the conference organisers know about this risk in advance?  As we can
see above, incest had been mentioned on &lt;em&gt;debian-private&lt;/em&gt; as early as
2018.&lt;/p&gt;

&lt;p&gt;In the first week of July 2025,
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; made some
&lt;a href=&quot;https://nazi.compare&quot;&gt;
Nazi&lt;/a&gt; comment on the &lt;em&gt;XLibre&lt;/em&gt; project wiki.  On 4 July 2025,
&lt;a href=&quot;https://github.com/X11Libre/xserver/issues/346&quot;&gt;
it was discussed in this Github issue&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;People started investigating all the participants in the argument.
On 7 July 2025,
&lt;a href=&quot;https://kiwifarms.st/threads/open-source-software-community.38130/page-401#post-21926888&quot;&gt;
this forum post mentions the sex crime&lt;/a&gt;.
On 8 July 2025,
&lt;a href=&quot;https://danielpocock.com/en/people/bryan-lunduke/&quot;&gt;
Bryan Lunduke&lt;/a&gt; used his account on
&lt;a href=&quot;https://danielpocock.com/en/category/twitter-x/&quot;&gt;
Twitter/X&lt;/a&gt; to tell us he had
&lt;a href=&quot;https://x.com/LundukeJournal/status/1942350533890609368&quot;&gt;
found the conviction&lt;/a&gt;.  It is not clear if he was the first to find
it.  On 11 July 2025,
&lt;a href=&quot;https://tg.josh.rs/2025-07.html&quot;&gt;
a lengthy post appears on Telegram&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On 14 July 2025,
&lt;a href=&quot;https://www.fandompulse.com/p/jeremy-bicha-a-child-sexual-predator&quot;&gt;
Fandom Pulse&lt;/a&gt; discusses the way people tolerate the
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; but not
&lt;a href=&quot;https://danielpocock.com/en/people/richard-stallman-rms/&quot;&gt;
Dr Richard Stallman&lt;/a&gt;.
&lt;a href=&quot;https://danielpocock.com/en/people/bryan-lunduke/&quot;&gt;
Bryan Lunduke&lt;/a&gt; blogged
&lt;a href=&quot;https://lunduke.substack.com/p/registered-sex-offender-speaking&quot;&gt;
Registered Sex Offender Speaking at Debian Conference This Week&lt;/a&gt;.  He
followed up the next day with
&lt;a href=&quot;https://lunduke.substack.com/p/registered-sex-offender-no-longer&quot;&gt;
Registered Sex Offender No Longer Working at Canonical&lt;/a&gt;.
On 16 July 2025, somebody posted the Fandom Pulse link in
&lt;a href=&quot;https://danielpocock.com/en/category/hacker-news/&quot;&gt;
Hacker News&lt;/a&gt; and somebody else
&lt;a href=&quot;https://news.ycombinator.com/item?id=44580965&quot;&gt;
censored the link&lt;/a&gt; because the
&lt;a href=&quot;https://danielpocock.com/en/category/hacker-news/&quot;&gt;
Hacker News&lt;/a&gt; people are in the same snobby set who prefer the
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; over
&lt;a href=&quot;https://danielpocock.com/en/people/richard-stallman-rms/&quot;&gt;
Dr Richard Stallman&lt;/a&gt;.  Remember, this was a scandal that started with a
comment about who is a Nazi.  On 17 July 2025,
&lt;a href=&quot;https://danielpocock.com/en/category/techrights/&quot;&gt;
Techrights&lt;/a&gt; gave
&lt;a href=&quot;https://techrights.org/n/2025/07/17/The_People_Who_Promoted_systemd_in_Debian_Also_Promote_Wayland.shtml&quot;&gt;
their view on the scandal&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On 9 August 2025, it was mentioned again in
&lt;a href=&quot;https://danielpocock.com/en/category/hacker-news/&quot;&gt;
Hacker News&lt;/a&gt; in
&lt;a href=&quot;https://news.ycombinator.com/item?id=44849132&quot;&gt;
this thread&lt;/a&gt; and somebody from the snobby set removed the link again but the
&lt;a href=&quot;https://news.ycombinator.com/item?id=44849132&quot;&gt;
comments remain&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Talks at the conference were video recorded and
&lt;a href=&quot;https://meetings-archive.debian.net/pub/debian-meetings/2025/DebConf25/&quot;&gt;
published online&lt;/a&gt; but the
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; video is missing from the collection.&lt;/p&gt;

&lt;p&gt;Putting this type of diversity on display at a prominent event feels like
the thin end of the wedge.  Brest is a city known for its strong naval history.
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; had been discharged from the US Navy after they found out.
Like the rogue
&lt;a href=&quot;https://danielpocock.com/en/category/russia/&quot;&gt;
Russian&lt;/a&gt; spy-ships who periodically sail the English channel,
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianists&lt;/a&gt; have decided to test the waters of diversity by putting this
man on display.  They wanted to see how the public reacts.  They want us to
know this is the new normal.  The victims were only six and nine years old.
On the scale of sexual offences, these were some of the worst.  By
putting this out in the open, they make it easier to bring in offenders
who have less serious crimes.&lt;/p&gt;

&lt;p&gt;Back in the 1970s, people like this tried to create organizations
like the
&lt;a href=&quot;https://en.wikipedia.org/wiki/Paedophile_Information_Exchange&quot;&gt;
Paedophile Information Exchange (PIE)&lt;/a&gt; where their cause was published
in broad daylight.  Within a few years these organisations had been
outlawed.  The lesson they have learnt from those prosecutions is the
need to affiliate themselves with more general causes like diversity
and then expand the definition of diversity to include, by stealth, all
kinds of people who are irreconcilably incompatible with the rest of us.&lt;/p&gt;

&lt;p&gt;We already looked at the prosecution of
&lt;a href=&quot;https://danielpocock.com/en/people/matthias-kirschner/&quot;&gt;
Matthias Kirschner&lt;/a&gt; for the
&lt;a href=&quot;https://danielpocock.com/en/evidence-psychological-abuse-stalking-galia-mancheva-susanne-eiswirt-fsfe/&quot;&gt;
psychological abuse&lt;/a&gt; of
&lt;a href=&quot;https://danielpocock.com/en/people/galia-mancheva/&quot;&gt;
Galia Mancheva&lt;/a&gt;.  Sooner or later another oligarch will face one of these
prosecutions.  If it is somebody the cabal wants to protect, they can remind
us how
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; came to
&lt;a href=&quot;https://danielpocock.com/en/category/debconf25/&quot;&gt;
DebConf25&lt;/a&gt; and it didn&#39;t kill anybody.  They will remind us the diversity
statement says &lt;em&gt;anybody is welcome&lt;/em&gt; as long as you display total
submission to their
&lt;a href=&quot;https://danielpocock.com/en/category/code-of-conduct-gaslighting/&quot;&gt;
CoC&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The revelations about
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&#39;s&lt;/a&gt; abuse of his little sisters sparked an uproar.  People wanted
to know why
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Bicha&lt;/a&gt; was sent to prison for three years but
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; had been given a lifetime punishment in the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; Discourse forum.  Ten days after the scheduled talk at
&lt;a href=&quot;https://danielpocock.com/en/category/debconf25/&quot;&gt;
DebConf25&lt;/a&gt;, there was a
&lt;a href=&quot;https://discourse.gnome.org/t/update-from-board-of-directors-on-sonny-piers-status/29863&quot;&gt;
new post in the GNOME Discourse forum about Sonny Piers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This time, instead of using an anonymous account,
&lt;a href=&quot;https://danielpocock.com/en/people/robert-mcqueen-gnome/&quot;&gt;
Robert McQueen&lt;/a&gt; has written the post under his own name.  He tells us the
punishment has been reduced:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
The Board is providing this information to clarify the decisions made in this case, and to eliminate any uncertainty within the GNOME community about the matter.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;In fact, the very long post does not include any example of the questions
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; asked about the
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albanian&lt;/a&gt; women.  Therefore, we all remain totally in the dark.&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
the Board also voted that Sonny will not be eligible for appointment in any position of authority within the Foundation, or to act as an agent on behalf of the organization, or to have paid work with the GNOME Foundation. This means that he will be unable to be a committee member, director, officer, staff member or contractor, or officially represent the GNOME Foundation to other entities. The Board resolution put these restrictions in place on an indefinite basis.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;The board and
&lt;a href=&quot;https://danielpocock.com/en/people/robert-mcqueen-gnome/&quot;&gt;
Robert McQueen&lt;/a&gt; are telling us that
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt; is permitted to return to
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; but he will always have a lower status than the
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt;.  Think about how that feels.&lt;/p&gt;

&lt;p&gt;Turn that statement on its head: why does
&lt;a href=&quot;https://danielpocock.com/en/people/robert-mcqueen-gnome/&quot;&gt;
Robert McQueen&lt;/a&gt; feel &lt;em&gt;more&lt;/em&gt; comfortable with the Ubuntu man who
popped the cherry of a six year old than he does with an
&lt;em&gt;independent&lt;/em&gt; developer who the community voted onto the board?&lt;/p&gt;

&lt;p&gt;On 4 April 2026,
&lt;a href=&quot;https://danielpocock.com/en/people/oscar-langley/&quot;&gt;
Oscar Langley&lt;/a&gt; asked about it in the election discussion for the next leader
of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;.  None of the candidates would reply to questions about child
safety.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: 	DebConf25 decisions affecting Child Safety and talk scheduling
Date: 	Sat, 4 Apr 2026 11:01:37 +0000
From: 	&lt;a href=&quot;https://danielpocock.com/en/people/oscar-langley/&quot;&gt;Oscar Langley&lt;/a&gt; &amp;lt;oscar.langley@hotmail.com&amp;gt;
To: 	debian-vote@lists.debian.org &amp;lt;debian-vote@lists.debian.org&amp;gt;

I understand this topic may be somewhat tangential to the election mailing list, but I reviewed the list of voters in this year&#39;s DPL election and discovered that &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Jeremy Bicha&lt;/a&gt; is a Debian developer who cast a ballot: https://vote.debian.org/~secretary/leader2026/voters.txt

If you search up his name on Google, the very first result is his profile on Florida&#39;s Sexual Offender and Predator System, as he molested multiple preteen girls throughout the 1990&#39;s and confessed to all this in court.
https://offender.fdle.state.fl.us/offender/sops/flyer.jsf?personId=85068
https://wng.org/articles/the-high-cost-of-negligence-1617309216

Being a child molester is most likely a violation of the Debian Code of Conduct, and if it is not, it is reprehensible enough to call into question his continued status as a member of the project.

Additionally, there are two more important questions about &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Bicha&#39;s&lt;/a&gt; relationship with the Debian Project that have yet to be answered. &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Bicha&lt;/a&gt; was due to speak at DebConf25 last year, an event that children were permitted to attend. The livestream also experienced technical issues when his talk was about to start, leaving it unclear whether he actually spoke.

The two questions are:

1. What factors led to the decision to allow children in the presence of &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Bicha&lt;/a&gt;?

2. Was &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Bicha&#39;&lt;/a&gt; talk was canceled, or did it indeed take place but was simply never streamed?

And a third question is begged:

3. Why hasn&#39;t the Debian Project cut ties with &lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;Bicha&lt;/a&gt;?

&lt;/pre&gt;

&lt;p&gt;but one person made a reply praising the extreme definition of diversity:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: 	Wasn&#39;t sure where to send but thank you...
Date: 	Wed, 8 Apr 2026 12:08:58 -0400
From: 	Star Light Catcher &amp;lt;catcherstarlight@gmail.com&amp;gt;
To: 	debian-project@lists.debian.org

I would just like to say, I would sometimes browse the reddits for Linux and in the general Linux reddit I saw someone saying the project was &quot;in trouble&quot; and worried I went to the Debian reddit to look into it... And what I&#39;m very sad to say I found was people being very cruel and closed minded about the fact that the project seems to be valuing inclusion and bringing in new voices and talents to the FOSS community and the Debian project... So, I no longer really read reddit for Linux news but I very much wanted to say how much I&#39;ve adored using Debian these past 8 months since switching to Linux. It&#39;s been rock solid, my best experience on Linux ever (and despite only switching 8 months ago I had tried Linux many times since 2010! Tons of different distros!) Debian has been genuinely an oasis from so much of what is wrong about modern tech, all while being built on what is obviously such a solid foundation I can&#39;t see myself switching back to Distros which genuinely often seemed to nuke themselves with little cause from me, and I&#39;ve done plenty of things to ride my installs of Debian hard and it&#39;s never faltered at all.

And about &lt;b&gt;the people behind the Debian project...&lt;/b&gt; In a time of increasing authoritarianism and such a huge increase to push &lt;b&gt;minorities&lt;/b&gt; even further to the &lt;b&gt;fringes...&lt;/b&gt; Debian embracing diversity during all of this... It warms this trans woman&#39;s heart who has felt such a sense of dread at the way the world is going. So thank y&#39;all genuinely. Linux users are known to distrohop but... I can&#39;t imagine ever needing anything but the Universal Operating System ever again ğŸ«‚ and what brings me such joy is that it feels that it&#39;s not just universal, as in, for all devices, but universal, as in /for everyone/. ğŸ’œ

Thank you for all you do, I plan to up my donation when I can,
Star Elizabeth Wilkerson ğŸ¦„â­�ï¸�
&lt;/pre&gt;

&lt;p&gt;17 to 20 April 2026,
&lt;a href=&quot;https://wiki.archlinux.org/index.php?title=Talk:Xorg&amp;amp;diff=872291&amp;amp;oldid=871704&quot;&gt;
it was discussed and then suppressed in the Arch wiki&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/ben-carroll/&quot;&gt;
Ben Carroll&lt;/a&gt; is the Deputy Premier and Education Minister for the
&lt;a href=&quot;https://danielpocock.com/en/category/victoria/&quot;&gt;
State of Victoria&lt;/a&gt;.  On Mother&#39;s Day in 2024, he posted a picture
of himself with his local priest, who I&#39;ll simply refer to as Father X:&lt;/p&gt;

&lt;img alt=&quot;Ben Carroll, Mother&#39;s Day, Father X&quot; src=&quot;https://danielpocock.com/assets/people/ben-carroll/2024-05-11-mothers-day.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In 1994, the Archdiocese of Melbourne had to exfiltrate another priest,
&lt;a href=&quot;https://danielpocock.com/en/people/barry-robinson-catholic/&quot;&gt;
Fr Barry Robinson&lt;/a&gt;, from
&lt;a href=&quot;https://danielpocock.com/en/category/boston/&quot;&gt;
Boston&lt;/a&gt;.  Father X was tasked with the mission.  In particular, the scope of
his mission was far bigger than the exfiltration.  Father X was also asked to
look at the crisis in
&lt;a href=&quot;https://danielpocock.com/en/category/boston/&quot;&gt;
Boston&lt;/a&gt; and report back to his superiors in
&lt;a href=&quot;https://danielpocock.com/en/category/australia/&quot;&gt;
Australia&lt;/a&gt;.  This was eight years before the &lt;em&gt;Spotlight&lt;/em&gt; news
reports raised public awareness of the scandal.  The priest who gives
communion to
&lt;a href=&quot;https://danielpocock.com/en/category/victoria/&quot;&gt;
Victoria&#39;s&lt;/a&gt; Education minister had himself learnt about the extent of
the global crisis and expressed concern about warehousing paedophiles:&lt;/p&gt;

&lt;img alt=&quot;Fr Barry Robinson&quot; src=&quot;https://danielpocock.com/assets/people/barry-robinson-catholic/1995-05-18-letter-robinson-head.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;Fr Barry Robinson&quot; src=&quot;https://danielpocock.com/assets/people/barry-robinson-catholic/1995-05-18-letter-robinson-warehoused.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;These letters resonate with our observations of
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; in the world of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;.  The same people attacked every volunteer who ever asked
&lt;a href=&quot;https://danielpocock.com/en/debian-history-harassment-abuse-culture-evolution/&quot;&gt;
serious ethical questions&lt;/a&gt;, they attacked my family when my father
died but they welcome a
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offender&lt;/a&gt; with open arms.&lt;/p&gt;

&lt;p&gt;After returning from
&lt;a href=&quot;https://danielpocock.com/en/category/boston/&quot;&gt;
Boston&lt;/a&gt;,
&lt;a href=&quot;https://danielpocock.com/en/people/barry-robinson-catholic/&quot;&gt;
Fr Barry Robinson&lt;/a&gt; had lived in the same house as Father X while
the US authorities continued their investigation.
&lt;a href=&quot;https://danielpocock.com/en/people/barry-robinson-catholic/&quot;&gt;
Fr Barry Robinson&lt;/a&gt; had admitted abuse but they decided not to
prosecute him at all.  The church decided to ignore his admission and
put him back into practice:&lt;/p&gt;

&lt;img alt=&quot;Fr Barry Robinson&quot; src=&quot;https://danielpocock.com/assets/people/barry-robinson-catholic/2005-05-18-fr-robinson-cleared.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In 2024, another lawsuit cast attention on
&lt;a href=&quot;https://web.archive.org/web/20240624014554/https://www.theage.com.au/national/victoria/judge-lashes-troubling-conduct-by-xavier-as-school-faces-abuse-claim-20240624-p5jo4x.html&quot;&gt;
the use of scholarships for the two children of a victim&lt;/a&gt;.  People gain
status in society through attending these elite high schools.  There is a risk
that this perpetuates the culture of silence.  It is analogous to the
manner in which some open source software organisations are giving people
internships, big titles and speaking opportunities so they will stay
silent about abuse in
&lt;a href=&quot;https://danielpocock.com/en/category/albania/&quot;&gt;
Albania&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is the redacted deed that mentions scholarships:&lt;/p&gt;

&lt;img alt=&quot;Michael Head, Noel Bradford&quot; src=&quot;https://danielpocock.com/assets/xavier/xc-deed.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;On the
&lt;a href=&quot;https://danielpocock.com/en/category/gnome/&quot;&gt;
GNOME&lt;/a&gt; web site, we can see that one of the
&lt;a href=&quot;https://danielpocock.com/en/category/albanian-female-whistleblowers/&quot;&gt;
Albanian female whistleblowers&lt;/a&gt; has asked to
&lt;a href=&quot;https://danielpocock.com/en/sexism-gnome-shaming-men-hiding-women/&quot;&gt;
hide her name&lt;/a&gt;.  Is this because of
&lt;a href=&quot;https://danielpocock.com/en/people/sonny-piers-gnome/&quot;&gt;
Sonny Piers&lt;/a&gt;, because of
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bicha&lt;/a&gt; or because of
&lt;a href=&quot;https://danielpocock.com/en/people/elio-qoshi/&quot;&gt;
Elio Qoshi&lt;/a&gt;?&lt;/p&gt;

&lt;img alt=&quot;Anisa Kuci, GNOME Foundation, Anonymous, Administrative assistant&quot; src=&quot;https://danielpocock.com/assets/people/anisa-kuci/anisa-kuci-anonymous-gnome.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In February 2025, &lt;em&gt;The Monthly&lt;/em&gt; published and then almost immediately
took down an article by
&lt;a href=&quot;https://danielpocock.com/assets/people/louise-milligan/&quot;&gt;
Louise Milligan&lt;/a&gt; titled &lt;em&gt;The True Legacy of the Rapist George Pell&lt;/em&gt;.
The late Cardinal Pell had been successful in his appeal and the conviction
had been overturned by the High Court.  Therefore, calling him a rapist is
a very strong defamation.  Nonetheless, copies of the article are easily found
online.&lt;/p&gt;

&lt;p&gt;The Debian Diversity statement tells us the definition of diversity
is very large.  A lot like to National Council of Civil Liberties in
the 1970s, the Diversity Statement say &lt;em&gt;anyone&lt;/em&gt; is welcome
(up to the day when you ask an ethical question).  At
&lt;a href=&quot;https://danielpocock.com/en/category/debconf25/&quot;&gt;
DebConf25&lt;/a&gt;, they demonstrated the definition of &lt;em&gt;anyone&lt;/em&gt; includes
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
registered sex offenders&lt;/a&gt;.  He is not the only one and he won&#39;t be
the last one.&lt;/p&gt; 

&lt;p&gt;Please 
&lt;a href=&quot;https://danielpocock.com/en/donate/&quot;&gt;
watch my crowdfunding video to learn more about the lawsuit in
US federal court&lt;/a&gt;.&lt;/p&gt;</content>
	<author>
	  <name>Daniel Pocock</name>
	   <uri>https://danielpocock.com/</uri> 
	</author>
	<source>
	  <title type="html">Daniel Pocockâ€™s personal blog | Debian</title>
	  <subtitle type="html">{&quot;de&quot;=&amp;gt;&quot;Softwareentwickler, Free Software-Berater, Debian-Entwickler&quot;, &quot;en&quot;=&amp;gt;&quot;Software engineer, Free, Open Source Software Consultant, Innovator, Fedora &amp;amp; Debian Developer&quot;, &quot;es&quot;=&amp;gt;&quot;Ingeniera de software, Consultor de software libre, Desarrollador Debian&quot;, &quot;fr&quot;=&amp;gt;&quot;Ingénieur logiciel, developeur du logiciel libré, Developeur du Debian&quot;, &quot;it&quot;=&amp;gt;&quot;Ingegnere informatico, Consulente di software libero, Sviluppatore Debian&quot;}</subtitle>
	  <link rel="self" href="https://danielpocock.com/feed/debian.xml"/>
	  <id>https://danielpocock.com/feed/debian.xml</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Patience could&#39;ve saved me time.</title>
	<link href="https://abhijithpa.in/2026/patience-time-saver/"/>
	<id>https://abhijithpa.in/2026/patience-time-saver/</id>
	<updated>2026-04-28T06:33:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;If I had been patient, it would have saved me time. One such instance
is following.&lt;/p&gt;

&lt;p&gt;From my early blogs, you might know I am using mutt to do email. Just
after I get along with mutt, I started using notmuch. Because limit
search in mutt is always a pain when you have multiple folders. And
what better tool out there than notmuch-mutt to bind both these.&lt;/p&gt;

&lt;p&gt;notmuch-mutt provide three macros by default.&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;macro index &amp;lt;F8&amp;gt; \
&quot;&amp;lt;enter-command&amp;gt;set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key&amp;lt;enter&amp;gt;\
&amp;lt;shell-escape&amp;gt;notmuch-mutt -r --prompt search&amp;lt;enter&amp;gt;\
&amp;lt;change-folder-readonly&amp;gt;`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`&amp;lt;enter&amp;gt;\
&amp;lt;enter-command&amp;gt;set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key&amp;lt;enter&amp;gt;&quot; \
      &quot;notmuch: search mail&quot;
macro index &amp;lt;F9&amp;gt; \
&quot;&amp;lt;enter-command&amp;gt;set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key&amp;lt;enter&amp;gt;\
&amp;lt;pipe-message&amp;gt;notmuch-mutt -r thread&amp;lt;enter&amp;gt;\
&amp;lt;change-folder-readonly&amp;gt;`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`&amp;lt;enter&amp;gt;\
&amp;lt;enter-command&amp;gt;set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key&amp;lt;enter&amp;gt;&quot; \
      &quot;notmuch: reconstruct thread&quot;
macro index &amp;lt;F6&amp;gt; \
&quot;&amp;lt;enter-command&amp;gt;set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key&amp;lt;enter&amp;gt;\
&amp;lt;pipe-message&amp;gt;notmuch-mutt tag -- -inbox&amp;lt;enter&amp;gt;\
&amp;lt;enter-command&amp;gt;set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key&amp;lt;enter&amp;gt;&quot; \
      &quot;notmuch: remove message from inbox&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;One for search, one for reconstructing threads and one for
manipulating tags, which I missed.&lt;/p&gt;

&lt;p&gt;Now my impatient part. I have already mapped f6 for my folder
movements and in my initial days of notmuch, I only use just search.
So I never cared about the f6 macro provided by notmuch-mutt. As time
goes by I got very comfortable with notmuch. I was stretching my
notmuch legs. I started to live more on notmuch search results
&lt;code class=&quot;highlighter-rouge&quot;&gt;date:today tag:unread&lt;/code&gt; than more on the mutt index. To the problem,
since notmuch-mutt dump all results to a temp maildir location, can’t
perform flag changes back to the original maildir which was annoying,
because we need to distinguish what mail you read and what not when
you subscribed to most of all debian mailing list.&lt;/p&gt;

&lt;p&gt;I was under the impression that, the notmuch-mutt is not capable of
doing so and I just went like that without checking docs. I started
doing all crazy hack to sync these maildirs.&lt;/p&gt;

&lt;p&gt;I even started reading notmuch-mutt codebase.&lt;/p&gt;

&lt;p&gt;Later, I settled on notmuch-vim. Cause I can manipulate flags sync 
back from notmuch to maildir.&lt;/p&gt;

&lt;p&gt;And while searching for something, I accidentally revisited the the
the notmuch-mutt macro page and saw the tag manipulation. I was like
:( .&lt;/p&gt;

&lt;p&gt;If I read about the third macro patiently when added that to config,
I could’ve saved time by not doing ugly hacks around it.&lt;/p&gt;

&lt;p&gt;I think I learned my lesson.&lt;/p&gt;</content>
	<author>
	  <name>Abhijith PA</name>
	   <uri>https://abhijithpa.in/</uri> 
	</author>
	<source>
	  <title type="html">Abhijith PA | അഭിജിത്ത് പി എ</title>
	  <subtitle type="html">Hello, I&#39;m Abhijith. A Free Software enthusiast.</subtitle>
	  <link rel="self" href="https://abhijithpa.in/feed.xml"/>
	  <id>https://abhijithpa.in/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">Heads we win, tails you lose — AI detectors in education</title>
	<link href="https://gwolf.org/2026/04/heads-we-win-tails-you-lose-ai-detectors-in-education.html"/>
	<id>https://gwolf.org/2026/04/heads-we-win-tails-you-lose-ai-detectors-in-education.html</id>
	<updated>2026-04-27T18:10:48+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en">&lt;blockquote&gt;
		 
		   This post is an &lt;em&gt;unpublished&lt;/em&gt; review
		 
		     
		       
		         for &lt;em&gt;&lt;a href=&quot;https://doi.org/10.1080/1360080X.2026.2622146&quot;&gt;Heads we win, tails you lose — AI detectors in education&lt;/a&gt;&lt;/em&gt;
		       
		     
		     
		   &lt;/blockquote&gt;
		 
		 &lt;p&gt;Educators throughout the world are tasked with the difficult requirement of
evaluating students’ works, making sure the grades meaningfully reflect the
students’ understanding of the subject, and that a graded assignment maps
to the relevant work invested in solving it. After the irruption of
Large-Language Models in late 2023, this task became obviously much harder:
if a widely available computer program is able to solve an assignment in a
way that resembles a human-generated response, how can educators
meaningfully grade their groups?&lt;/p&gt;

&lt;p&gt;As it has been the case with different innovations over time (such as with
the appearance of electronic calculators or the mass availability of
digital encyclopedias), the first reactions were of prohibition and denial:
students who use the new tool in question are to be disqualified or somehow
punished. It is only some time after the innovation in question settles
that teachers find a way to properly weigh, integrate and accept its use.&lt;/p&gt;

&lt;p&gt;The authors of this position article present several arguments as to why it
is impossible, unethical and unadvisable to use automated AI detection
systems to process student assignments. The first argument is whether it is
at all possible to reliably differentiate human-written essays from
LLM-generated artifacts. The first criticism is that AI detectors are,
themselves, LLMs trained on human-generated texts (negative) and
LLM-generated texts (positive). However, the only way to assert the
training material is not noisy is to use pre-2020 text as human-generated —
but natural ways of writing are influenced by what people read, and the
authors quote studies pointing out that human language, particularly in the
scholarly fields, has incorporated terms and constructions that were used
as LLM markers. Quoting the authors, «As exposure to AI-generated material
becomes increasingly widespread, it is reasonable to expect that the
linguistic patterns of human writing will shift, reflecting the influence
of AI-assisted texts encountered across education, media, and everyday
communication». Stylistic elements and other such markers are being adopted
back into regular speech at a high rate.&lt;/p&gt;

&lt;p&gt;Then, the aspect of ethics comes into play as well. While it is expected
that teachers should demand intellectual integrity from students, and
plagiarism detectors have been widely accepted into the workflow of
academics, the accusation of presenting LLM output as own work is
necessarily an uphill battle: the accused party is tasked with providing
proof of innocence based on nebulous, probabilistic accusations. The
authors argue, once an accusation of turning in a LLM-generated text is
made on a student, the onus on proving innocence lies with the accused.&lt;/p&gt;

&lt;p&gt;The authors review and argue against a series of techniques that have been
presented in literature to aid teachers in detecting LLM abuse, such as
linguistic markers, single or multiple AI detectors, the use of false
references, hidden adversarial prompts, arguing in all cases the techniques
fail to be trustable enough and highlighting the probability of both false
positives and negatives. They also present AI detection as a false
dichotomy: many works presented are not 100% human generated nor 100%
LLM-generated, but some pertinent LLM-generated paragraphs are presented
mixed with human-generated content, in a positive, critical AI use
(“Students’ work is frequently created with, not by, generative AI”).&lt;/p&gt;

&lt;p&gt;The article closes by reiterating the authors’ position: “AI detection in
education is not merely flawed; it is conceptually unsound”. they call upon
institutions to accept the use of generative LLMs cannot be “solved through
surveillance and punishment”, but has to be tackled by an “assessment
design that recognizes AI’s role in learning”.&lt;/p&gt;

&lt;p&gt;This article’s position is very strong and well argued, and although it
will surely meet with ample opposition, it surely poses an important, very
current problematic. As a teacher, I found it a very enlightening read.&lt;/p&gt;</content>
	<author>
	  <name>Gunnar Wolf</name>
	   <uri>https://gwolf.org</uri> 
	</author>
	<source>
	  <title type="html">Gunnar Wolf - Nice grey life</title>
	  <subtitle type="html">Gunnar Wolf - Nice grey life</subtitle>
	  <link rel="self" href="https://gwolf.org/rss.xml"/>
	  <id>https://gwolf.org</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">KVM Support inside LXC Containers [updated]</title>
	<link href="https://sunweavers.net/blog/node/154"/>
	<id>154 at https://sunweavers.net/blog</id>
	<updated>2026-04-27T09:44:28+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;Yesterday, I had to add support for running KVM virtual machines inside an LXC container. More as a reminder to myself, in case I ever have to do this again, here the simple recipe:&lt;/p&gt;

&lt;h3&gt;LXC Container Config Adjustment&lt;/h3&gt;

&lt;p&gt;Enable lxc.autodev and execute hook script to be executed after initial /dev creation (updated 20260428: &lt;code&gt;lxc.cgroup2.*&lt;/code&gt; instead of &lt;code&gt;lxc.cgroup.*&lt;/code&gt;):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[...]

# Auto-create /dev nodes and add native KVM support to the LXC container
lxc.autodev = 1
lxc.hook.autodev = /var/lib/lxc/.hooks/lxc-hook.kvm-support
lxc.cgroup2.devices.allow = c 10:232 rwm
lxc.cgroup2.devices.allow = c 10:238 rwm
lxc.cgroup2.devices.allow = c 10:241 rwm

[...]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;[added 20260408] On the internet, you can find a recipe that simply bind-mounts /dev/kvm from the host in to the LXC container. However, this fails if group ID of POSIX group kvm differs between host and container.&lt;/p&gt;

&lt;h3&gt;LXC Hook Script for KVM Support Enablement&lt;/h3&gt;

&lt;p&gt;The following script I placed at /var/lib/lxc/.hooks/lxc-hook.kvm-support (on the LXC host!):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#!/bin/sh

# set up native KVM support in LXC container
mknod -m 0660 ${LXC_ROOTFS_MOUNT}/dev/kvm c 10 232
chown :kvm ${LXC_ROOTFS_MOUNT}/dev/kvm
mknod -m 0660 ${LXC_ROOTFS_MOUNT}/dev/vhost-net c 10 238
chown :kvm ${LXC_ROOTFS_MOUNT}/dev/vhost-net
mknod -m 0660 ${LXC_ROOTFS_MOUNT}/dev/vhost-vsock c 10 241
chown :kvm ${LXC_ROOTFS_MOUNT}/dev/vhost-vsock
&lt;/code&gt;&lt;/pre&gt;</content>
	<author>
	  <name>sunweaver</name>
	   <uri>https://sunweavers.net/blog/blog/1</uri> 
	</author>
	<source>
	  <title type="html">sunweaver&#39;s blog</title>
	  
	  <link rel="self" href="https://sunweavers.net/blog/blog/1/feed"/>
	  <id>https://sunweavers.net/blog/blog/1</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-us">Review: What We Are Seeking</title>
	<link href="https://www.eyrie.org/~eagle/reviews/books/1-250-36474-4.html"/>
	<id>https://www.eyrie.org/~eagle/reviews/books/1-250-36474-4.html</id>
	<updated>2026-04-27T02:04:00+00:00</updated>
	<summary type="html" xml:lang="en-us"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;Review: &lt;cite&gt;What We Are Seeking&lt;/cite&gt;, by Cameron Reed&lt;/p&gt;

&lt;table&gt;
  &lt;tbody&gt;&lt;tr&gt;
    &lt;td&gt;Publisher:&lt;/td&gt;
    &lt;td&gt;Tor&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Copyright:&lt;/td&gt;
    &lt;td&gt;2026&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;ISBN:&lt;/td&gt;
    &lt;td&gt;1-250-36474-4&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Format:&lt;/td&gt;
    &lt;td&gt;Kindle&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Pages:&lt;/td&gt;
    &lt;td&gt;339&lt;/td&gt;
  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;
&lt;cite&gt;What We Are Seeking&lt;/cite&gt; is a bit hard to classify beyond science
fiction. I think I would call it anthropological science fiction, but it&#39;s
also a first contact story and a planetary colony story. It is a
standalone novel (well, so far as I know; see later in the review for
caveats). This is Cameron Reed&#39;s second novel after the excellent and
memorable cyberpunk novel &lt;a href=&quot;https://www.eyrie.org/~eagle/reviews/books/0-312-86327-6.html&quot;&gt;&lt;cite&gt;The Fortunate
Fall&lt;/cite&gt;&lt;/a&gt;, first published in 1996 under Reed&#39;s former name of Raphael
Carter.
&lt;/p&gt;

&lt;p&gt;
John Maraintha is a doctor from the world of Essius. He took what he
thought was a temporary job on the Free Ship &lt;cite&gt;Edgar&#39;s Folly&lt;/cite&gt;, where
he&#39;s endured considerable culture shock. As the novel opens, John learns
that the colonists on Scythia have requested a translator to talk to one
of the native life forms, and a doctor since they&#39;re down to only one.
John will be that doctor. The captain has decided, and by the rules of the
free ships, John does not get a choice in the matter.
&lt;/p&gt;

&lt;p&gt;
The Scythian colony is about four hundred people, now located in a desert
climate since the complex native life forms destroyed their previous
settlement. The colonists are a split between Ischnurans and Zandaheans,
two other human civilizations from the scatter of colony worlds left after
Earth embraced AIs (aiyis here) and turned inward. Both of those groups
marry, something John considers a moral abomination. Neither of them seem
likely to understand Essian sexual ethics. More devastatingly, John had
intended to spend some time as a ship doctor and then return home to a new
place in Essian society. Once he lands on Scythia, the chances of that are
gone; it is highly unlikely any ship would pick him up again and take him
home.
&lt;/p&gt;

&lt;p&gt;
I have been trying to find the right books to compare &lt;cite&gt;What We Are
Seeking&lt;/cite&gt; with ever since I read it. The best I&#39;ve come up with are Ursula
K. Le Guin (particularly &lt;a href=&quot;https://www.eyrie.org/~eagle/reviews/books/0-06-105488-7.html&quot;&gt;&lt;cite&gt;The
Dispossessed&lt;/cite&gt;&lt;/a&gt;), Eleanor Arnason&#39;s &lt;a href=&quot;https://www.eyrie.org/~eagle/reviews/books/0-380-75637-4.html&quot;&gt;&lt;cite&gt;A Woman
of the Iron People&lt;/cite&gt;&lt;/a&gt;, and Becky Chambers&#39;s &lt;a href=&quot;https://www.eyrie.org/~eagle/reviews/books/0-06-293602-6.html&quot;&gt;&lt;cite&gt;To Be Taught, If Fortunate&lt;/cite&gt;&lt;/a&gt;. The start of the book felt like an
intentional revisiting of an earlier era of science fiction, with somewhat
updated science and politics, but the last half of the book, where the
action picks up considerably, is a meditation on gender, social systems,
religion, and small-group politics. All of that is mixed with biological
exploration and a first-contact story with some quite-alien aliens.
&lt;/p&gt;

&lt;p&gt;
This is the sort of novel where the protagonist&#39;s culture is as foreign to
the reader as any of the other cultures he counters, so the reader is
assembling several jigsaw puzzles at once. John is dropped into an
established colony with its own social norms and established hierarchies.
The one other outsider, the translator Sudharma Jain, is, as his name
implies, a Jain who keeps very strict religious observances. Half of the
colony is from something akin to a fundamentalist Christian religious sect
that practices patriarchy and strict marriage codes. The other half is
more gently sexist (but still sexist) and has its own tradition of a third
gender that becomes central to the story. John, meanwhile, is a strong
believer in the Essian approach to social organization: Any two partners
of any gender freely have sex by mutual consent and without obligation,
and family is based solely on blood relations. These beliefs do not fit
comfortably together, even when people are trying (as they mostly do) to
be welcoming.
&lt;/p&gt;

&lt;p&gt;
The first half of this book is very slow. This gives all of the characters
space to breathe and become comfortable, and the characterization is
superb, but it is a book to start when you&#39;re in the mood for something
slow and observational. There is a plot that gradually becomes apparent,
or rather there are several plots that are intertwined, but tension and
urgency are mostly reserved for the second half of the book. Instead, the
book opens with a lot of close observation of alien flora and fauna and
the untangling of subtle social dynamics among the Scythians.
&lt;/p&gt;

&lt;p&gt;
There is also a visitor from earth, much to the distress of the Scythians.
Earth presence means the ships will not return and the colony may be cut
off from any sort of technological resupply. Despite speaking a common
language, that visitor is as mutually alien to the other groups as they
are to the native flora. Her life is fully integrated with aiyis, giving
her essentially godlike powers and the ability to turn off inconvenient
emotions and disregard anything she doesn&#39;t want to see. What she and the
Earth aiyis are doing on the planet is one of the early mysteries.
&lt;/p&gt;

&lt;p&gt;
The dialogue in this book is truly excellent. Each characters has their
own voice, there are fascinating digressions on different words that lead
to tidbits of world-building, and some of the culture-specific idioms are
delightful.
&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;
    &quot;I&#39;m making a mess of this. None of that matters. Let me fall out the
    window and come in the door again. This is how my story ought to
    start:&quot;
&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;
The challenges for the characters in this story are slow but deep ones:
belonging and self-definition, the conflict between cultural tradition and
personal circumstance, and the sacrifices required to live with small
groups in situations where civil war is viscerally attractive. It has one
of the most comprehensive and fascinating treatments of transgender issues
that I&#39;ve read in science fiction. Its commentary on current politics is
subtle and estranged in the way that science fiction does best, but still
pointed and satisfying. And, well, there are passages like this that I
absolutely adore:
&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;
    &quot;I wouldn&#39;t go that far. It could be they are right, the universe we
    see exists because a mind like ours created it — at least, a mind
    enough like ours that we can say it wants one thing and not another,
    and when it acts it does so with intent. That&#39;s as good an idea as
    any. But it is certainly not plausible that such a being believes that
    people everywhere should marry, or that men should never visit men, or
    no one should become a jess. Look at what they have created. The
    universe could have been nothing at all, or one atom of hydrogen
    floating in a void, or a diamond crystal infinite in all directions,
    if their mind cared for simplicity or tidiness. Instead we have stars
    and planets and black holes and nebulas. It could have all been cold
    and dead, but there is life. They could have made one species for each
    world, or just a few, which could have stayed the same forever, but
    instead we have millions and millions, all of which are changing every
    moment, varying among themselves and boiling off in all directions.
    Such a god is like an artist who fills up a library of sketchbooks
    with their drawings of strange creatures, and when every scrap of
    paper in the place is used up, goes back with a different color ink
    and scribbles over them again. They are obsessed with variation — they
    gorge themselves with it and never grow full. Do you really think a
    mind like that could want us all to live in the same way?&quot;
&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;
I had one problem with this book, though, and for me it was a big one:
There is no ending. Reed effectively builds tension, gets me caring about
all of the characters, sets up several problems, starts down a path
towards resolution, and then the book just... ends.
&lt;/p&gt;

&lt;p&gt;
Long-time readers of my reviews will know that I&#39;m a denouement fanatic. I
want the scouring of the shire, I want the chapter set in the happily ever
after, I want the catharsis of an ending. This made me so grumpy!
&lt;/p&gt;

&lt;p&gt;
To be clear, this is not sequel bait (at least so far as I can tell). I
can write a philosophical defense of the ending. The types of problems and
lives that Reed set up don&#39;t have clear endings; this is, to some extent,
the point. We muddle through, and then those who come after us muddle
through some more, and the cumulative effect is called human civilization.
And there is some denouement; Reed doesn&#39;t leave the reader at a
cliffhanger or anything that egregious.
&lt;/p&gt;

&lt;p&gt;
But still, I wanted the happy ending, even though that was unrealistic for
the style of story this is, because I&#39;m a happy ending reader. This is not
an ending sort of book; it&#39;s the sort of book where I get a sinking
feeling at the 95% mark because there aren&#39;t enough pages left for the
number of remaining unresolved problems. I&#39;ve gotten less annoyed in the
days since I finished the book, and I can appreciate the thematic point
made by how the book ends, but I still feel like it&#39;s worth an advance
warning if you&#39;re a reader like I am.
&lt;/p&gt;

&lt;p&gt;
I would be delighted by a sequel, but it didn&#39;t feel like that was the
intent.
&lt;/p&gt;

&lt;p&gt;
Apart from that, this was both excellent and rather unlike a lot of
current science fiction. I think the closest comparison I can make among
recent novels I&#39;ve read is Sue Burke&#39;s &lt;a href=&quot;https://www.eyrie.org/~eagle/reviews/books/0-7653-9137-6.html&quot;&gt;&lt;cite&gt;Semiosis&lt;/cite&gt;&lt;/a&gt;. &lt;cite&gt;What We Are Seeking&lt;/cite&gt; has a similar sort of
world-building, but I liked these characters so much more. It felt like a
classic literary science fiction novel, but very much written in 2026.
Highly recommended, just beware of the lack of closure.
&lt;/p&gt;

&lt;p&gt;
Content notes: Sexism, homophobia, stomach illness, and some religious
abuse.
&lt;/p&gt;

&lt;p&gt;Rating: 8 out of 10&lt;/p&gt;</content>
	<author>
	  <name>Russ Allbery</name>
	   <uri>https://www.eyrie.org/~eagle/</uri> 
	</author>
	<source>
	  <title type="html">Eagle&#39;s Path</title>
	  <subtitle type="html">&quot;Passion and dispassion.  Choose two.&quot; -- Larry Wall</subtitle>
	  <link rel="self" href="https://www.eyrie.org/~eagle/journal/index.rss"/>
	  <id>https://www.eyrie.org/~eagle/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">RProtoBuf 0.4.27 on CRAN: Upstream Adjustment</title>
	<link href="http://dirk.eddelbuettel.com/blog/2026/04/26#rprotobuf_0.4.27"/>
	<id>http://dirk.eddelbuettel.com/blog/2026/04/26#rprotobuf_0.4.27</id>
	<updated>2026-04-26T18:07:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;A new maintenance release 0.4.27 of &lt;a href=&quot;https://dirk.eddelbuettel.com/code/rprotobuf.html&quot;&gt;RProtoBuf&lt;/a&gt;
arrived on &lt;a href=&quot;https://cran.r-project.org&quot;&gt;CRAN&lt;/a&gt; today. &lt;a href=&quot;https://dirk.eddelbuettel.com/code/rprotobuf.html&quot;&gt;RProtoBuf&lt;/a&gt;
provides &lt;a href=&quot;https://www.r-project.org&quot;&gt;R&lt;/a&gt; with bindings for the
&lt;a href=&quot;https://github.com/google/protobuf&quot;&gt;Google Protocol Buffers
(“ProtoBuf”)&lt;/a&gt; data encoding and serialization library used and
released by Google, and deployed very widely in numerous projects as a
language and operating-system agnostic protocol. The new release is also
already as a binary via &lt;a href=&quot;https://eddelbuettel.github.io/r2u&quot;&gt;r2u&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This release adjusts to a change upstream. &lt;a href=&quot;https://github.com/lbilli&quot;&gt;Luca Billi&lt;/a&gt; noticed that upstream
removed some fields from &lt;code&gt;FieldDescriptor&lt;/code&gt;, filed and issue
and followed up with a spotless PR. No other changes.&lt;/p&gt;
&lt;p&gt;The following section from the NEWS.Rd file has all details and
links.&lt;/p&gt;
&lt;blockquote&gt;
&lt;h4 id=&quot;changes-in-rprotobuf-version-0.4.27-2026-04-26&quot;&gt;Changes in
RProtoBuf version 0.4.27 (2026-04-26)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Adjust to &lt;code&gt;FieldDescriptor&lt;/code&gt; API changes in ProtoBuf 3.4
(Luca Billi in &lt;a href=&quot;https://github.com/eddelbuettel/rprotobuf/pull/114&quot;&gt;#114&lt;/a&gt;
fixing &lt;a href=&quot;https://github.com/eddelbuettel/rprotobuf/issues/113&quot;&gt;#113&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Thanks to my &lt;a href=&quot;https://dirk.eddelbuettel.com/cranberries/&quot;&gt;CRANberries&lt;/a&gt;, there
is a diff to the &lt;a href=&quot;https://dirk.eddelbuettel.com/cranberries/2026/04/26#RProtoBuf_0.4.27&quot;&gt;previous
release&lt;/a&gt;. The &lt;a href=&quot;https://dirk.eddelbuettel.com/code/rprotobuf.html&quot;&gt;RProtoBuf&lt;/a&gt;
page has copies of the &lt;a href=&quot;https://dirk.eddelbuettel.com/code/rprotobuf/RProtoBuf-intro.pdf&quot;&gt;(older)
package vignette&lt;/a&gt;, the &lt;a href=&quot;https://dirk.eddelbuettel.com/code/rprotobuf/RProtoBuf-quickref.pdf&quot;&gt;‘quick’
overview vignette&lt;/a&gt;, and the &lt;a href=&quot;https://cloud.r-project.org/web/packages/RProtoBuf/vignettes/RProtoBuf-paper.pdf&quot;&gt;pre-print
of our JSS paper&lt;/a&gt;. Questions, comments etc should go to the &lt;a href=&quot;https://github.com/eddelbuettel/rprotobuf/issues&quot;&gt;GitHub issue
tracker&lt;/a&gt; off the &lt;a href=&quot;https://github.com/eddelbuettel/rprotobuf&quot;&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;font-size: 80%; font-style: italic;&quot;&gt;
This post by &lt;a href=&quot;https://dirk.eddelbuettel.com&quot;&gt;Dirk
Eddelbuettel&lt;/a&gt; originated on his &lt;a href=&quot;https://dirk.eddelbuettel.com/blog/&quot;&gt;Thinking inside the box&lt;/a&gt;
blog. If you like this or other open-source work I do, you can &lt;a href=&quot;https://github.com/sponsors/eddelbuettel&quot;&gt;sponsor me at
GitHub&lt;/a&gt;. You can also sponsor my &lt;a href=&quot;https://dirk.eddelbuettel.com/blog/2026/04/03#sponsor_tour_de_shore_202&quot;&gt;Tour
de Shore 2026 ride in support of the Maywood Fine Arts Center&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</content>
	<author>
	  <name>Dirk Eddelbuettel</name>
	   <uri>http://dirk.eddelbuettel.com/blog</uri> 
	</author>
	<source>
	  <title type="html">Thinking inside the box</title>
	  <subtitle type="html">Thinking inside the box</subtitle>
	  <link rel="self" href="http://dirk.eddelbuettel.com/blog/index.rss"/>
	  <id>http://dirk.eddelbuettel.com/blog</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Predicted: Cole Thomas Allen, gay or transgender boyfriend rumours</title>
	<link href="https://danielpocock.com/en/predicted-cole-thomas-allen-gay-transgender-boyfriend-rumours/"/>
	<id>https://danielpocock.com/en/predicted-cole-thomas-allen-gay-transgender-boyfriend-rumours</id>
	<updated>2026-04-26T12:00:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;What appears to be an attempt to assassinate the US President
&lt;a href=&quot;https://danielpocock.com/en/people/donald-trump/&quot;&gt;
Donald Trump&lt;/a&gt; has dominated the news today.  There are numerous people on
&lt;a href=&quot;https://danielpocock.com/en/category/social-control-media/&quot;&gt;
social control media&lt;/a&gt; suggesting the suspect,
&lt;a href=&quot;https://danielpocock.com/en/people/cole-thomas-allen/&quot;&gt;
Cole Thomas Allen&lt;/a&gt;, may be gay or transgender, like the
&lt;a href=&quot;https://danielpocock.com/en/category/zizian/&quot;&gt;
Zizian&lt;/a&gt; problems.  Some people make comments
about a handwritten note left for his transgender partner.&lt;/p&gt;

&lt;p&gt;In fact, these comments appear to be identical to the description of
&lt;a href=&quot;https://danielpocock.com/en/people/tyler-robinson/&quot;&gt;
Tyler Robinson&lt;/a&gt;, the man who assassinated
&lt;a href=&quot;https://danielpocock.com/en/people/charlie-kirk/&quot;&gt;
Charlie Kirk&lt;/a&gt;.  They are not necessarily fake news.  We simply don&#39;t have
enough information to say if the rumours are fake or if they are true.&lt;/p&gt;

&lt;p&gt;Nonetheless, this phenomena was anticipated in the
&lt;a href=&quot;https://danielpocock.com/en/category/lawsuit-google-debian-2025/&quot;&gt;
US federal lawsuit 1:25-CV-03883-UA submitted in the Southern District of
New York on 6 May 2025&lt;/a&gt;.  Here is a copy of paragraph 496:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;496.
The plaintiff and other victims feel great apprehension, based on what happened to &lt;a href=&quot;https://danielpocock.com/en/people/jacob-appelbaum-ioerror/&quot;&gt;Dr
Appelbaum&#39;s&lt;/a&gt; home, based on the drawings of civil disorder, based on the way the &lt;a href=&quot;https://danielpocock.com/en/category/zizian/&quot;&gt;Zizian&lt;/a&gt; group
behaved, that if these vigilantee tendencies are not constrained then they will again manifest
themselves in physical acts of vandalism or violence.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;Please
&lt;a href=&quot;https://danielpocock.com/en/donate/&quot;&gt;
watch my video about the law suit&lt;/a&gt;.&lt;/p&gt;</content>
	<author>
	  <name>Daniel Pocock</name>
	   <uri>https://danielpocock.com/</uri> 
	</author>
	<source>
	  <title type="html">Daniel Pocockâ€™s personal blog | Debian</title>
	  <subtitle type="html">{&quot;de&quot;=&amp;gt;&quot;Softwareentwickler, Free Software-Berater, Debian-Entwickler&quot;, &quot;en&quot;=&amp;gt;&quot;Software engineer, Free, Open Source Software Consultant, Innovator, Fedora &amp;amp; Debian Developer&quot;, &quot;es&quot;=&amp;gt;&quot;Ingeniera de software, Consultor de software libre, Desarrollador Debian&quot;, &quot;fr&quot;=&amp;gt;&quot;Ingénieur logiciel, developeur du logiciel libré, Developeur du Debian&quot;, &quot;it&quot;=&amp;gt;&quot;Ingegnere informatico, Consulente di software libero, Sviluppatore Debian&quot;}</subtitle>
	  <link rel="self" href="https://danielpocock.com/feed/debian.xml"/>
	  <id>https://danielpocock.com/feed/debian.xml</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-us">Review: The Genocidal Healer</title>
	<link href="https://www.eyrie.org/~eagle/reviews/books/0-7653-0663-8b.html"/>
	<id>https://www.eyrie.org/~eagle/reviews/books/0-7653-0663-8b.html</id>
	<updated>2026-04-25T04:44:00+00:00</updated>
	<summary type="html" xml:lang="en-us"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;Review: &lt;cite&gt;The Genocidal Healer&lt;/cite&gt;, by James White&lt;/p&gt;

&lt;table&gt;
  &lt;tbody&gt;&lt;tr&gt;
    &lt;td&gt;Series:&lt;/td&gt;
    &lt;td&gt;Sector General #8&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Publisher:&lt;/td&gt;
    &lt;td&gt;Orb&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Copyright:&lt;/td&gt;
    &lt;td&gt;1991&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Printing:&lt;/td&gt;
    &lt;td&gt;May 2003&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;ISBN:&lt;/td&gt;
    &lt;td&gt;0-7653-0663-8&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Format:&lt;/td&gt;
    &lt;td&gt;Trade paperback&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Pages:&lt;/td&gt;
    &lt;td&gt;255&lt;/td&gt;
  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;
&lt;cite&gt;The Genocidal Healer&lt;/cite&gt; is the eighth book in James White&#39;s medical
science fiction series about the Sector General hospital. As with the rest
of the series, detailed memory of the previous books is not required and
the books could be read out of order if you didn&#39;t mind spoilers.
&lt;/p&gt;

&lt;p&gt;
I read this as part of the Orb &lt;cite&gt;General Practice&lt;/cite&gt; omnibus.
&lt;/p&gt;

&lt;p&gt;
Surgeon-Captain Lioren is a Tarlan doctor who was in charge of the medical
response to a newly-discovered civilization. The aliens were suffering
from an apparently universal plague and an ongoing vicious war waged
entirely through hand-to-hand combat, putting them on the edge of
extinction. Lioren rushed the distribution of a possible cure against the
advice of the doctors working on developing it, with catastrophic results.
As &lt;cite&gt;The Genocidal Healer&lt;/cite&gt; opens, Lioren is insisting on a
court-martial in the hope of receiving the sentence it believes it
deserves and was denied: death.
&lt;/p&gt;

&lt;p&gt;
(It pronouns are the convention in the Sector General series for all alien
races and formal discussions, because even someone prone to bouts of
gender essentialism such as White understood the need for avoiding gender
assumptions in a science fiction medical context.)
&lt;/p&gt;

&lt;p&gt;
Predictably, both Sector General and the Monitor Corps that technically
runs the hospital are flatly unwilling to execute Lioren. Instead, he is
assigned as a new apprentice in the psychology department under the
legendary O&#39;Mara, where he is ordered to investigate the psychological
fitness of a senior doctor named Seldal. This leads him to talk to
Seldal&#39;s patients, which in turn leads to a challenging set of ethical
dilemmas.
&lt;/p&gt;

&lt;p&gt;
The first five chapters (and more than sixty pages) are the story of
Lioren&#39;s trial and a recounting of the events on Cromsag. The series is
full of medical and cultural puzzles like this, and usually I like them,
but I thought this one was less successful. We know the vague (and
horrible) outline of the ending in advance, and the massive simplification
and artificial universality that is required to make this puzzle work is
particularly blatant. A universally infectious disease is more of a
fiction plot than a believable biological concept, and the number of
failures of communication, analysis, and misunderstanding that have to
line up to create White&#39;s predetermined outcome were a bit much for me.
&lt;/p&gt;

&lt;p&gt;
Once the story gets past that and into Lioren&#39;s psychological work, the
novel improves. Lioren is guilt-ridden and irrational, but also rather
arrogant about his guilt and his concepts of professional responsibility
in a way that I think mostly worked. Most of the novel consists of Lioren
slowly discovering that people like him and enjoy talking to him, much to
his bafflement. In that, it has the gentle kindness and sense of universal
basic decency that is characteristic of this series. There are, of course,
medical puzzles to solve, although this time they are primarily
psychological in nature. Various characters from previous books make an
appearance, but White re-explains their background in sufficient detail
that you don&#39;t need to remember (or have read) those previous books.
&lt;/p&gt;

&lt;p&gt;
There are a lot of similarities between this book and the previous one,
&lt;a href=&quot;https://www.eyrie.org/~eagle/reviews/books/0-7653-0663-8a.html&quot;&gt;&lt;cite&gt;Code Blueâ€”Emergency&lt;/cite&gt;&lt;/a&gt;. Both feature
nonhuman viewpoint protagonists and amusing descriptions of human facial
expressions from an alien perspective. Both feature protagonists with
overly rigid ethical structures that partly clash with the generally human
policies of Sector General. &lt;cite&gt;The Genocidal Healer&lt;/cite&gt; is a bit more
subtle and nuanced, although a lot of Lioren&#39;s psychological evaluation
rests on an ethical difference that I found somewhat unbelievable. This
book, though, tackles a subject the previous book did not: religion. The
treatment isn&#39;t horrible, but I have some complaints.
&lt;/p&gt;

&lt;p&gt;
My primary issue is that Lioren, who starts as an atheist, does extensive
research into religion to help a patient and then starts making statements
summarizing the religions beliefs of the majority of known species that
are just... Christianity. As someone raised Christian, I recognized it
immediately as the sort of abstracted Christianity that Christians claim
is universal while completely ignoring the opinions of the adherents of
any other religion.
&lt;/p&gt;

&lt;p&gt;
Key components of this majority galactic religious pattern, according to
Lioren, include an omnipotent and omnibenevolent creator god, a religious
figure who preaches forgiveness and mercy and is persecuted, and emphasis
on redemption. This simply is not some abstract universal religion. This
is just Christianity in disguise. Even in religions that have some of
those elements in their traditions, they do not get the same emphasis and
are not handled the way that Lioren describes them. I therefore found
Lioren&#39;s extended discussions of religion rather annoying, since he kept
claiming as relatively universal principles beliefs that are not even held
by the majority of religious adherents on Earth, let alone a wildly
varying collection of alien races with entirely different biology and
societal constructions. It caused a lot of problems for my suspension of
disbelief, on top of the annoyance at this repetition of, frankly,
Christian propaganda.
&lt;/p&gt;

&lt;p&gt;
Lioren goes, from that research, into theodicy (the problem of evil). The
interesting part of this is White&#39;s earnest portrayal of a doctor&#39;s
approach to societal problems: a desire to find workarounds and patches
and fixes for anything that makes people unhappy, whether medical or
social. It makes sense, given the horrible biologic hands that some of the
aliens in this series have been dealt, that they would question the idea
of a benevolent god, so this philosophical digression is justified in that
sense. But you might guess that a mid-list science fiction author is not
going to say something new about one of the oldest problems in
Christianity, and indeed he does not. Lioren arrives at the standard
handwaving about the unknowability of divine intent, which I found tedious
to read but at least not fatal to the plot.
&lt;/p&gt;

&lt;p&gt;
White, thankfully, doesn&#39;t take the religious material too far. The
characters recognize how sensitive of an issue religion is in a hospital,
Lioren never adopts religion fully, and the resolution of the plot is as
much biological as philosophical. White is going somewhere with the
introduction of religion, and although some of the path there annoyed me,
I think the destination worked. White was from Northern Ireland, and
therefore well aware of the drawbacks of religion, and he abhorred
violence (hence Sector General as a setting), so the reader is in better
hands with him than with most authors who might attempt this plot.
&lt;/p&gt;

&lt;p&gt;
I think I know a bit too much about religion to be the best audience for
this entry in the series, and I&#39;m not sure the introductory five chapters
quite worked. But as with all of the other books in the series, this kept
me turning the pages and I&#39;m glad I read it. &lt;cite&gt;The Genocidal Healer&lt;/cite&gt;
probably isn&#39;t worth seeking out unless you&#39;re reading the whole series,
but if you&#39;re enjoying the rest of the series, you&#39;ll probably like this
too.
&lt;/p&gt;

&lt;p&gt;
Followed by &lt;cite&gt;The Galactic Gourmet&lt;/cite&gt;.
&lt;/p&gt;

&lt;p&gt;Rating: 6 out of 10&lt;/p&gt;</content>
	<author>
	  <name>Russ Allbery</name>
	   <uri>https://www.eyrie.org/~eagle/</uri> 
	</author>
	<source>
	  <title type="html">Eagle&#39;s Path</title>
	  <subtitle type="html">&quot;Passion and dispassion.  Choose two.&quot; -- Larry Wall</subtitle>
	  <link rel="self" href="https://www.eyrie.org/~eagle/journal/index.rss"/>
	  <id>https://www.eyrie.org/~eagle/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">dtts 0.1.4 on CRAN: Maintenance</title>
	<link href="http://dirk.eddelbuettel.com/blog/2026/04/23#dtts_0.1.4"/>
	<id>http://dirk.eddelbuettel.com/blog/2026/04/23#dtts_0.1.4</id>
	<updated>2026-04-23T18:58:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;&lt;a href=&quot;https://github.com/lsilvest&quot;&gt;Leonardo&lt;/a&gt; and I are happy to
announce another maintenance release 0.1.4 of our &lt;a href=&quot;https://dirk.eddelbuettel.com/code/dtts.html&quot;&gt;dtts&lt;/a&gt; package
which has been on &lt;a href=&quot;https://cran.r-project.org&quot;&gt;CRAN&lt;/a&gt; for four
years now. &lt;a href=&quot;https://dirk.eddelbuettel.com/code/dtts.html&quot;&gt;dtts&lt;/a&gt; builds upon
our &lt;a href=&quot;https://dirk.eddelbuettel.com/code/nanotime.html&quot;&gt;nanotime&lt;/a&gt;
package as well as the beloved &lt;a href=&quot;http://r-datatable.com/&quot;&gt;data.table&lt;/a&gt; to bring
&lt;em&gt;high-performance&lt;/em&gt; and &lt;em&gt;high-resolution&lt;/em&gt; indexing at the
nanosecond level to data frames. &lt;a href=&quot;https://dirk.eddelbuettel.com/code/dtts.html&quot;&gt;dtts&lt;/a&gt; aims to
offers the time-series indexing versatility of &lt;a href=&quot;https://cran.r-project.org/package=xts&quot;&gt;xts&lt;/a&gt; (and &lt;a href=&quot;https://cran.r-project.org/package=zoo&quot;&gt;zoo&lt;/a&gt;) to the immense
power of &lt;a href=&quot;http://r-datatable.com/&quot;&gt;data.table&lt;/a&gt; while
supporting highest nanosecond resolution.&lt;/p&gt;
&lt;p&gt;This release, not unlike &lt;a href=&quot;https://dirk.eddelbuettel.com/blog/2026/04/22#nanotime_0.3.14&quot;&gt;yesterdayâ€™s
release of nanotime&lt;/a&gt;, is driven by recent changes in the &lt;a href=&quot;https://cran.r-project.org/package=bit64&quot;&gt;bit64&lt;/a&gt; package which
underlies it. &lt;a href=&quot;https://github.com/MichaelChirico&quot;&gt;Michael&lt;/a&gt;,
who now maintains it, had sent in two PRs to prepare for these changes.
I updated continuous integration, and switched to Authors@R, and that
pretty much is the release. The short list of changes follows.&lt;/p&gt;
&lt;blockquote&gt;
&lt;h4 id=&quot;changes-in-version-0.1.4-2026-04-23&quot;&gt;Changes in version 0.1.4
(2026-04-23)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Continuous integration has received some routine updates&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adapt &lt;code&gt;align()&lt;/code&gt; column names with changes in
&#39;data.table&#39; (Michael Chirico in &lt;a href=&quot;https://github.com/eddelbuettel/dtts/pull/20&quot;&gt;#20&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Narrow imports to functions used for packages &#39;bit64&#39;,
&#39;data.table&#39; and &#39;nanotime&#39; (Michael Chirico in &lt;a href=&quot;https://github.com/eddelbuettel/dtts/pull/21&quot;&gt;#21&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Courtesy of my &lt;a href=&quot;https://dirk.eddelbuettel.com/cranberries/&quot;&gt;CRANberries&lt;/a&gt;, there
is also a [diffstat repor]tbs&lt;a href=&quot;https://dirk.eddelbuettel.com/cranberries/2026/04/23#dtts_0.1.4&quot;&gt;diffstat&lt;/a&gt;
for this release. Questions, comments, issue tickets can be brought to
the &lt;a href=&quot;https://github.com/eddelbuettel/dtts&quot;&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;font-size: 80%; font-style: italic;&quot;&gt;
This post by &lt;a href=&quot;https://dirk.eddelbuettel.com&quot;&gt;Dirk
Eddelbuettel&lt;/a&gt; originated on his &lt;a href=&quot;https://dirk.eddelbuettel.com/blog/&quot;&gt;Thinking inside the box&lt;/a&gt;
blog. If you like this or other open-source work I do, you can now &lt;a href=&quot;https://github.com/sponsors/eddelbuettel&quot;&gt;sponsor me at
GitHub&lt;/a&gt;. You can also sponsor my &lt;a href=&quot;https://dirk.eddelbuettel.com/blog/2026/04/03#sponsor_tour_de_shore_202&quot;&gt;Tour
de Shore 2026 ride in support of the Maywood Fine Arts Center&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</content>
	<author>
	  <name>Dirk Eddelbuettel</name>
	   <uri>http://dirk.eddelbuettel.com/blog</uri> 
	</author>
	<source>
	  <title type="html">Thinking inside the box</title>
	  <subtitle type="html">Thinking inside the box</subtitle>
	  <link rel="self" href="http://dirk.eddelbuettel.com/blog/index.rss"/>
	  <id>http://dirk.eddelbuettel.com/blog</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">nanotime 0.3.14 on CRAN: Upstream Maintenance</title>
	<link href="http://dirk.eddelbuettel.com/blog/2026/04/22#nanotime_0.3.14"/>
	<id>http://dirk.eddelbuettel.com/blog/2026/04/22#nanotime_0.3.14</id>
	<updated>2026-04-22T20:34:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;Another minor update 0.3.14 for our &lt;a href=&quot;https://dirk.eddelbuettel.com/code/nanotime.html&quot;&gt;nanotime&lt;/a&gt;
package is now on &lt;a href=&quot;https://cran.r-project.org&quot;&gt;CRAN&lt;/a&gt;, and has
compiled for &lt;a href=&quot;https://eddelbuettel.github.io/r2u&quot;&gt;r2u&lt;/a&gt; (and
will have to wait to be uploaded to &lt;a href=&quot;https://www.debian.org&quot;&gt;Debian&lt;/a&gt; until dependency &lt;a href=&quot;https://cran.r-project.org/package=bit64&quot;&gt;bit64&lt;/a&gt; has been
updated there). &lt;a href=&quot;https://dirk.eddelbuettel.com/code/nanotime.html&quot;&gt;nanotime&lt;/a&gt;
relies on the &lt;a href=&quot;https://dirk.eddelbuettel.com/code/rcpp.cctz.html&quot;&gt;RcppCCTZ&lt;/a&gt;
package (as well as the &lt;a href=&quot;https://dirk.eddelbuettel.com/code/rcpp.date.html&quot;&gt;RcppDate&lt;/a&gt;
package for additional C++ operations) and offers efficient high(er)
resolution time parsing and formatting up to nanosecond resolution,
using the &lt;a href=&quot;https://cran.r-project.org/package=bit64&quot;&gt;bit64&lt;/a&gt;
package for the actual &lt;code&gt;integer64&lt;/code&gt; arithmetic. Initially
implemented using the S3 system, it has benefitted greatly from a
rigorous refactoring by &lt;a href=&quot;https://github.com/lsilvest&quot;&gt;Leonardo&lt;/a&gt; who not only rejigged
&lt;code&gt;nanotime&lt;/code&gt; internals in S4 but also added new S4 types for
&lt;em&gt;periods&lt;/em&gt;, &lt;em&gt;intervals&lt;/em&gt; and &lt;em&gt;durations&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;This release has been driven almost entirely by &lt;a href=&quot;https://github.com/MichaelChirico&quot;&gt;Michael&lt;/a&gt;, who took over as
&lt;a href=&quot;https://cran.r-project.org/package=bit64&quot;&gt;bit64&lt;/a&gt; maintainer
and has been making changes there that have an effect on us
‘downstream’. He reached out with a number of PRs which (following
occassional refinement and smoothing) have all been integrated. There
are no user-facing changes, or behavioural changes or enhancements, in
this release.&lt;/p&gt;
&lt;p&gt;The NEWS snippet below has the fuller details.&lt;/p&gt;
&lt;blockquote&gt;
&lt;h4 id=&quot;changes-in-version-0.3.14-2026-04-22&quot;&gt;Changes in version 0.3.14
(2026-04-22)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Tests were refactored to use &lt;code&gt;NA_integer64_&lt;/code&gt; (Michael
Chirico in &lt;a href=&quot;https://github.com/eddelbuettel/nanotime/pull/149&quot;&gt;#149&lt;/a&gt; and
Dirk in &lt;a href=&quot;https://github.com/eddelbuettel/nanotime/pull/156&quot;&gt;#156&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;nanoduration&lt;/code&gt; was updated for changes in &lt;span class=&quot;pkg&quot;&gt;nanotime&lt;/span&gt; 4.8.0 (Michael Chirico in &lt;a href=&quot;https://github.com/eddelbuettel/nanotime/pull/152&quot;&gt;#152&lt;/a&gt; fixing
&lt;a href=&quot;https://github.com/eddelbuettel/nanotime/issues/151&quot;&gt;#151&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use of &lt;code&gt;as.integer64(keep.names=TRUE)&lt;/code&gt; has been
refactored (Michael Chirico in &lt;a href=&quot;https://github.com/eddelbuettel/nanotime/pull/154&quot;&gt;#154&lt;/a&gt; fixing
&lt;a href=&quot;https://github.com/eddelbuettel/nanotime/issues/153&quot;&gt;#153&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In tests, &lt;span class=&quot;pkg&quot;&gt;nanotime&lt;/span&gt; is attached after
&lt;span class=&quot;pkg&quot;&gt;bit64&lt;/span&gt;; this still needs a better fix (Michael
Chirico in &lt;a href=&quot;https://github.com/eddelbuettel/nanotime/pull/155&quot;&gt;#155&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The package now has a hard dependency on the just released &lt;span class=&quot;pkg&quot;&gt;bit64&lt;/span&gt; version 4.8.0 (or later)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Thanks to my &lt;a href=&quot;https://dirk.eddelbuettel.com/cranberries/&quot;&gt;CRANberries&lt;/a&gt;, there
is a diffstat report for &lt;a href=&quot;https://dirk.eddelbuettel.com/cranberries/2026/04/22#nanotime_0.3.14&quot;&gt;this
release&lt;/a&gt;. More details and examples are at the &lt;a href=&quot;https://dirk.eddelbuettel.com/code/nanotime.html&quot;&gt;nanotime
page&lt;/a&gt;; code, issue tickets etc at the &lt;a href=&quot;https://github.com/eddelbuettel/nanotime&quot;&gt;GitHub repository&lt;/a&gt; –
and all documentation is provided at the &lt;a href=&quot;https://eddelbuettel.github.io/nanotime/&quot;&gt;nanotime documentation
site&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;font-size: 80%; font-style: italic;&quot;&gt;
This post by &lt;a href=&quot;https://dirk.eddelbuettel.com&quot;&gt;Dirk
Eddelbuettel&lt;/a&gt; originated on his &lt;a href=&quot;https://dirk.eddelbuettel.com/blog/&quot;&gt;Thinking inside the box&lt;/a&gt;
blog. If you like this or other open-source work I do, you can now &lt;a href=&quot;https://github.com/sponsors/eddelbuettel&quot;&gt;sponsor me at
GitHub&lt;/a&gt;. You can also sponsor my &lt;a href=&quot;https://dirk.eddelbuettel.com/blog/2026/04/03#sponsor_tour_de_shore_202&quot;&gt;Tour
de Shore 2026 ride in support of the Maywood Fine Arts Center&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</content>
	<author>
	  <name>Dirk Eddelbuettel</name>
	   <uri>http://dirk.eddelbuettel.com/blog</uri> 
	</author>
	<source>
	  <title type="html">Thinking inside the box</title>
	  <subtitle type="html">Thinking inside the box</subtitle>
	  <link rel="self" href="http://dirk.eddelbuettel.com/blog/index.rss"/>
	  <id>http://dirk.eddelbuettel.com/blog</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">CSS &amp;amp; vertical rhythm for text, images, and tables</title>
	<link href="https://vincent.bernat.ch/en/blog/2026-css-vertical-rhythm"/>
	<id>http://www.luffy.cx/en/blog/2026-css-vertical-rhythm.html</id>
	<updated>2026-04-22T19:48:10+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;Vertical rhythm aligns lines to a consistent spacing cadence down the page. It
creates a predictable flow for the eye to follow. Thanks to the &lt;code&gt;rlh&lt;/code&gt; CSS unit,
vertical rhythm is now easier to implement for text.&lt;sup id=&quot;fnref-pawel&quot;&gt;&lt;a class=&quot;footnote-ref&quot; href=&quot;https://vincent.bernat.ch#fn-pawel&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; But illustrations
and tables can disrupt the layout. The amateur typographer in me wants to follow
Bringhurstâ€™s wisdom:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Headings, subheads, block quotations, footnotes, illustrations, captions and
other intrusions into the text create syncopations and variations against the
base rhythm of regularly leaded lines. These variations can and should add
life to the page, but the main text should also return after each variation
precisely on beat and in phase.&lt;/p&gt;
&lt;p&gt;â€• &lt;em&gt;Robert Bringhurst&lt;/em&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style&quot; title=&quot;The Elements of Typographic Style on Wikipedia&quot;&gt;The Elements of Typographic Style&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;toc&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vincent.bernat.ch#text&quot;&gt;Text&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vincent.bernat.ch#responsive-images&quot;&gt;Responsive images&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vincent.bernat.ch#tables&quot;&gt;Tables&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h1 id=&quot;text&quot;&gt;Text&lt;/h1&gt;
&lt;p&gt;Three factors govern vertical rhythm: &lt;strong&gt;font size&lt;/strong&gt;, &lt;strong&gt;line height&lt;/strong&gt; and
&lt;strong&gt;margin or padding&lt;/strong&gt;. Letâ€™s set our baseline with an 18-pixel font and a 1.5
line height:&lt;/p&gt;
&lt;div class=&quot;language-css codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;112.5&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;line-height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;h1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;h2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;h3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;h4&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;h1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;h2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;h3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;h4&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;blockquote&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;dl&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;dt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;dd&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;ol&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;ul&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;li&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;a href=&quot;https://www.w3.org/TR/css-values-4/&quot; title=&quot;CSS Values and Units Module Level 4, W3C Working Draft&quot;&gt;CSS Values and Units Module Levelâ€¯4&lt;/a&gt; defines the &lt;code&gt;rlh&lt;/code&gt; unit, equal to the
computed line height of the root element. All browsers support it &lt;a href=&quot;https://webstatus.dev/features/rlh&quot; title=&quot;rlh unit on Web Platform Status&quot;&gt;since
2023&lt;/a&gt;.&lt;sup id=&quot;fnref-postcss&quot;&gt;&lt;a class=&quot;footnote-ref&quot; href=&quot;https://vincent.bernat.ch#fn-postcss&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; Use it to insert vertical spaces or to fix the line height
when altering font size:&lt;sup id=&quot;fnref-calc&quot;&gt;&lt;a class=&quot;footnote-ref&quot; href=&quot;https://vincent.bernat.ch#fn-calc&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div class=&quot;language-css codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;h1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;h2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;h3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;h4&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;margin-top&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;margin-bottom&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;h1&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;2.4&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;rem&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;line-height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;h2&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.5&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;rem&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;line-height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;h3&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.2&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;rem&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;line-height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;blockquote&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;pre&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;margin-top&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;aside&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.875&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;rem&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;line-height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;We can check the result by overlaying a grid&lt;sup id=&quot;fnref-grid&quot;&gt;&lt;a class=&quot;footnote-ref&quot; href=&quot;https://vincent.bernat.ch#fn-grid&quot;&gt;4&lt;/a&gt;&lt;/sup&gt; on the content:&lt;/p&gt;
&lt;figure&gt;&lt;div class=&quot;lf-media-outer&quot;&gt;&lt;span class=&quot;lf-media-inner&quot;&gt;&lt;img alt=&quot;Screenshot of my website with a grid as an overlay and each line of text fitting on the grid&quot; class=&quot;lf-media lf-opaque&quot; height=&quot;713&quot; src=&quot;https://d2pzklc15kok91.cloudfront.net/images/vertical-rhythm/text@1x.17b2e8512acd85.png&quot; width=&quot;680&quot; /&gt;&lt;/span&gt;&lt;/div&gt;&lt;figcaption&gt;Using CSS &lt;code&gt;rlh&lt;/code&gt; unit to set vertical space works well for text. You can display the grid using &lt;kbd&gt;Ctrl&lt;/kbd&gt;+&lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;G&lt;/kbd&gt;.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;If a child element uses a font with taller intrinsic metrics, it may stretch
the lineâ€™s box beyond the configured line height.&lt;sup id=&quot;fnref-line-height&quot;&gt;&lt;a class=&quot;footnote-ref&quot; href=&quot;https://vincent.bernat.ch#fn-line-height&quot;&gt;5&lt;/a&gt;&lt;/sup&gt; A workaround
is to reduce the line height to 1. The glyphs overflow but donâ€™t push the line
taller.&lt;/p&gt;
&lt;div class=&quot;language-css codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;code&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;kbd&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;line-height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;h1 id=&quot;responsive-images&quot;&gt;Responsive images&lt;/h1&gt;
&lt;p&gt;Responsive images are difficult to align on the grid because we donâ€™t know their
height. &lt;a href=&quot;https://www.w3.org/TR/css-rhythm-1/&quot; title=&quot;CSS Rhythmic Sizing Module Level 1&quot;&gt;CSS Rhythmic Sizing Module Levelâ€¯1&lt;/a&gt; introduces the &lt;code&gt;block-step&lt;/code&gt;
property to adjust the height of an element to a multiple of a step unit. But
most browsers donâ€™t support it yet.&lt;/p&gt;
&lt;p&gt;With JavaScript, we can add padding around the image so it does not disturb
the vertical rhythm:&lt;/p&gt;
&lt;div class=&quot;language-javascript codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;targets&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;querySelectorAll&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;.lf-media-outer&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;adjust&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;el&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;parseFloat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;getComputedStyle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;documentElement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;lineHeight&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;Math&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ceil&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;el&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;px 0`&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;};&lt;/span&gt;

&lt;span class=&quot;nx&quot;&gt;targets&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;forEach&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;el&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;adjust&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;el&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;el&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;clientHeight&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;figure&gt;&lt;div class=&quot;lf-media-outer&quot;&gt;&lt;span class=&quot;lf-media-inner&quot;&gt;&lt;img alt=&quot;Screenshot of my website with a grid as an overlay and an image not breaking the vertical rhythm. Additional padding is visible before and after the image. The height of the image with padding is 216.&quot; class=&quot;lf-media lf-opaque&quot; height=&quot;713&quot; src=&quot;https://d2pzklc15kok91.cloudfront.net/images/vertical-rhythm/images@1x.08d84fe73e020f.png&quot; width=&quot;680&quot; /&gt;&lt;/span&gt;&lt;/div&gt;&lt;figcaption&gt;The image is snapped to the grid thanks to the additional padding computed with JavaScript. 216 is divisible by 27, our line height in this example.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;As the image is responsive, its height can change. We need to wrap a resize
observer around the &lt;code&gt;adjust()&lt;/code&gt; function:&lt;/p&gt;
&lt;div class=&quot;language-javascript codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ro&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;ow&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ResizeObserver&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;entries&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;entry&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;entries&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;entry&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;contentBoxSize&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;blockSize&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;adjust&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;entry&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;targets&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ro&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;observe&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;h1 id=&quot;tables&quot;&gt;Tables&lt;/h1&gt;
&lt;p&gt;Table cells could set &lt;code&gt;1rlh&lt;/code&gt; as their height but they would feel constricted.
Using &lt;code&gt;2rlh&lt;/code&gt; wastes too much space. Instead, we use &lt;a href=&quot;https://markboulton.co.uk/journal/incremental-leading/&quot; title=&quot;Incremental leading&quot;&gt;incremental leading&lt;/a&gt;: we
align one in every five lines.&lt;/p&gt;
&lt;div class=&quot;language-css codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;table&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;border-spacing&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;px&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;border-collapse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;separate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;err&quot;&gt;th&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;err&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.4&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;em&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.2&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.5&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;em&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;err&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;To align the elements after the table, we need to add some padding. We can
either reuse the JavaScript code from images or use a few lines of CSS that
count the regular rows and compute the missing vertical padding:&lt;/p&gt;
&lt;div class=&quot;language-css codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;table&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;has&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;tbody&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;nth-child&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;5n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;last-child&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;padding-bottom&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.2&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;table&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;has&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;tbody&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;nth-child&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;5n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;last-child&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;padding-bottom&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.8&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;table&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;has&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;tbody&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;nth-child&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;5n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;last-child&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;padding-bottom&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.4&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;table&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;has&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;tbody&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;nth-child&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;5n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;last-child&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;padding-bottom&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;table&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;has&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;tbody&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;tr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;nth-child&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;5n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;last-child&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;padding-bottom&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.6&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;A header cell has twice the padding of a regular cell. With two regular rows,
the total padding is 2Ã—2Ã—0.2+2Ã—0.4=1.6. We need to add &lt;code&gt;0.4rlh&lt;/code&gt; to reach
&lt;code&gt;2rlh&lt;/code&gt; of extra vertical padding across the table.&lt;/p&gt;
&lt;figure&gt;&lt;div class=&quot;lf-media-outer&quot;&gt;&lt;span class=&quot;lf-media-inner&quot;&gt;&lt;img alt=&quot;Screenshot of my website with a grid as an overlay and a table following the vertical rhythm. Additional padding is visible after the table. The height of the table with padding is 405.&quot; class=&quot;lf-media lf-opaque&quot; height=&quot;590&quot; src=&quot;https://d2pzklc15kok91.cloudfront.net/images/vertical-rhythm/tables@1x.56e678195427d0.png&quot; width=&quot;680&quot; /&gt;&lt;/span&gt;&lt;/div&gt;&lt;figcaption&gt;One line out of five is aligned to the grid. Additional padding is added after the table to not break the vertical rhythm. 405 is divisible by 27, our line height in this example.&lt;/figcaption&gt;&lt;/figure&gt;
&lt;hr /&gt;
&lt;p&gt;None of this is necessary. But once you start looking, you canâ€™t unsee it. Until
browsers implement &lt;a href=&quot;https://www.w3.org/TR/css-rhythm-1/&quot; title=&quot;CSS Rhythmic Sizing Module Level 1&quot;&gt;CSS Rhythmic Sizing&lt;/a&gt;, a
bit of CSS wizardry and a touch of JavaScript is enough to pull it off. The main
text now returns after each intrusion â€œprecisely on beat and in phase.â€� ğŸ�¼&lt;/p&gt;
&lt;div class=&quot;footnote&quot;&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id=&quot;fn-pawel&quot;&gt;
&lt;p&gt;See â€œ&lt;a href=&quot;https://pawelgrzybek.com/vertical-rhythm-using-css-lh-and-rlh-units/&quot; title=&quot;Vertical rhythm using CSS lh and rlh units&quot;&gt;Vertical rhythm using CSS &lt;code&gt;lh&lt;/code&gt; and &lt;code&gt;rlh&lt;/code&gt; units&lt;/a&gt;â€� by PaweÅ‚
Grzybek.Â &lt;a class=&quot;footnote-backref&quot; href=&quot;https://vincent.bernat.ch#fnref-pawel&quot; title=&quot;Jump back to footnote 1 in the text&quot;&gt;â�¦&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn-postcss&quot;&gt;
&lt;p&gt;For broader compatibility, you can replace &lt;code&gt;2rlh&lt;/code&gt; with
&lt;code&gt;calc(var(--line-height) * 2rem)&lt;/code&gt; and set the &lt;code&gt;--line-height&lt;/code&gt; custom
property in the &lt;code&gt;:root&lt;/code&gt; pseudo-class. I wrote a &lt;a href=&quot;https://github.com/vincentbernat/vincent.bernat.ch/blob/95f29793faad50a94fe4199a1774d59d409d3755/extensions/css.js#L69-L79&quot;&gt;simple PostCSS
plugin&lt;/a&gt; for this purpose.Â &lt;a class=&quot;footnote-backref&quot; href=&quot;https://vincent.bernat.ch#fnref-postcss&quot; title=&quot;Jump back to footnote 2 in the text&quot;&gt;â�¦&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn-calc&quot;&gt;
&lt;p&gt;It would have been nicer to compute the line height with
&lt;code&gt;calc(round(up, calc(2.4rem / 1rlh), 0) * 1rlh)&lt;/code&gt;. Unfortunately, typed
arithmetic is &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=1264520&quot; title=&quot;Support mixed number, unit value, and percent for calc() parser including type checking&quot;&gt;not supported by Firefox yet&lt;/a&gt;. Moreover, browsers support
&lt;code&gt;round()&lt;/code&gt; only &lt;a href=&quot;https://webstatus.dev/features/round-mod-rem&quot; title=&quot;round() function on Web Platform Status&quot;&gt;since 2024&lt;/a&gt;. Instead, I coded a &lt;a href=&quot;https://github.com/vincentbernat/vincent.bernat.ch/blob/95f29793faad50a94fe4199a1774d59d409d3755/extensions/css.js#L31-L67&quot;&gt;PostCSS
plugin&lt;/a&gt; for this as well.Â &lt;a class=&quot;footnote-backref&quot; href=&quot;https://vincent.bernat.ch#fnref-calc&quot; title=&quot;Jump back to footnote 3 in the text&quot;&gt;â�¦&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn-grid&quot;&gt;
&lt;p&gt;The following CSS code defines a grid tracking the line height:&lt;/p&gt;
&lt;div class=&quot;language-css codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;position&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;relative&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;after&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;position&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;absolute&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;inset&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;z-index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;9999&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;background&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;linear-gradient&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;180&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;deg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mh&quot;&gt;#c8e1ff&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;99&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;transparent&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;background-size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;px&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rlh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;pointer-events&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;none&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;a class=&quot;footnote-backref&quot; href=&quot;https://vincent.bernat.ch#fnref-grid&quot; title=&quot;Jump back to footnote 4 in the text&quot;&gt;â�¦&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn-line-height&quot;&gt;
&lt;p&gt;See â€œ&lt;a href=&quot;https://iamvdo.me/en/blog/css-font-metrics-line-height-and-vertical-align&quot;&gt;Deep dive CSS: font metrics, line-height and vertical-align&lt;/a&gt;â€� by Vincent De Oliveira.Â &lt;a class=&quot;footnote-backref&quot; href=&quot;https://vincent.bernat.ch#fnref-line-height&quot; title=&quot;Jump back to footnote 5 in the text&quot;&gt;â�¦&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content>
	<author>
	  <name>Vincent Bernat</name>
	   <uri>https://vincent.bernat.ch/en</uri> 
	</author>
	<source>
	  <title type="html">Vincent Bernat</title>
	  
	  <link rel="self" href="https://vincent.bernat.ch/en/blog/atom.xml"/>
	  <id>http://www.luffy.cx/en/blog/atom.xml/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">RcppArmadillo 15.2.6-1 on CRAN: Several Updates</title>
	<link href="http://dirk.eddelbuettel.com/blog/2026/04/21#rcpparmadillo_15.2.6-1"/>
	<id>http://dirk.eddelbuettel.com/blog/2026/04/21#rcpparmadillo_15.2.6-1</id>
	<updated>2026-04-21T23:20:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;&lt;img alt=&quot;armadillo image&quot; src=&quot;https://dirk.eddelbuettel.com/images/armadillo_logo_two.png&quot; style=&quot;float: left; margin: 10px 10px 10px 0;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://arma.sourceforge.net/&quot;&gt;Armadillo&lt;/a&gt; is a powerful
and expressive C++ template library for linear algebra and scientific
computing. It aims towards a good balance between speed and ease of use,
has a syntax deliberately close to Matlab, and is useful for algorithm
development directly in C++, or quick conversion of research code into
production environments. &lt;a href=&quot;https://dirk.eddelbuettel.com/code/rcpp.armadillo.html&quot;&gt;RcppArmadillo&lt;/a&gt;
integrates this library with the &lt;a href=&quot;https://www.r-project.org&quot;&gt;R&lt;/a&gt; environment and language–and is
widely used by (currently) 1263 other packages on &lt;a href=&quot;https://cran.r-project.org&quot;&gt;CRAN&lt;/a&gt;, downloaded 45.7 million
times (per the partial logs from the cloud mirrors of CRAN), and the &lt;a href=&quot;https://doi.org/10.1016/j.csda.2013.02.005&quot;&gt;CSDA paper&lt;/a&gt; (&lt;a href=&quot;https://cran.r-project.org/package=RcppArmadillo/vignettes/RcppArmadillo-intro.pdf&quot;&gt;preprint
/ vignette&lt;/a&gt;) by Conrad and myself has been cited 683 times according
to Google Scholar.&lt;/p&gt;
&lt;p&gt;This versions updates to the 15.2.5 and 15.2.6 upstream &lt;a href=&quot;https://arma.sourceforge.net/&quot;&gt;Armadillo&lt;/a&gt; releases from,
respectively, two and five days ago. The package has already been
updated for &lt;a href=&quot;https://www.debian.org&quot;&gt;Debian&lt;/a&gt;, and built for
&lt;a href=&quot;https://eddelbuettel.github.io/r2u/&quot;&gt;r2u&lt;/a&gt;. When we ran the
reverse-dependency check for 15.2.5 at the end of last week, one package
failed. I got in touch with the authors, filed an issue, poked some
more, isolated the one line that caused an example to fail … and right
then 15.2.6 came out fixing just that. It was after all an upstream
issue. We used to ran these checks before Conrad made a release, he now
skips this and hence needed a quick follow-up release. It can
happen.&lt;/p&gt;
&lt;p&gt;The other big change is that this R package release phases out the
‘dual support’ for both C++14 or newer (as in current &lt;a href=&quot;https://arma.sourceforge.net/&quot;&gt;Armadillo&lt;/a&gt;) along with a C++11
fallback for more slowly updating packages. I am happy to say that after
over eight months of this managed transition (during which &lt;a href=&quot;https://cran.r-project.org&quot;&gt;CRAN&lt;/a&gt; expulsed some laggard
packages that were not moving in from C++11) we are now at all packages
using C++14 or newer which is nice. And I will take this as an
opportunity to stress that one can in fact manage a disruptive API
change this way as we just demonstrated. Sadly, R Core does not seem to
have gotten that message and rollout of this package was also still a
little delayed because of the commotion created by the last minute API
changes preceding the R 4.6.0 release later this week.&lt;/p&gt;
&lt;p&gt;Smaller changes in the package are a switch in pdf vignette
production to the &lt;code&gt;Rcpp::asis()&lt;/code&gt; driver, and a
higher-precision computation in &lt;code&gt;rmultinom()&lt;/code&gt; (matching a
change made in R-devel during last week in its use of Kahan summation).
All detailed changes since the last CRAN release follow.&lt;/p&gt;
&lt;blockquote&gt;
&lt;h4 id=&quot;changes-in-rcpparmadillo-version-15.2.6-1-2026-04-20&quot;&gt;Changes in
RcppArmadillo version 15.2.6-1 (2026-04-20)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Upgraded to Armadillo release 15.2.6 (Medium Roast Deluxe)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ensure internally computed tolerances are not &lt;code&gt;NaN&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;code&gt;rmultinom&lt;/code&gt; deploys &#39;Kahan summation&#39; as R-devel
does now.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;changes-in-rcpparmadillo-version-15.2.5-1-github-only-2026-04-18&quot;&gt;Changes
in RcppArmadillo version 15.2.5-1 [github-only] (2026-04-18)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Upgraded to Armadillo release 15.2.5 (Medium Roast Deluxe)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Fix for handling NaN elements in &lt;code&gt;.is_zero()&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fix for handling NaN in tolerance and conformance checks&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Faster handling of diagonal views and submatrices with one
row&amp;gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sunset the C++11 fallback of including Armadillo 14.6.3 (&lt;a href=&quot;https://github.com/RcppCore/RcppArmadillo/pull/504&quot;&gt;#504&lt;/a&gt;
closing &lt;a href=&quot;https://github.com/RcppCore/RcppArmadillo/issues/503&quot;&gt;#503&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The vignettes have refreshed bibliographies, and are now built
using the &lt;code&gt;Rcpp::asis&lt;/code&gt; vignette builder (&lt;a href=&quot;https://github.com/RcppCore/RcppArmadillo/pull/506&quot;&gt;#506&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;One &lt;code&gt;rmultinom&lt;/code&gt; test is skipped under R-devel which
has switched to a higher precisions calc&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Courtesy of my &lt;a href=&quot;https://dirk.eddelbuettel.com/cranberries/&quot;&gt;CRANberries&lt;/a&gt;, there
is a &lt;a href=&quot;https://dirk.eddelbuettel.com/cranberries/2026/03/17#RcppArmadillo_15.2.4-1&quot;&gt;diffstat
report&lt;/a&gt; relative to previous release. More detailed information is on
the &lt;a href=&quot;https://dirk.eddelbuettel.com/code/rcpp.armadillo.html&quot;&gt;RcppArmadillo
page&lt;/a&gt;. Questions, comments etc should go to the &lt;a href=&quot;https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel&quot;&gt;rcpp-devel
mailing list&lt;/a&gt; off the &lt;a href=&quot;https://r-forge.r-project.org/projects/rcpp/&quot;&gt;Rcpp R-Forge&lt;/a&gt;
page.&lt;/p&gt;
&lt;p style=&quot;font-size: 80%; font-style: italic;&quot;&gt;
This post by &lt;a href=&quot;https://dirk.eddelbuettel.com&quot;&gt;Dirk
Eddelbuettel&lt;/a&gt; originated on his &lt;a href=&quot;https://dirk.eddelbuettel.com/blog/&quot;&gt;Thinking inside the box&lt;/a&gt;
blog. If you like this or other open-source work I do, you can &lt;a href=&quot;https://github.com/sponsors/eddelbuettel&quot;&gt;sponsor me at
GitHub&lt;/a&gt;. You can also sponsor my &lt;a href=&quot;https://dirk.eddelbuettel.com/blog/2026/04/03#sponsor_tour_de_shore_202&quot;&gt;Tour
de Shore 2026 ride in support of the Maywood Fine Arts Center&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</content>
	<author>
	  <name>Dirk Eddelbuettel</name>
	   <uri>http://dirk.eddelbuettel.com/blog</uri> 
	</author>
	<source>
	  <title type="html">Thinking inside the box</title>
	  <subtitle type="html">Thinking inside the box</subtitle>
	  <link rel="self" href="http://dirk.eddelbuettel.com/blog/index.rss"/>
	  <id>http://dirk.eddelbuettel.com/blog</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Join us at Lomiri CodeFest on May 16-17 &amp;amp; Fre(i)e Software GmbH is hiring more Lomiri Developers</title>
	<link href="https://sunweavers.net/blog/node/153"/>
	<id>153 at https://sunweavers.net/blog</id>
	<updated>2026-04-21T17:35:40+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;h3&gt;Lomiri Codefest in Tilburg NL (May 16-17 2026)&lt;/h3&gt;

&lt;p&gt;Just a quick invitation to an in-person event in Tilburg, the Netherlands.&lt;/p&gt;

&lt;p&gt;All people interested in the Lomiri Operating Environment are invited to join us at the Lomiri Codefest [codefest] taking place on May 16-17 (participation is free of charge).&lt;/p&gt;

&lt;h3&gt;We are hiring Lomiri developers&lt;/h3&gt;

&lt;p&gt;And as another side node, we still have budget (until 07/2027) for 2-3 additional Lomiri developers (depends on each devs weekly availability). The details of my previous post [hiringdetails] +/- still apply. One more limitation / strength: You need real coding skills to apply for the open positions, AI-generated contributions will not be accepted for the tasks at hand.&lt;/p&gt;

&lt;p&gt;If you are interested and a skilled FLOSS developer (you need previous OSS contributions as references) and available with at least 10 hrs / week, please get in touch [fsgmbh].&lt;/p&gt;

&lt;h3&gt;References&lt;/h3&gt;

&lt;p&gt;[codefest] &lt;a href=&quot;https://codefest.os-sci.info/?lang=en&quot; title=&quot;https://codefest.os-sci.info/?lang=en&quot;&gt;https://codefest.os-sci.info/?lang=en&lt;/a&gt;&lt;br /&gt;
[hiringdetails] &lt;a href=&quot;https://sunweavers.net/blog/node/150&quot; title=&quot;https://sunweavers.net/blog/node/150&quot;&gt;https://sunweavers.net/blog/node/150&lt;/a&gt;&lt;br /&gt;
[fsgmbh] &lt;a href=&quot;https://freiesoftware.gmbh/&quot; title=&quot;https://freiesoftware.gmbh/&quot;&gt;https://freiesoftware.gmbh/&lt;/a&gt;&lt;/p&gt;</content>
	<author>
	  <name>sunweaver</name>
	   <uri>https://sunweavers.net/blog/blog/1</uri> 
	</author>
	<source>
	  <title type="html">sunweaver&#39;s blog</title>
	  
	  <link rel="self" href="https://sunweavers.net/blog/blog/1/feed"/>
	  <id>https://sunweavers.net/blog/blog/1</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">More About Ebook Readers in Debian</title>
	<link href="https://etbe.coker.com.au/2026/04/21/more-ebook-readers/"/>
	<id>https://etbe.coker.com.au/?p=6039</id>
	<updated>2026-04-21T09:26:54+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;h2&gt;FBReader&lt;/h2&gt;
&lt;p&gt;After &lt;a href=&quot;https://etbe.coker.com.au/2026/03/29/ebook-readers-debian/&quot;&gt;my previous blog post about eBook readers in Debian [1]&lt;/a&gt; a reader recommended FBReader. I tried it and it’s now my favourite reader. It works nicely on laptop and phone and takes significantly less RAM than Calibre or Arianna (especially important for phones). While the problems with my FLX1s not displaying text with Calibre or Arianna might be the fault of something on the FLX1s side those problems just don’t happen with FBReader.&lt;/p&gt;
&lt;p&gt;FBReader has apparently now got a proprietary version as the upstream, but we still have FOSS code to use in Debian. It would be nice if someone updated it to store the reading location using WebDAV and/or a local file that can be copied with the NextCloud client or similar. Currently there is code to store reading location in the Google cloud which I don’t want to use. It’s not THAT difficult to see what chapter you are at with one device and just skip to that part on another, but it is an annoyance.&lt;/p&gt;
&lt;p&gt;One thing I really like about FBReader is that you can run it with a epub file on the command line and it just opens it and when it’s been closed you can just open it again to the same spot in the same file. I don’t want a “library” to view a book list, I just want to go back to what I was last reading in a hurry. Calibre might be better for some uses, for example I can imagine someone in the publishing industry with a collection of thousands of epub files finding that Calibre works better for them. But for the typical person who just wants to read one book and keep reading it until they finish it FBReader seems clearly better. The GUI is a little unusual, but it’s not at all confusing and it works really well on mobile.&lt;/p&gt;
&lt;h2&gt;Okular&lt;/h2&gt;
&lt;p&gt;I tried Okular (the KDE viewer for PDF files etc) which displays epub files if you have the “okular-extra-backends” installed, but it appears to not display books with the background color set to black. I would appreciate it if someone who has read some public domain or CC licences epub files can recommend ones with a black background that I could use for testing as I can’t file a Debian bug report without sample data to reproduce the bug. I decided not to use it for actual book reading as FBReader is far better for my use taking less RAM and being well optimised for mobile use.&lt;/p&gt;
&lt;h2&gt;Folite&lt;/h2&gt;
&lt;p&gt;Foliate supports specifying a book on the command-line which is nice. But it takes more memory than FBReader which is probably mostly due to using webkit to display things. The output was in 2 columns on my laptop in small text which is probably configurable but I didn’t proceed with it. I determined that it doesn’t compare with FBReader for my use. It’s written in JavaScript which may be a positive feature for some people.&lt;/p&gt;
&lt;h2&gt;Koodo&lt;/h2&gt;
&lt;p&gt;I had a brief test of Koodo which isn’t in Debian. &lt;a href=&quot;https://github.com/koodo-reader/koodo-reader&quot;&gt;Here is the Koodo Reader Github [2]&lt;/a&gt;. I installed the .deb that they created, it installs files to “/opt/Koodo Reader/” (yes that’s a space in the directory name) and appears to have Chromium as part of the runtime. I didn’t go past that even though it appears to have a decent feature set. It is licensed under version 3 of the AGPL so is suitable for Debian packaging if someone wants to do it.&lt;/p&gt;
&lt;h2&gt;Thorium&lt;/h2&gt;
&lt;p&gt;I saw the &lt;a href=&quot;https://github.com/edrlab/thorium-reader&quot;&gt;Thorium reader on Github [3]&lt;/a&gt; which looks promising, it’s under the BSD 3 clause license so is suitable for Debian packaging. The &lt;a href=&quot;https://www.edrlab.org/about/&quot;&gt;EDR Lab seems like a good project for advancing electronic document use [4]&lt;/a&gt; and it would be good to have their stuff in Debian.&lt;/p&gt;
&lt;p&gt;For the moment I’m happy using FBReader.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[1]&lt;a href=&quot;https://etbe.coker.com.au/2026/03/29/ebook-readers-debian/&quot;&gt; https://etbe.coker.com.au/2026/03/29/ebook-readers-debian/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[2]&lt;a href=&quot;https://github.com/koodo-reader/koodo-reader&quot;&gt; https://github.com/koodo-reader/koodo-reader&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[3]&lt;a href=&quot;https://github.com/edrlab/thorium-reader&quot;&gt; https://github.com/edrlab/thorium-reader&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[4]&lt;a href=&quot;https://www.edrlab.org/about/&quot;&gt; https://www.edrlab.org/about/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;yarpp yarpp-related yarpp-related-rss yarpp-template-list&quot;&gt;

&lt;p&gt;Related posts:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2026/03/29/ebook-readers-debian/&quot; rel=&quot;bookmark&quot; title=&quot;Ebook Readers in Debian&quot;&gt;Ebook Readers in Debian&lt;/a&gt; &lt;small&gt;Laptop For a while I’ve been using Calibre 8.5.0+ds-1+deb13u1 in...&lt;/small&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2017/07/29/mesos-debian/&quot; rel=&quot;bookmark&quot; title=&quot;Apache Mesos on Debian&quot;&gt;Apache Mesos on Debian&lt;/a&gt; &lt;small&gt;I decided to try packaging Mesos for Debian/Stretch. I had...&lt;/small&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2009/08/23/nbd-pxe-booting-debian/&quot; rel=&quot;bookmark&quot; title=&quot;NBD and PXE Booting on Debian&quot;&gt;NBD and PXE Booting on Debian&lt;/a&gt; &lt;small&gt;I have a Xen server that I use for testing...&lt;/small&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content>
	<author>
	  <name>etbe</name>
	   <uri>https://etbe.coker.com.au</uri> 
	</author>
	<source>
	  <title type="html">etbe – Russell Coker</title>
	  <subtitle type="html">Linux, politics, and other interesting things</subtitle>
	  <link rel="self" href="https://etbe.coker.com.au/feed/"/>
	  <id>https://etbe.coker.com.au</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Debian Project Leader election 2026 is over, Sruthi Chandran elected!</title>
	<link href="https://bits.debian.org/2026/04/dpl-elections-2026.html"/>
	<id>tag:bits.debian.org,2026-04-20:/2026/04/dpl-elections-2026.html</id>
	<updated>2026-04-20T17:00:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;The voting period and tally of votes for the Debian Project Leader election
has just concluded, and the winner is Sruthi Chandran. Congratulations!&lt;/p&gt;
&lt;p&gt;347 out of 1,039 Developers voted using the
&lt;a href=&quot;https://en.wikipedia.org/wiki/Condorcet_method&quot;&gt;Condorcet method&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;More information about the results of the voting is available on the
&lt;a href=&quot;https://www.debian.org/vote/2026/vote_001&quot;&gt;Debian Project Leader Elections 2026&lt;/a&gt;
page.&lt;/p&gt;
&lt;p&gt;Many thanks to Sruthi Chandran for her campaign, to our Developers for their
votes, and to Andreas Tille for his service as DPL over the past two years!&lt;/p&gt;
&lt;p&gt;The new term for the project leader will start on April 21, 2026 and expire
on April 20, 2027.&lt;/p&gt;</content>
	<author>
	  <name>Jean-Pierre Giraud</name>
	   <uri>https://bits.debian.org/</uri> 
	</author>
	<source>
	  <title type="html">Bits from Debian</title>
	  <subtitle type="html">Blog from the Debian Project</subtitle>
	  <link rel="self" href="https://bits.debian.org/feeds/feed.rss"/>
	  <id>https://bits.debian.org/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">Kookbook 0.3.0 released</title>
	<link href="https://pusling.com/blog/?p=512"/>
	<id>http://pusling.com/blog/?p=512</id>
	<updated>2026-04-20T15:01:53+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;p&gt;I recently released version 0.3.0 of my recipe manager application Kookbook – find it in git in &lt;a href=&quot;https://invent.kde.org/utilities/kookbook/&quot;&gt;KDE Invent&lt;/a&gt; or as released tarballs in https://download.kde.org/stable/kookbook/&lt;/p&gt;
&lt;p&gt;Changes since last time is more or less “Minor bugfixes and a Qt6 port” – nothing as such noteworthy unless you aim to get rid of Qt5 on your system.&lt;/p&gt;
&lt;p&gt;so what is kookbook?&lt;br /&gt;
It is a simple recipe viewer that works with semi-structured markdown. More details can be seen in the quite old &lt;a href=&quot;http://pusling.com/blog/?p=499&quot;&gt;0.1.0 announcement&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;&quot; class=&quot;aligncenter size-full wp-image-500&quot; height=&quot;705&quot; src=&quot;https://i.imgur.com/R8a8YZ5.png&quot; width=&quot;862&quot; /&gt;&lt;/p&gt;
&lt;p&gt;At some point I should do a 10 recipe example collection, but my personal collection is in danish, so I’m not sure it is going to be useful. Unless someone will donate me some handfuls of pre-formatted recipes, I will happily announce it.&lt;/p&gt;</content>
	<author>
	  <name>Sune Vuorela</name>
	   <uri>https://pusling.com/blog</uri> 
	</author>
	<source>
	  <title type="html">english – Blog :: Sune Vuorela</title>
	  <subtitle type="html">Thoughts, actions and projects</subtitle>
	  <link rel="self" href="https://pusling.com/blog/?feed=rss2&amp;cat=3"/>
	  <id>https://pusling.com/blog</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-us">Review: Surface Detail</title>
	<link href="https://www.eyrie.org/~eagle/reviews/books/0-316-12341-2.html"/>
	<id>https://www.eyrie.org/~eagle/reviews/books/0-316-12341-2.html</id>
	<updated>2026-04-20T04:26:00+00:00</updated>
	<summary type="html" xml:lang="en-us"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;Review: &lt;cite&gt;Surface Detail&lt;/cite&gt;, by Iain M. Banks&lt;/p&gt;

&lt;table&gt;
  &lt;tbody&gt;&lt;tr&gt;
    &lt;td&gt;Publisher:&lt;/td&gt;
    &lt;td&gt;Orbit&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Copyright:&lt;/td&gt;
    &lt;td&gt;October 2010&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Printing:&lt;/td&gt;
    &lt;td&gt;May 2011&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;ISBN:&lt;/td&gt;
    &lt;td&gt;0-316-12341-2&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Format:&lt;/td&gt;
    &lt;td&gt;Trade paperback&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Pages:&lt;/td&gt;
    &lt;td&gt;627&lt;/td&gt;
  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;
&lt;cite&gt;Surface Detail&lt;/cite&gt; is the ninth novel in Banks&#39;s Culture science
fiction (literary space opera?) series. As with most of the Culture
novels, it can be read in any order, although this isn&#39;t the best starting
point. There is an Easter egg reference to &lt;a href=&quot;https://www.eyrie.org/~eagle/reviews/books/1-85723-135-X.html&quot;&gt;&lt;cite&gt;Use of Weapons&lt;/cite&gt;&lt;/a&gt; that would be easier to notice if you have read
that book recently, but which is not that important to the story.
&lt;/p&gt;

&lt;p&gt;
Lededje Y&#39;breq is an Indented Intagliate from the Sichultian Enablement.
Her body is patterned from her skin down to her bones, covered with
elaborate markings similar to tattoos that extend to her internal organs.
As an intagliate, she is someone&#39;s property. In her case, she is the
property of Joller Veppers, the richest man in the Enablement and her
father&#39;s former business partner. Intagliates are a tradition of great
cultural pride in the Enablement. They are a living representation of the
seriousness with which debts and honor are taken, up to and including
one&#39;s not-yet-born children becoming the property of one&#39;s debtor. Such
children are decorated as living works of art of the highest skill and
technical sophistication; after all, the Enablement are not barbarians.
&lt;/p&gt;

&lt;p&gt;
As the story opens, Lededje is attempting, not for the first time, to
escape. This attempt is successful in an unexpected way.
&lt;/p&gt;

&lt;p&gt;
Prin and Chay are Pavulean researchers and academics who, as this story
opens, are in Hell. They are not dead; they have infiltrated the Hell that
Pavuleans are shown to scare them into proper behavior in order to prove
that it is not an illusion and their society does indeed torture people in
an afterlife, in more awful ways than people dare imagine. They have
reached the portal through which temporary visitors exit, hoping to escape
with firm evidence of the existence and horrors of the Pavulean afterlife.
They will not be entirely successful.
&lt;/p&gt;

&lt;p&gt;
Yime Nsokyi is a Culture agent for Quietus, the part of Contact that
concerns itself with the dead. Many advanced societies throughout the
galaxy have invented and reinvented the ability to digitize a mind and
then run it in a virtual environment. Once a society can capture the minds
of every person in that society from that point forward, it faces the
question of whether to do so and, if it does, what to do with those minds.
More specifically, it faces the moral question of whether to punish the
minds of people who were horrible in life. It faces the question of
whether to create Hell.
&lt;/p&gt;

&lt;p&gt;
Vatueil is a soldier in a contestation, a limited and carefully monitored
virtual war. The purpose of that war game is to, once and for all, resolve
the question of whether civilizations should be allowed to create Hells.
Some civilizations consider them integral to their religion or
self-conception. Others consider them morally abhorrent, and that conflict
was in danger of spilling over into war in the Real. Hence the War in
Heaven: Both sides committed to fight in a virtual space under specific
and structured rules, and the winner decides the fate of the galaxy&#39;s
Hells. Vatueil is fighting for the anti-Hell side. The anti-Hell side is
losing.
&lt;/p&gt;

&lt;p&gt;
There are very few authors who were better at big-idea science fiction
than Iain M. Banks. I&#39;ve been reading &lt;a href=&quot;https://www.eyrie.org/~eagle/reviews/books/0-9924559-3-6.html&quot;&gt;a few
books about AI ships&lt;/a&gt; and remembered that I had two unread Culture novels
that I was saving. It felt like a good time to lose myself in something
sprawling.
&lt;/p&gt;

&lt;p&gt;
&lt;cite&gt;Surface Detail&lt;/cite&gt; does sprawl. Even by Banks&#39;s standards, there was an
impressive amount of infodumping in this book. Banks always has huge and
lovingly described set pieces, and this book is no exception, but there
are also paragraphs and pages of background and cultural musings and
galactic politics. We are introduced to not one but three new Contact
divisions; as well as the already-mentioned Quietus, there is Numina,
which concerns itself with the races that have sublimed (transcended), and
Restoria, which deals with hegemonizing swarms (grey goo nanotech,
&lt;a href=&quot;https://en.wikipedia.org/wiki/Instrumental_convergence#Paperclip_maximizer&quot;&gt;paperclip maximizers&lt;/a&gt;, and their equivalents).
&lt;/p&gt;

&lt;p&gt;
Infodumping is both a feature and a bane of big-idea science fiction, and
it helps to be in the right mood. It also helps if the info being dumped
is interesting, and this is where Banks shines. This is a huge, sprawling
book, but it deals with some huge, sprawling questions and it has
interesting and non-reductive thoughts about them. The problems posed by
the plot come with history, failed solutions, multi-sided political
disputes, strategies and tactics of varying morality and efficacy, and an
effort to wrestle with the irreducible complexity of trying to resolve
political and ethical disagreements in a universe full of profound
disagreements and moral systems that one cannot simply steamroll.
&lt;/p&gt;

&lt;p&gt;
It also helps that the characters are interesting, even when they&#39;re not
likable. &lt;cite&gt;Surface Detail&lt;/cite&gt; has one fully hissable villain (Veppers) as
a viewpoint character, but even Veppers is interesting in a &quot;let me check
the publication date to see if Banks was aware of Peter Thiel&quot; sort of
way. The Culture ships, of which there are several in this story, tend
towards a gently sarcastic kindness that I find utterly charming. Lededje
provides the compelling motive force of someone who has no involvement in
the broader philosophical questions and instead intends to resolve one
specific problem through lethal violence. Vatueil and Yime were a bit
bland in personality, more exposition generators than characters I warmed
to, but their roles and therefore the surrounding exposition were
fascinating enough that I still enjoyed their sections.
&lt;/p&gt;

&lt;p&gt;
I&#39;m sure this is not an original observation, but I was struck reading
this book in the first half of 2026 that the Culture functions as an
implementation of what the United States likes to think it is but has
never been. It has a strong sense of shared ethics and moral principles,
it tries to export them to the rest of the galaxy through example,
persuasion, and careful meddling, but it tries to follow some combination
of pragmatic and moral rules while doing so, partly to avoid a backlash
and partly to avoid becoming its own sort of hegemonizing swarm. That is a
powerfully attractive vision of how to be an advanced civilization, and
the fact that every hegemon that has claimed that mantle has behaved
appallingly just makes it more intriguing as a fictional concept. In this
book, like in many Culture books, the Culture is painfully aware of the
failure modes of meddling, and the story slowly reveals the effort the
Culture put into staying just on a defensible side of their own moral
lines. This is, in a sense, a Prime Directive story, but with a level of
hard-nosed pragmatism and political sophistication that the endless
&lt;cite&gt;Star Trek&lt;/cite&gt; Prime Directive episodes never reach.
&lt;/p&gt;

&lt;p&gt;
&lt;cite&gt;Surface Detail&lt;/cite&gt; does tend to sprawl, and I&#39;m not sure Banks pulled
together all the pieces of the plot. For example, if there was a point to
the subplot involving the Unfallen Bulbitian, it was lost on me. (There is
always a possibility with Banks that I wasn&#39;t paying close enough
attention.) But the descriptions are so elaborate and the sense of
politics and history are so deep that I was never bored, even when
following a plot thread that meandered off into apparent irrelevance. The
main plot line comes to a satisfying conclusion that may be even more
biting social commentary today than it was in 2010.
&lt;/p&gt;

&lt;p&gt;
A large part of the plot does involve Hell, so a warning for those who
haven&#39;t read much Banks: He adores elaborate descriptions of body horror
and physical torture. The sections involving Prin and Chay are rather
grim and horrific, probably a bit worse than Dante&#39;s &lt;cite&gt;Inferno&lt;/cite&gt;. I
have a low tolerance for horror and I was able to read past and around the
worst bits, but be warned that Banks indulges his love for the painfully
grotesque quite a bit.
&lt;/p&gt;

&lt;p&gt;
This was great, and exactly what I was hoping for when I picked it up.
It&#39;s not the strongest Culture novel (for me, that&#39;s either
&lt;a href=&quot;https://www.eyrie.org/~eagle/reviews/books/0-06-105356-2.html&quot;&gt;&lt;cite&gt;The Player of Games&lt;/cite&gt;&lt;/a&gt; or
&lt;a href=&quot;https://www.eyrie.org/~eagle/reviews/books/0-553-57537-6.html&quot;&gt;&lt;cite&gt;Excession&lt;/cite&gt;&lt;/a&gt;), but it&#39;s one of the better
ones. Highly recommended, although if you&#39;re new to the Culture, I would
start with one of the earlier books that provide a more gradual
introduction to the Culture and Special Circumstances.
&lt;/p&gt;

&lt;p&gt;
Followed, in the somewhat disconnected Culture series sense, by &lt;cite&gt;The
Hydrogen Sonata&lt;/cite&gt;.
&lt;/p&gt;

&lt;p&gt;
Content warnings: Rape (largely off-screen), graphic violence, lots of
Bosch-style grotesque torture, and a lot of Veppers being a thoroughly
awful human being as a viewpoint character.
&lt;/p&gt;

&lt;p&gt;Rating: 8 out of 10&lt;/p&gt;</content>
	<author>
	  <name>Russ Allbery</name>
	   <uri>https://www.eyrie.org/~eagle/</uri> 
	</author>
	<source>
	  <title type="html">Eagle&#39;s Path</title>
	  <subtitle type="html">&quot;Passion and dispassion.  Choose two.&quot; -- Larry Wall</subtitle>
	  <link rel="self" href="https://www.eyrie.org/~eagle/journal/index.rss"/>
	  <id>https://www.eyrie.org/~eagle/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-us">Review: Collision Course</title>
	<link href="https://www.eyrie.org/~eagle/reviews/books/1-7637844-0-1.html"/>
	<id>https://www.eyrie.org/~eagle/reviews/books/1-7637844-0-1.html</id>
	<updated>2026-04-19T04:52:00+00:00</updated>
	<summary type="html" xml:lang="en-us"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;Review: &lt;cite&gt;Collision Course&lt;/cite&gt;, by Michelle Diener&lt;/p&gt;

&lt;table&gt;
  &lt;tbody&gt;&lt;tr&gt;
    &lt;td&gt;Series:&lt;/td&gt;
    &lt;td&gt;Class 5 #6&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Publisher:&lt;/td&gt;
    &lt;td&gt;Eclipse&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Copyright:&lt;/td&gt;
    &lt;td&gt;November 2024&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;ISBN:&lt;/td&gt;
    &lt;td&gt;1-7637844-0-1&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Format:&lt;/td&gt;
    &lt;td&gt;Kindle&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Pages:&lt;/td&gt;
    &lt;td&gt;289&lt;/td&gt;
  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;
&lt;cite&gt;Collision Course&lt;/cite&gt; is the sixth novel in the Class 5 science fiction
series and the first that doesn&#39;t use the &lt;cite&gt;Dark X&lt;/cite&gt; naming convention.
There are lots of spoilers in this story for the earlier books, but you
don&#39;t have to remember all the details of previous events. Like the
novella, &lt;a href=&quot;https://www.eyrie.org/~eagle/reviews/books/1-7637844-2-8.html&quot;&gt;&lt;cite&gt;Dark Ambitions&lt;/cite&gt;&lt;/a&gt;, this novel
returns to Rose, Sazo, and Dav instead of introducing another Earth woman
and Class 5 ship.
&lt;/p&gt;

&lt;p&gt;
In &lt;a href=&quot;https://www.eyrie.org/~eagle/reviews/books/0-6454658-2-8.html&quot;&gt;&lt;cite&gt;Dark Class&lt;/cite&gt;&lt;/a&gt;, Ellie discovered an
interesting artifact of a previously-unknown space-faring civilization.
Rose, Sazo, and Dav are on their way to make first contact when, during a
routine shuttle flight between the Class 5 and Dav&#39;s Grih military ship,
Rose is abducted. The aliens they came to contact have an aggressive,
leverage-based negotiating strategy. They&#39;re also in the middle of a
complicated war with more sides than are readily apparent.
&lt;/p&gt;

&lt;p&gt;
What I liked most about &lt;a href=&quot;https://www.eyrie.org/~eagle/reviews/books/0-9924559-3-6.html&quot;&gt;&lt;cite&gt;Dark Horse&lt;/cite&gt;&lt;/a&gt;, the
first book of this series and our introduction to Rose, was the revealed
ethical system and a tense plot that hinged primarily on establishing
mutual trust when there were excellent reasons for the characters to not
trust each other. As the series has continued, I think the plots have
become more complicated but the ethical dilemmas and revealing moments of
culture shock have become less common. That is certainly true of
&lt;cite&gt;Collision Course&lt;/cite&gt;; this is science fiction as thriller, with a
complex factional conflict, a lot of events, more plot reversals than the
earlier books, but also less ethics and philosophy.
&lt;/p&gt;

&lt;p&gt;
I&#39;m not sure if this is a complaint. I kind of miss the ethics and
philosophy, but Diener also hasn&#39;t had much new to say for the past few
books. The plot of &lt;cite&gt;Collision Course&lt;/cite&gt; is quite satisfyingly twisty
for a popcorn-style science fiction series. I was kept guessing about the
merits of some of the factions quite late into the book, although
admittedly I was in the mood for light entertainment and was not trying
too hard to figure out where the book was going. I did read nearly the
entire book in one sitting and stayed up until 2am to finish it, which is
a solid indication that something Diener was doing worked.
&lt;/p&gt;

&lt;p&gt;
I do have quibbles, though. One is that the ending is a bit unsatisfying.
Like Sazo, I was getting quite annoyed at the people capturing (and
recapturing) Rose and would have enjoyed somewhat more decisive
consequences. Also, and here I have to be vague to avoid spoilers, I was
expecting a bit more of a redemption arc for one of the players in the
multi-sided conflict. The ending I did get was believable but rather sad,
and I wish Diener had either chosen a different outcome (this is light
happily-ever-after science fiction, after all) or wrestled more directly
with the implications. There were a bit too many &quot;wait, one more thing&quot;
ending reversals and not quite enough emotional payoff for me.
&lt;/p&gt;

&lt;p&gt;
The other quibble is that &lt;cite&gt;Collision Course&lt;/cite&gt; was a bit too damsel in
distress for this series. Rose is pregnant, which Diener uses throughout
the book as a way to raise the stakes of the plot and also make Rose more
annoyed but also less capable than she was in her earlier novel. Both Sazo
and Dav are in full heroic rescue mode, and while Diener still ensures
Rose is primarily responsible for her own fate, there is some &quot;military
men attempt to protect the vulnerable woman&quot; here. One of the things I
like about this series is that it does not use that plot, so while the
balance between Rose rescuing herself and other people rescuing her is
still tilted towards Rose, I would have liked this book more if Rose were
in firmer control of events.
&lt;/p&gt;

&lt;p&gt;
I will mostly ignore the fact that a human and a Grih sexually reproducing
makes little to no biological sense, since &lt;cite&gt;Star Trek&lt;/cite&gt; did similar
things routinely and it&#39;s an established genre trope. But I admit that it
still annoys me a bit that the alien hunk is essentially human except that
he&#39;s obsessed with Rose&#39;s singing and has pointy ears. Diener cares about
Rose&#39;s pregnancy a lot more than I did, which added to my mild grumpiness
at how often it came up.
&lt;/p&gt;

&lt;p&gt;
Overall, this was fine. I prefer a bit more of a protagonist discovering
how powerful she is by making ingenious use of the ethical dilemmas her
captors have trapped themselves in, and a bit less of Rose untangling a
complicated political situation by getting abducted by every player
serially, but it still kept the pages turning. Any book that is
sufficiently engrossing for me to read straight through is working at some
level. &lt;cite&gt;Collision Course&lt;/cite&gt; was highly readable, undemanding, and
distracting, which is what I was looking for when I read it. I would put
it about middle of pack in the series. If Rose&#39;s pregnancy is more
interesting to you than it was to me, that might push it a bit higher.
&lt;/p&gt;

&lt;p&gt;
If you have gotten this far in the series, you will probably enjoy this,
although it does feel like Diener is running out of new things to say
about this universe. That&#39;s unfortunate given the number of threads about
AI sentience and rights that could still be followed, but I think tracing
them properly would require more philosophical meat than Diener intends
for these books. Which is why the next book I grabbed was a Culture novel.
&lt;/p&gt;

&lt;p&gt;
Currently this is the final book in the Class 5 series, but there is no
inherent reason why Diener couldn&#39;t write more of them.
&lt;/p&gt;

&lt;p&gt;Rating: 7 out of 10&lt;/p&gt;</content>
	<author>
	  <name>Russ Allbery</name>
	   <uri>https://www.eyrie.org/~eagle/</uri> 
	</author>
	<source>
	  <title type="html">Eagle&#39;s Path</title>
	  <subtitle type="html">&quot;Passion and dispassion.  Choose two.&quot; -- Larry Wall</subtitle>
	  <link rel="self" href="https://www.eyrie.org/~eagle/journal/index.rss"/>
	  <id>https://www.eyrie.org/~eagle/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Thanks Branchable!</title>
	<link href="http://charles.plessy.org/Debian/debi%C3%A2neries/merciBranchable/"/>
	<id>http://charles.plessy.org/Debian/debi%C3%A2neries/merciBranchable/</id>
	<updated>2026-04-18T13:37:22+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;I was hosted for a long time, free of charge, on https://www.branchable.com/
by Joey and Lars. Branchable and Ikiwiki were wonderful ideas that never
took off as much as they deserved. To avoid being a burden now that
&lt;a href=&quot;https://www.branchable.com/news/changes_at_Branchable/&quot;&gt;Branchable is nearing its
end&lt;/a&gt;, I migrated to
a &lt;a href=&quot;https://vps.sakura.ad.jp/specification/&quot;&gt;VPS at Sakura&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;However, I have not left Ikiwiki. I only use it as a site engine, but I
haven&#39;t found any equivalent that gives me both native Git integration, wiki
syntax for a personal site, the creativity of its directives (you can do
anything with &lt;a href=&quot;https://ikiwiki.info/ikiwiki/directive/inline/&quot;&gt;inline&lt;/a&gt; and
&lt;a href=&quot;https://ikiwiki.info/ikiwiki/pagespec/&quot;&gt;pagespec&lt;/a&gt;), and its multilingual
support through the &lt;a href=&quot;https://ikiwiki.info/plugins/po/&quot;&gt;po&lt;/a&gt; plugin.&lt;/p&gt;

&lt;p&gt;Joey and Lars, thank you for everything!&lt;/p&gt;</content>
	<author>
	  <name>Charles Plessy</name>
	   <uri>http://charles.plessy.org/Debian/planet/</uri> 
	</author>
	<source>
	  <title type="html">Planet</title>
	  <subtitle type="html">Chez Charles</subtitle>
	  <link rel="self" href="http://charles.plessy.org/Debian/planet/index.en.rss"/>
	  <id>http://charles.plessy.org/Debian/planet/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">Hello old new “Projects” directory!</title>
	<link href="https://blog.tenstral.net/2026/04/hello-projects-directory.html"/>
	<id>https://blog.tenstral.net/?p=2053</id>
	<updated>2026-04-18T08:06:00+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;p&gt;If you have recently installed a very up-to-date Linux distribution with a desktop environment, or upgraded your system on a rolling-release distribution, you might have noticed that your home directory has a new folder: “Projects”&lt;/p&gt;



&lt;h2 class=&quot;wp-block-heading&quot;&gt;Why?&lt;/h2&gt;



&lt;p&gt;With the recent 0.20 release of &lt;a href=&quot;https://www.freedesktop.org/wiki/Software/xdg-user-dirs/&quot;&gt;xdg-user-dirs&lt;/a&gt; we enabled the “Projects” directory by default. Support for this has already existed since 2007, but was never formally enabled. This closes a &lt;a href=&quot;https://gitlab.freedesktop.org/xdg/xdg-user-dirs/-/work_items/3&quot;&gt;more than 11 year old bug report&lt;/a&gt; that asked for this feature.&lt;/p&gt;



&lt;p&gt;The purpose of the &lt;em&gt;Projects&lt;/em&gt; directory is to give applications a default location to place project files that do not cleanly belong into one of the existing categories (Documents, Music, Pictures, Videos). Examples of this are software engineering projects, scientific projects, 3D printing projects, CAD design or even things like video editing projects, where project files would end up in the “Projects” directory, with output video being more at home in “Videos”.&lt;/p&gt;



&lt;p&gt;By enabling this by default, and subsequently in the coming months adding support to GLib, Flatpak, desktops and applications that want to make use of it, we hope to give applications that do operate in a “project-centric” manner with mixed media a better default storage location. As of now, those tools either default to the home directory, or will clutter the “Documents” folder, both of which is not ideal. It also gives users a default organization structure, hopefully leading to less clutter overall and better storage layouts.&lt;/p&gt;



&lt;h2 class=&quot;wp-block-heading&quot;&gt;This sucks, I don’t like it!&lt;/h2&gt;



&lt;figure class=&quot;wp-block-image size-full&quot;&gt;&lt;a href=&quot;https://blog.tenstral.net/wp-content/uploads/2026/04/woman-pointing-at-projects-folder.avif&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;wp-image-2055&quot; height=&quot;273&quot; src=&quot;https://blog.tenstral.net/wp-content/uploads/2026/04/woman-pointing-at-projects-folder.avif&quot; width=&quot;548&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;



&lt;p&gt;As usual, you are in control and can modify your system’s behavior. If you do not like the “Projects” folder, &lt;strong&gt;simply delete it!&lt;/strong&gt; The &lt;em&gt;xdg-user-dirs&lt;/em&gt; utility will not try to create it again, and instead adjust the default location for this directory to your home directory. If you want more control, you can influence exactly what goes where by editing your &lt;code&gt;~/.config/user-dirs.dirs&lt;/code&gt; configuration file.&lt;/p&gt;



&lt;p&gt;If you are a system administrator or distribution vendor and want to set default locations for the default XDG directories, you can edit the &lt;code&gt;/etc/xdg/user-dirs.defaults&lt;/code&gt; file to set global defaults that affect all users on the system (users can still adjust the settings however they like though).&lt;/p&gt;



&lt;h2 class=&quot;wp-block-heading&quot;&gt;What else is new?&lt;/h2&gt;



&lt;p&gt;Besides this change, the 0.20 release of &lt;code&gt;xdg-user-dirs&lt;/code&gt; brings full support for the Meson build system (dropping Automake), translation updates, and some robustness improvements to its code. We also fixed the “arbitrary code execution from unsanitized input” bug that the Arch Linux Wiki mentions &lt;a href=&quot;https://wiki.archlinux.org/title/XDG_user_directories#Querying_configured_directories&quot;&gt;here&lt;/a&gt; for the &lt;code&gt;xdg-user-dirs&lt;/code&gt; utility, by replacing the shell script with a C binary.&lt;/p&gt;



&lt;p&gt;Thanks to everyone who contributed to this release!&lt;/p&gt;</content>
	<author>
	  <name>Matthias</name>
	   <uri>https://blog.tenstral.net</uri> 
	</author>
	<source>
	  <title type="html">Debian – Ximions Blog</title>
	  <subtitle type="html">Yet another Wordpress weblog</subtitle>
	  <link rel="self" href="https://blog.tenstral.net/category/planet/planet-debian/feed"/>
	  <id>https://blog.tenstral.net</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">Home Battery</title>
	<link href="https://etbe.coker.com.au/2026/04/17/home-battery/"/>
	<id>https://etbe.coker.com.au/?p=5991</id>
	<updated>2026-04-17T12:58:23+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;h2&gt;Prices&lt;/h2&gt;
&lt;p&gt;On the 19th of March I got a home battery system installed. The government has a rebate scheme so it had a list price of about $22k for a 40kWh setup and cost me about $12k. It seems that 40KWh is the minimum usable size for the amount of electricity I use, I have 84 cores running BOINC when they have nothing better to do which is 585W of TDP according to Intel. While the CPUs are certainly using less than the maximum TDP (both due to design safety limits and the fact that I have disabled hyper-threading on all systems due to it providing minimal benefits and potential security issues) given some power usage by cooling fans and some inefficiency in PSUs I think that assuming that 585W is accounted for 24*7 by CPUs is reasonable. So my home draws between 800W and 1KW when no-one is home and with an electric car and all electric cooking a reasonable amount of electricity can be used.&lt;/p&gt;
&lt;p&gt;My bills prior to the battery installation were around $200/month which was based on charging my car only during sunny times as my electricity provider (Amber Electric) has variable rates based on wholesale prices. Also the feed in rates if my solar panels produce too much electricity in sunny times often go negative so if I don’t use enough electricity. I haven’t had the electric car long enough to find out what the bills might be in winter without a home battery.&lt;/p&gt;
&lt;p&gt;Before getting the battery my daily bills according to the Amber app were usually between $5 and $10. After getting it the daily bills have almost always been below $5. The only day where it’s been over $5 since the battery installation was when electricity was cheap and I fully charged the home battery and my car which used 50KWh in one day and cost $7.87 which is 16 cents per KWh. 16 cents isn’t the cheapest price (sometimes it gets as low as 10 cents) but is fairly cheap, sometimes even in the cheap parts of the day it doesn’t get that low (the cheapest price on the day I started writing this was 20 cents).&lt;/p&gt;
&lt;p&gt;So it looks like this may save me $100 per month, if so there will be a 10% annual return on investment on the $12K I spent. This makes it a good investment, better than repaying a mortgage (which is generally under 6%) and almost as good as the long term results of index tracker funds. However if it cost $22K (the full price without subsidy) then it would still be ok but wouldn’t be a great investment. The government subsidised batteries because the huge amount of power generated by rooftop solar systems was greater than the grid could use during the day in summer and batteries are needed to use that power when it’s dark.&lt;/p&gt;
&lt;h2&gt;Android App&lt;/h2&gt;
&lt;p&gt;The battery system is from Fox ESS and the FoxCloud 2.0 Android app is a bit lacking in functionality. It has a timer for mode setting with options “Self-use” (not clearly explained), “Feed-in Priority” (not explained but testing shows feeding everything in to the grid), “Back Up”, “Forced Charge”, and “Forced Discharge”. Currently I have “Forced Charge” setup for  most sunny 5 hours of the day for a maximum charge power of 5KW. I did that because about 25KW/day is what I need to cover everything and while the system can do almost 10KW that would charge the battery fully in a few hours and then electricity would be exported to the grid which would at best pay me almost nothing and at worst bill me for supplying electricity when they don’t want it. There doesn’t seem to be a “never put locally generated power into the grid unless the battery is full” option. The force charge mode allows stopping at a certain percentage, but when that is reached there is no fallback to another option. It would be nice if the people who designed the configuration could take as a baseline assumption that the macro programming in office suites and functions in spreadsheets are things that regular people are capable of using when designing the configuration options. I don’t think we need a Turing complete programming language in the app to control batteries (although I would use it if there was one), but I think we need clauses like “if battery is X% full then end this section”.&lt;/p&gt;
&lt;p&gt;There is no option to say “force charge until 100%” or “force charge for the next X minutes” as a one-off thing. If I came home in the afternoon with my car below 50% battery and a plan to do a lot of driving the next day then I’d want to force charge it immediately to allow charging the car overnight. But I can’t do that without entering a “schedule”. For Unix people imagine having to do everything via a cron job and no option to run something directly from the command-line.&lt;/p&gt;
&lt;p&gt;It’s a little annoying that they appear to have spent more development time on animations for the app than some of what should be core functionality.&lt;/p&gt;
&lt;h2&gt;Management&lt;/h2&gt;
&lt;p&gt;Amber has an option to allow my battery to be managed by them based on wholesale pries but I haven’t done that as the feed-in prices are very low. So I just charge my battery when electricity is cheap and use it for the rest of the day. There is usually a factor of 2 or more price difference between the middle of the day and night time so that saves money. It also means I don’t have to go out of my way to try and charge my car in the middle of the day. There is some energy lost in charging and discharging the batteries but it’s not a lot. I configured the system to force charge for the 5 sunniest hours every day for 5KW as that’s enough to keep it charged overnight and 5KW is greater than the amount of solar electricity produced on my house since I’ve been monitoring it so that forces it to all be used for the battery. In summer I might have to change that to 6KW for the sunniest 2 or 3 hours and then 4KW or 5KW surrounding that which will be a pain to manage.&lt;/p&gt;
&lt;p&gt;Instead of charging the car every day during sunny times I charge it once or twice a week, I have a 3.3KW charger and the car has a 40KWh battery so usually it takes me less than 10 hours to fully charge it and I get at least 5 hours of good sunlight in the process.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://foxesscommunity.com/viewtopic.php?t=2397&quot;&gt;There are people hacking on these devices which is interesting to get direct control from computers [1]&lt;/a&gt;, and apparently not banned from the official community for doing so. I’m not enthusiastic enough to do this, I’ve got plenty of other free software things to work on. But it’s good that others are doing so.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[1]&lt;a href=&quot;https://foxesscommunity.com/viewtopic.php?t=2397&quot;&gt; https://foxesscommunity.com/viewtopic.php?t=2397&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;yarpp yarpp-related yarpp-related-rss yarpp-template-list&quot;&gt;

&lt;p&gt;Related posts:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2014/02/24/car-charging-melbourne/&quot; rel=&quot;bookmark&quot; title=&quot;Electric Car Charging in Melbourne&quot;&gt;Electric Car Charging in Melbourne&lt;/a&gt; &lt;small&gt;This morning I noticed some parking bays reserved for car...&lt;/small&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2007/06/18/backup-for-wind-power/&quot; rel=&quot;bookmark&quot; title=&quot;Backup for Wind Power&quot;&gt;Backup for Wind Power&lt;/a&gt; &lt;small&gt;A question that people often ask about wind power (and...&lt;/small&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://etbe.coker.com.au/2007/03/22/power-saving/&quot; rel=&quot;bookmark&quot; title=&quot;power saving&quot;&gt;power saving&lt;/a&gt; &lt;small&gt;Adrian von Bidder made an interesting post in response to...&lt;/small&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content>
	<author>
	  <name>etbe</name>
	   <uri>https://etbe.coker.com.au</uri> 
	</author>
	<source>
	  <title type="html">etbe – Russell Coker</title>
	  <subtitle type="html">Linux, politics, and other interesting things</subtitle>
	  <link rel="self" href="https://etbe.coker.com.au/feed/"/>
	  <id>https://etbe.coker.com.au</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">ActBlue former IT boss disappearance: Decklin Foster &amp;amp; Debian, Harvard suicide lab, Chris Gleason is wife, whistleblower or both?</title>
	<link href="https://danielpocock.com/en/actblue-disappearance-decklin-foster-debian-former-it-chief-chris-gleason-wife/"/>
	<id>https://danielpocock.com/en/actblue-disappearance-decklin-foster-debian-former-it-chief-chris-gleason-wife</id>
	<updated>2026-04-16T20:30:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;
&lt;a href=&quot;https://danielpocock.com/en/category/actblue/&quot;&gt;
ActBlue&lt;/a&gt; is the online fundraising platform used by
&lt;a href=&quot;https://danielpocock.com/en/category/us-democrat/&quot;&gt;
US Democratic&lt;/a&gt; party candidates.  It is the subject of a major scandal
that has gripped the congress.  It has been linked to
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;, another disappearing developer and in a parody of other
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; scandals, there are possibly two people using the same name,
one being the wife of the missing developer and the other being a
US Senate candidate who claims to have exposed the
&lt;a href=&quot;https://danielpocock.com/en/category/actblue/&quot;&gt;
ActBlue scandal&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;These Github screenshots confirm that
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; was affiliated with
&lt;a href=&quot;https://danielpocock.com/en/category/actblue/&quot;&gt;
ActBlue&lt;/a&gt; and vanished in 2018:&lt;/p&gt;

&lt;img alt=&quot;Decklin Foster, ActBlue, Github, disappearance, director of Information Technology&quot; src=&quot;https://danielpocock.com/assets/people/decklin-t-foster/decklin-github-profile-1.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;Decklin Foster, ActBlue, Github, disappearance, director of Information Technology&quot; src=&quot;https://danielpocock.com/assets/people/decklin-t-foster/decklin-github-profile-2.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Accusations have been made about the concealment
of illegal foreign donations and deception of Congress.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/chris-gleason-republican/&quot;&gt;
Chris Gleason&lt;/a&gt; has nominated to represent Florida in the US Senate.
&lt;a href=&quot;https://danielpocock.com/en/people/chris-gleason-republican/&quot;&gt;
Gleason&lt;/a&gt; registered using a post office box and created a domain name,
&lt;em&gt;voteforgleason.com&lt;/em&gt; using an anonymous service in
&lt;a href=&quot;https://danielpocock.com/en/category/iceland/&quot;&gt;
Iceland&lt;/a&gt;.  &lt;a href=&quot;https://danielpocock.com/en/people/chris-gleason-republican/&quot;&gt;
Gleason&#39;s&lt;/a&gt; profile on
&lt;a href=&quot;https://danielpocock.com/en/category/twitter-x/&quot;&gt;
X/Twitter&lt;/a&gt; has no photo while their
&lt;a href=&quot;https://danielpocock.com/en/category/facebook/&quot;&gt;
Facebook&lt;/a&gt; profile is completely disabled.&lt;/p&gt;

&lt;img alt=&quot;Chris Gleason, Florida, Twitter, X, Senate, Republican&quot; src=&quot;https://danielpocock.com/assets/people/chris-gleason-republican/twitter-x-voteforgleason.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;Chris Gleason, Florida, Facebook, Senate, Republican&quot; src=&quot;https://danielpocock.com/assets/people/chris-gleason-republican/facebook-voteforgleason.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;A similar web site has been created at
&lt;a href=&quot;https://chris4florida.com/&quot;&gt;
&lt;em&gt;https://chris4florida.com/&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The phone number on
&lt;em&gt;voteforgleason.com&lt;/em&gt; and
&lt;em&gt;chris4florida.com&lt;/em&gt; goes to a pharmacy rather than a campaign
office.&lt;/p&gt;

&lt;p&gt;Nonetheless, I was able to verify
&lt;a href=&quot;https://danielpocock.com/en/people/chris-gleason-republican/&quot;&gt;
Christopher Gleason&lt;/a&gt; submitted a nomination that is registered with
the state officials.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/chris-gleason-republican/&quot;&gt;
Gleason&#39;s&lt;/a&gt; web site tells us:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
Chris Gleason built the forensic tools that exposed &lt;a href=&quot;https://danielpocock.com/en/category/actblue/&quot;&gt;ActBlue&#39;s&lt;/a&gt; billion-dollar money laundering operation. &lt;b&gt;His&lt;/b&gt; evidence ...
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;Therefore, the candidate
&lt;a href=&quot;https://danielpocock.com/en/people/chris-gleason-republican/&quot;&gt;
Gleason&lt;/a&gt; is not a pharmacist.&lt;/p&gt;

&lt;p&gt;So far, &lt;a href=&quot;https://danielpocock.com/en/people/chris-gleason-republican/&quot;&gt;Chris&lt;/a&gt; appears to be male, intermittently using the name &lt;a href=&quot;https://danielpocock.com/en/people/chris-gleason-republican/&quot;&gt;Christopher&lt;/a&gt; and the
masculin pronouns like &lt;em&gt;His&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;At the height of the
&lt;a href=&quot;https://danielpocock.com/en/category/debian-suicide-cluster/&quot;&gt;
Debian suicide cluster&lt;/a&gt;,
shortly before
&lt;a href=&quot;https://danielpocock.com/en/people/adrian-von-bidder-cmot/&quot;&gt;
Adrian von Bidder-Senn&lt;/a&gt; died on our wedding day
(&lt;a href=&quot;https://danielpocock.com/en/adrian-diana-von-bidder-senn-debian-detailed-history-death/&quot;&gt;
detailed report&lt;/a&gt;), another Debian Developer,
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; put all his packages up for adoption.&lt;/p&gt;

&lt;p&gt;Up to 2016, we can see that
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; was listed in the public filings of ActBlue Civics, Inc
as either a senior engineer or at one point, as
&lt;em&gt;Director of Information Technology&lt;/em&gt;.&lt;/p&gt;

&lt;img alt=&quot;Decklin Foster, ActBlue, Director of Information Technology, disappearance&quot; src=&quot;https://danielpocock.com/assets/people/decklin-t-foster/2014_ActBlue_Civics_Inc-p1.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;Decklin Foster, ActBlue, Director of Information Technology, disappearance&quot; src=&quot;https://danielpocock.com/assets/people/decklin-t-foster/2014_ActBlue_Civics_Inc-p6.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&#39;s&lt;/a&gt; activity on
&lt;a href=&quot;https://github.com/decklin?tab=overview&amp;amp;from=2018-04-01&amp;amp;to=2018-04-30&quot;&gt;
their Github profile&lt;/a&gt; stops abruptly in May 2018.&lt;/p&gt;

&lt;p&gt;ProPublic shows
&lt;a href=&quot;https://projects.propublica.org/527-explorer/expenditures/10453074&quot;&gt;
the last salary payment to Decklin Foster&#39;s bank account&lt;/a&gt; was in
July 2018.&lt;/p&gt;

&lt;img alt=&quot;Decklin Foster, ActBlue, Director of Information Technology, disappearance, salary&quot; src=&quot;https://danielpocock.com/assets/people/decklin-t-foster/2018-propublica-actblue-decklin-foster-salary.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; disappeared at almost the exact same time as
&lt;a href=&quot;https://danielpocock.com/en/people/arjen-kamphuis/&quot;&gt;
Arjen Kamphuis&lt;/a&gt;, author of the book on Information Security for
Investigative Journalists.
&lt;a href=&quot;https://danielpocock.com/en/arjen-kamphuis-last-years-disappearance-sixth-anniversary-press-freedom/&quot;&gt;
I was one of the last people to see Arjen before he vanished&lt;/a&gt;.
Remarkably, Arjen had even
&lt;a href=&quot;https://danielpocock.com/en/arjen-kamphuis-asked-me-for-protection-from-debian-before-disappearance/&quot;&gt;
asked me for protection&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On 1 January 2015,
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&#39;s&lt;/a&gt; PGP key was removed because it was only 1024 bits.
Most developers had created stronger keys before this mass removal of
insecure keys took place.&lt;/p&gt;

&lt;p&gt;In 2019, the
&lt;a href=&quot;https://danielpocock.com/en/category/debian-account-managers/&quot;&gt;
Debian Account Managers&lt;/a&gt; asked the keyring managers to completely remove
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; from the Debian keyring.  There was no
&lt;em&gt;Statement on Decklin Foster&lt;/em&gt; so far.&lt;/p&gt;

&lt;img alt=&quot;Decklin Foster, ActBlue, Director of Information Technology, disappearance, Debian keyring&quot; src=&quot;https://danielpocock.com/assets/people/decklin-t-foster/2019-10-09-nm-remove-decklin.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Clicking the links to see the statements about the removal does not
work.  An error message tells us the messages about
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&#39;s&lt;/a&gt; removal from
&lt;a href=&quot;https://danielpocock.com/en/category/debianism&quot;&gt;
debianism&lt;/a&gt; are all &lt;b&gt;private&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Foster&#39;s&lt;/a&gt; web site address is
&lt;a href=&quot;https://www.red-bean.com/decklin&quot;&gt;
https://www.red-bean.com/decklin&lt;/a&gt; and it is currently reporting
&quot;The requested URL was not found on this server.&quot;.  Thanks to the
Wayback Machine we can
&lt;a href=&quot;https://web.archive.org/web/20191011044301/http://www.red-bean.com/decklin/&quot;&gt;
find a snapshot from 2019&lt;/a&gt; which reveals an inconvenient truth:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
&lt;p&gt;If you’re interested in me, I have started &lt;a href=&quot;https://web.archive.org/web/20191011044301/https://plus.google.com/102017415603948066436&quot;&gt;using Google
Plus&lt;/a&gt;. If you’re interested in my work, I’m &lt;a href=&quot;https://web.archive.org/web/20191011044301/https://github.com/decklin/&quot;&gt;on Github&lt;/a&gt;. I was a &lt;a href=&quot;https://web.archive.org/web/20191011044301/http://www.debian.org/&quot;&gt;Debian&lt;/a&gt; developer for some time, but
I’ve mostly given that up. I currently work for &lt;a href=&quot;https://web.archive.org/web/20191011044301/http://secure.actblue.com/&quot;&gt;ActBlue&lt;/a&gt; and live in Cambridge, MA with
&lt;b&gt;&lt;a href=&quot;https://web.archive.org/web/20191011044301/http://cgleason.org/&quot;&gt;my wife&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;Clicking on &quot;my wife&quot;, we find the web site of &lt;em&gt;Chris Gleason&lt;/em&gt; at
&lt;a href=&quot;http://cgleason.org/&quot;&gt;
http://cgleason.org/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Reading
&lt;a href=&quot;https://cgleason.org/about-me&quot;&gt;
Gleason&#39;s about page&lt;/a&gt;, we find the pronoun &quot;they&quot;:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
chris gleason is a graphic designer, zine creator, and print maker in chicago, illinois. &lt;b&gt;they&lt;/b&gt; love ...
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;Therefore, the Debian Developer
(&lt;a href=&quot;https://danielpocock.com/en/what-is-a-debian-developer/&quot;&gt;
What is a Debian Developer?&lt;/a&gt;) who was Director of Information Technology
for
&lt;a href=&quot;https://danielpocock.com/en/category/actblue/&quot;&gt;
ActBlue&lt;/a&gt; was married to a female or transgender
&lt;a href=&quot;https://danielpocock.com/en/people/christina-gleason-foster/&quot;&gt;
Chris Gleason&lt;/a&gt;.  Is this the same person as the elusive male
&lt;a href=&quot;https://danielpocock.com/en/people/chris-gleason-republican/&quot;&gt;
Chris Gleason&lt;/a&gt; who is now running for the US Senate in Florida on
claims about corruption at
&lt;a href=&quot;https://danielpocock.com/en/category/actblue/&quot;&gt;
ActBlue&lt;/a&gt;?  Or is it simply a bizarre coincidence that two people so
closely connected with this scandal share the same name?&lt;/p&gt;

&lt;p&gt;Remember the
&lt;a href=&quot;https://juristgate.com/en/swiss-pimp-usurping-reputation-of-legendary-tissot-boss-francois-thiebaud-from-france-baselworld-swatch-group/&quot;&gt;
case of Francois Thiébaud, the pimp who usurped the reputation of the
legendary boss of Tissot SA&lt;/a&gt;?  They both have
&lt;a href=&quot;https://juristgate.com/en/swiss-pimp-usurping-reputation-of-legendary-tissot-boss-francois-thiebaud-from-france-baselworld-swatch-group/&quot;&gt;
the same name too&lt;/a&gt; but they are different people.&lt;/p&gt;

&lt;img alt=&quot;Francois Thiebaud, Tissot, NBA&quot; src=&quot;https://danielpocock.com/assets/people/francois-thiebaud-tissot/francois-thiebaud-nba-1.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;Francois Thiebaud, Tissot, NBA&quot; src=&quot;https://danielpocock.com/assets/people/francois-thiebaud-tissot/francois-thiebaud-nba-2.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In 2017, the &lt;em&gt;Trans Women Writers Collective&lt;/em&gt; published the book
&lt;a href=&quot;https://transreads.org/wp-content/uploads/2024/12/2024-12-20_67651f7ae94ee_NamelessWoman.pdf&quot;&gt;
&lt;em&gt;Nameless Woman&lt;/em&gt;&lt;/a&gt;, written by trans women of colour.  In the credits,
the trans women thank
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
This anthology was made possible by the
generous support of hundreds of people. In
particular, we would like to thank Annaya Youkai, Kieran Todd, Sadie Laett-Babcock, Adelaida
Shelley, Jaime Peschiera, Kai Cheng Thom, Talon
Wilde, David Cope, Alex Meginnis, &lt;b&gt;Decklin Foster&lt;/b&gt;,
and Eli Nelson for their help.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;Here are photos from the respective online profiles of
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/christina-gleason-foster/&quot;&gt;
Chris Gleason&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Decklin Foster&lt;/h3&gt;

&lt;img alt=&quot;Decklin Foster, ActBlue&quot; src=&quot;https://danielpocock.com/assets/people/decklin-t-foster/decklin-foster-yt.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;Decklin Foster, ActBlue&quot; src=&quot;https://danielpocock.com/assets/people/decklin-t-foster/decklin-github.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;Chris Gleason&lt;/h3&gt;

&lt;img alt=&quot;Chris Gleason, ActBlue&quot; src=&quot;https://danielpocock.com/assets/people/christina-gleason-foster/chris-gleason-about.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;img alt=&quot;Chris Gleason, Florida, Senate, Republican, ActBlue, whistleblower&quot; src=&quot;https://danielpocock.com/assets/people/chris-gleason-republican/cgleason.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;They don&#39;t look too similar but who knows.  Anything is possible in
America today.&lt;/p&gt;

&lt;p&gt;In 2017,
&lt;a href=&quot;https://static1.squarespace.com/static/59b7fa9f0abd04a338381080/t/63c726cce4a92a3547db857f/1673995990383/76_Facts_digital.pdf&quot;&gt;
Bitch Magazine&lt;/a&gt; included
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; in a list of donors.&lt;/p&gt;

&lt;p&gt;In 1999, at the time
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; was recruited by
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;, they had a home page at
&lt;a href=&quot;https://web.archive.org/web/19991004011331/http://members.home.com/decklin/&quot;&gt;&lt;em&gt;
http://members.home.com/decklin/&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Shortly after, the page moved to
&lt;a href=&quot;https://web.archive.org/web/20010104203100/http://www.red-bean.com/~decklin/&quot;&gt;&lt;em&gt;
http://www.red-bean.com/~decklin/&lt;/em&gt;&lt;/a&gt; and that eventually evolved to
&lt;a href=&quot;http://www.red-bean.com/decklin/&quot;&gt;&lt;em&gt;
http://www.red-bean.com/decklin/&lt;/em&gt;&lt;/a&gt;.  The last good capture of the
&lt;a href=&quot;https://web.archive.org/web/20191011044301/https://www.red-bean.com/decklin/&quot;&gt;
site at the Wayback machine was 11 October 2019&lt;/a&gt;.  It looks like
they disabled the web site after that date.&lt;/p&gt;

&lt;p&gt;On 22 July 1999,
&lt;a href=&quot;https://danielpocock.com/en/people/raphael-hertzog/&quot;&gt;
Raphael Hertzog&lt;/a&gt;, known for the
&lt;a href=&quot;https://danielpocock.com/en/category/freexian/&quot;&gt;
Freexian scandals&lt;/a&gt; wrote a message asking people to do unpaid work
on orphaned packages in the hope that their application to become a
&lt;a href=&quot;https://danielpocock.com/en/what-is-a-debian-developer/&quot;&gt;
Debian Developer&lt;/a&gt; would be approved more quickly:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;To: debian-devel-announce@lists.debian.org, debian-devel@lists.debian.org, debian-qa@lists.debian.org, debian-mentors@lists.debian.org
Subject: [New maintainer] Working for Debian and becoming a registered Debian developer
From: &lt;a href=&quot;https://danielpocock.com/en/people/raphael-hertzog/&quot;&gt;Raphael Hertzog&lt;/a&gt; &amp;lt;rhertzog@hrnet.fr&amp;gt;
Date: Thu, 22 Jul 1999 18:06:26 +0200

[ Large crosspost to start the discussion, please reply to debian-devel
  only. Simply respect the reply-to. ]

Hello everybody,

you may or not be aware that getting a Debian developer is quite long. I
want to propose a solution to facilitate the integration of new
Debian developers.

It&#39;s quite simple. In order to fully learn how Debian works, the best
solution is :
- to adopt orphaned packages and correct their bugs
- that your work should be checked by an official developer (I&#39;ll call
  it the sponsor).

Of course, as long you&#39;re not a registered Debian developers you cannot
upload your packages. The soluton is that the sponsor will upload the
package you&#39;ll do. The official maintainer will be
debian-qa@lists.debian.org. After all when you correct bugs on orphaned
packages, you&#39;re doing Quality Assurance.

This does also allow you to get new bugs in your mailbox. You just need
to subscribe to debian-qa@lists.debian.org. You would be allowed to
open/close/set the severity/forward the bugs since all debian-qa members
can do it on debian-qa packages.

If the sponsor finds that you&#39;ve done a good job with the package, he
will explain that to the new maintainer team in the hope that your
application will be processed faster. And when you&#39;ll be
official Debian developper, you&#39;ll be able to change the Maintainer field
to your name.

I&#39;ll propose myself to be a sponsor. We&#39;ll need more sponsor ... any
volunteers ? Hopefully several people from debian-qa will accept to be
sponsor like me ...

All the future Debian developers interested should also reply ...

Any input appreciated !

Cheers,
-- 
&lt;a href=&quot;https://danielpocock.com/en/people/raphael-hertzog/&quot;&gt;Hertzog Raphaël&lt;/a&gt; &amp;gt;&amp;gt; 0C4CABF1 &amp;gt;&amp;gt; http://prope.insa-lyon.fr/~rhertzog/
&lt;/pre&gt;

&lt;p&gt;
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; was one of the people recruited by those tactics.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;To: debian-devel@lists.debian.org
Cc: debian-mentors@lists.debian.org
Subject: Re: [New maintainer] Working for Debian and becoming a registered Debian developer
From: &lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;Decklin Foster&lt;/a&gt; &amp;lt;decklin@home.com&amp;gt;
Date: Thu, 22 Jul 1999 13:39:13 -0400

Raphael Hertzog writes:

&amp;gt; Of course, as long you&#39;re not a registered Debian developers you cannot
&amp;gt; upload your packages. The soluton is that the sponsor will upload the
&amp;gt; package you&#39;ll do. The official maintainer will be
&amp;gt; debian-qa@lists.debian.org. After all when you correct bugs on orphaned
&amp;gt; packages, you&#39;re doing Quality Assurance.

Sounds good, I&#39;ll subscribe right after I finish writing this. I&#39;m
also trying to work on non-orphaned backages as well (for example
right now i&#39;m fixing a bug in gsfonts-x11.) So keep in mind that you
can always just send patches :)

-- 
Debian GNU/Linux - http://www.debian.org/
The Web is to graphic design as the fax machine is to literature.
&lt;/pre&gt;

&lt;p&gt;Not only was
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin&lt;/a&gt; under the influence of
&lt;a href=&quot;https://danielpocock.com/en/people/raphael-hertzog/&quot;&gt;
Hertzog&lt;/a&gt;, they were also under the influnce of the
&lt;a href=&quot;https://danielpocock.com/en/influencers-red-hat-inc-ipo-1999-post-mortem-on-the-directed-share-offer-community-open-source-developers/&quot;&gt;
Red Hat share offer&lt;/a&gt;.  This email encourages speculation on the
IPO:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;To: debian-devel@lists.debian.org
Subject: Re: SPAM from Red Hat
From: &lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;Decklin Foster&lt;/a&gt; &amp;lt;decklin@home.com&amp;gt;
Date: Wed, 21 Jul 1999 09:57:45 -0400

&lt;a href=&quot;https://danielpocock.com/en/people/martin-bialasinski-martinb/&quot;&gt;Martin Bialasinski&lt;/a&gt; writes:

&amp;gt; is it only me, or did you also get this &lt;a href=&quot;https://danielpocock.com/en/influencers-red-hat-inc-ipo-1999-post-mortem-on-the-directed-share-offer-community-open-source-developers/&quot;&gt;spam from Red Hat&lt;/a&gt; about stock
&amp;gt; options?
&amp;gt; 
&amp;gt; Oh man - the bigger the company, the less clueful people?

On #debian last night, it was suggested that we use our opportunity to
buy some of this stock and sell it when the price goes up. This money
could then be used to fund Debian, buy new hardware, improve our
network connection, etc. Does anyone else think this is a Good
Idea(TM)? I would be willing to donate as much as I reasonably could.

-- 
Debian GNU/Linux - http://www.debian.org/
The Web is to graphic design as the fax machine is to literature.
&lt;/pre&gt;

&lt;p&gt;Of interest to those watching the
&lt;a href=&quot;https://danielpocock.com/en/category/actblue/&quot;&gt;
ActBlue saga&lt;/a&gt;, there is an email about hacking and cracking:&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;To: debian-devel@lists.debian.org
Subject: Re: [New maintainer] Working for Debian and becoming a registered Debian developer
From: &lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;Decklin Foster&lt;/a&gt; &amp;lt;decklin@home.com&amp;gt;
Date: Thu, 22 Jul 1999 16:37:40 -0400

&lt;a href=&quot;https://danielpocock.com/en/people/carl-mummert/&quot;&gt;Carl Mummert&lt;/a&gt; writes:

&amp;gt; Hacking is a serious crime

Cracking is a serious crime. Breaking into computer systems without
permission is a serious crime. Violation of privacy and theft of
confidential information is a serious crime.

Now what does this have to do with hacking?

&amp;gt; The fact remains that the debian policy is to discourage new
&amp;gt; developers by making it slow and difficult to get an account.

I have no problem with waiting, and I&#39;d rather not look bad just
because some people keep speaking badly about the new-maintainer team.
We don&#39;t need another flamewar here. People have work to do.

-- 
Debian GNU/Linux - http://www.debian.org/
The Web is to graphic design as the fax machine is to literature.
&lt;/pre&gt;

&lt;p&gt;The
&lt;a href=&quot;https://nm.debian.org/legacy/process/12954/&quot;&gt;
New Maintainer report&lt;/a&gt; tells us they entered the process in the same
month, their application manager was
&lt;a href=&quot;https://danielpocock.com/en/people/craig-small-csmall/&quot;&gt;
Craig Small&lt;/a&gt; and they completed the process in July/August 2000.
The advocacies and the application manager (AM) report are all
&lt;a href=&quot;https://lists.debian.org/debian-newmaint-discuss/&quot;&gt;
missing from the mailing list archives&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;They had a page at
&lt;a href=&quot;https://web.archive.org/web/20080515195131/https://people.debian.org/~decklin/&quot;&gt;&lt;em&gt;
https://people.debian.org/~decklin/&lt;/em&gt;&lt;/a&gt; but that has been inaccessible
ever since the peak of the
&lt;a href=&quot;https://danielpocock.com/en/category/debian-suicide-cluster/&quot;&gt;
Debian suicide cluster&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;They had a blog on another web site.  It is captured in the Wayback
machine up to 2012.  The last snapshot with the index is here:
&lt;a href=&quot;https://web.archive.org/web/20120107035737/http://blog.rupamsunyata.org/&quot;&gt;&lt;em&gt;
http://blog.rupamsunyata.org/&lt;/em&gt;&lt;/a&gt;.  The last blog post:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
&lt;h3&gt;I&#39;m the fuel that fires the engine of Failure&lt;/h3&gt;
&lt;p&gt;So, the Democrats in my very blue state put up a depressing, entitled, out-of-touch candidate for our vacant senate seat and she lost. The only reason I voted for her was because she wasn&#39;t a Republican. Supporting someone you don&#39;t even slightly like is psychologically draining.&lt;/p&gt;

&lt;p&gt;At this point, I would vote for a Democratic party (or a Republican party!) with the exact same fiscal policy as the current Republicans if they actually made a principled, moral stand on equal protection and civil rights, habeas corpus/due process, and reproductive rights. Those don&#39;t cost anything[1].&lt;/p&gt;

&lt;p&gt;Maybe they should be solved before the stuff that does cost billions of dollars. As it is my choice is weak, almost grudging support for those rights from people who want to hand the economy over to the government, and disgusting, immoral, vehement opposition to them from people who want to hand the economy over to wealthy corporations.&lt;/p&gt;

&lt;p&gt;Neither side is doing anything effective to keep us free, or to keep the market free. Each side says or implies that this is a Christian nation, which it explicitly isn&#39;t, while failing to do what&#39;s right. Sometimes I want to give up and stop voting.&lt;/p&gt;

&lt;p&gt;[1]	Conversely, of course, it doesn&#39;t cost anything to take people&#39;s rights away, or prevent them from getting rights in the first place; I think this is why anti-gay-marriage ballot measures have been more successful in the current recession. Some people get their kicks from the suffering of others.&lt;/p&gt;
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;Accessing the blog from 2013 onwards we can see
&lt;a href=&quot;https://web.archive.org/web/20130214221204/http://blog.rupamsunyata.org/&quot;&gt;
the front page&lt;/a&gt; has been replaced with the message:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
This blog is not being updated. Old entries are still around, but I&#39;m turning off the front page for now.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;From there, we could find a link to
&lt;a href=&quot;https://web.archive.org/web/20080906133011/http://decklin.livejournal.com/profile&quot;&gt;
Decklin Foster on LiveJournal&lt;/a&gt;.  Their profile tells us they like
#Debian-women.  Don&#39;t forget the
&lt;a href=&quot;https://danielpocock.com/en/category/debian-pregnancy-cluster/&quot;&gt;
Debian pregnancy cluster&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There is a link to a
&lt;a href=&quot;https://web.archive.org/web/20080906133011/http://twitter.com/decklin&quot;&gt;
Twitter/X account for Decklin Foster&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;contributors.debian.org&lt;/em&gt; tells us that
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; stopped contributing in February 2011, immediately
before the
&lt;a href=&quot;https://danielpocock.com/en/adrian-diana-von-bidder-senn-debian-detailed-history-death/&quot;&gt;
death of Adrian von Bidder-Senn&lt;/a&gt; on our wedding day.
&lt;a href=&quot;https://danielpocock.com/en/people/christina-gleason-foster/&quot;&gt;
Chris Gleason&lt;/a&gt; is not on the list at all.  If
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin&lt;/a&gt; had abandoned
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt;, why did it take eight years to remove them from the keyring?
Reading the full history of the
&lt;a href=&quot;https://danielpocock.com/en/debian-history-harassment-abuse-culture-evolution/&quot;&gt;
Debian Harassment culture&lt;/a&gt;, we can see many other co-authors were
removed for purely political reasons and blackmail but keys belonging to the
people who had abandoned the project and people who died were left in
the keyring for years.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;To: debian-devel &amp;lt;debian-devel@lists.debian.org&amp;gt;
Subject: RFA: all my packages
From: &lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;Decklin Foster&lt;/a&gt; &amp;lt;decklin@red-bean.com&amp;gt;
Date: Thu, 10 Feb 2011 17:11:05 -0500
Message-id: &amp;lt;1297375750-sup-7355@gillespie.rupamsunyata.org&amp;gt;

I&#39;m looking for a new maintainer for, well, any of these. &lt;b&gt;My heart is
not in it anymore&lt;/b&gt; and most of them have been neglected for a while.
Recently my free time has been taken up by other things (mainly my job)
and I forsee that continuing.

http://qa.debian.org/developer.php?login=decklin%40red-bean.com

python-beautifulsoup and mpd need attention for proposed-updates; I
missed getting them into Squeeze. rxvt-unicode is a total clusterfuck.

If any desktop-type packages remain I will orphan them, as I am only
running Debian on servers now. Apart from that, perhaps with a greatly
reduced load I can still make a tiny contribution to the community. If
not, I will retire.

-- 
things change.
decklin@red-bean.com
&lt;/pre&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; is on a list of former members of
&lt;a href=&quot;https://cdasr.mclean.harvard.edu/lab-members/former/&quot;&gt;
Harvard&#39;s Center for Depression, Anxiety and Stress Research&lt;/a&gt;.
They have a photo of him when he was younger.  It appears to be the
same person as the Github profile.
&lt;/p&gt;

&lt;p&gt;Various scholarly articles from Harvard experts on depression have
thanked
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; for their contributions in 2008 and 2009.
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; was collaborating on this world-class depression
research at exactly the same time they were part of the
&lt;em&gt;debian-private&lt;/em&gt; discussions that precipitated the
&lt;a href=&quot;https://danielpocock.com/en/why-did-frans-pop-choose-debian-day-for-suicide/&quot;&gt;
Debian Day Volunteer Suicide in 2010&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pizzagalli, Diego A., Avram J. Holmes, Daniel G. Dillon, Elena L. Goetz, Jeffrey L. Birk, Ryan
Bogdan, Darin D. Dougherty, Dan V. Iosifescu, Scott L. Rauch, and Maurizio Fava. 2009.
&lt;a href=&quot;https://dash.harvard.edu/server/api/core/bitstreams/7312037c-78a1-6bd4-e053-0100007fdf3b/content&quot;&gt;Reduced Caudate and Nucleus Accumbens Response to Rewards in Unmedicated
Individuals With Major Depressive Disorder.&lt;/a&gt; The American Journal of Psychiatry 166:
702-710. 2008&lt;/li&gt;

&lt;li&gt;Deveney, Christen M., and Diego A. Pizzagalli. 2008. &lt;a href=&quot;https://dash.harvard.edu/server/api/core/bitstreams/7312037c-6488-6bd4-e053-0100007fdf3b/content&quot;&gt;The cognitive consequences of
emotion regulation: An ERP investigation.&lt;/a&gt; Psychophysiology 45(3): 435-444.&lt;/li&gt;

&lt;li&gt;Wacker, Jan, Daniel G. Dillon, and Diego A. Pizzagalli. 2009. &lt;a href=&quot;https://dash.harvard.edu/server/api/core/bitstreams/7312037c-5cc9-6bd4-e053-0100007fdf3b/content&quot;&gt;The role of the nucleus
accumbens and rostral anterior cingulate cortex in anhedonia: Integration of resting EEG,
fMRI, and volumetric techniques.&lt;/a&gt; Neuroimage 46, no. 1: 327-337.&lt;/li&gt;
&lt;li&gt;Diane L. Santesso, Daniel G. Dillon, Jeffrey L. Birk, Avram J. Holmes, Elena Goetz,
Ryan Bogdan, Diego A. Pizzagalli. 2008. &lt;a href=&quot;https://bogdanlab.com/pdf/Santesso_NI08.pdf&quot;&gt;Individual differences in reinforcement learning: Behavioral, electrophysiological,
and neuroimaging correlates&lt;/a&gt; - NeuroImage&lt;/li&gt;
&lt;li&gt;Daniel G. Dillon, Ryan Bogdan, Jesen Fagerness, Avram J. Holmes,
Roy H. Perlis, and Diego A. Pizzagalli, 2010 - &lt;a href=&quot;https://depressioninstitute.uci.edu/wp-content/uploads/sites/37/dillon_hbm10.pdf&quot;&gt;Variation in TREK1 Gene Linked to DepressionResistant Phenotype is Associated with Potentiated
Neural Responses to Rewards in Humans&lt;/a&gt; - Human Brain Mapping 31:210–221&lt;/li&gt;
&lt;li&gt;Santesso DL, Bogdan R, Birk JL, Goetz EL, Holmes AJ, Pizzagalli DA. &lt;a href=&quot;https://pmc.ncbi.nlm.nih.gov/articles/PMC3475354/pdf/nsr054.pdf&quot;&gt;Neural responses to negative feedback are related to negative emotionality in healthy adults&lt;/a&gt; - Soc Cogn Affect Neurosci. 2012 Oct;7(7):794-803. doi: 10.1093/scan/nsr054. Epub 2011 Sep 14. PMID: 21917847; PMCID: PMC3475354.&lt;/li&gt;
&lt;/ul&gt;

&lt;img alt=&quot;Decklin Foster, Harvard, Mclean, Depression, suicide, Diego Pizzagalli&quot; src=&quot;https://danielpocock.com/assets/people/decklin-t-foster/pizzagalli-credit.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;The connection to psychiatric research is a really odd coincidence,
given that
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin&lt;/a&gt; sent that RFA (resignation) email immediately before
&lt;a href=&quot;https://danielpocock.com/en/adrian-diana-von-bidder-senn-debian-detailed-history-death/&quot;&gt;
the death of Adrian von Bidder-Senn on our wedding day&lt;/a&gt;.  The death was
&lt;a href=&quot;https://danielpocock.com/en/adrian-diana-von-bidder-senn-debian-detailed-history-death/&quot;&gt;
discussed like a suicide&lt;/a&gt;.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Re: Death of &lt;a href=&quot;https://danielpocock.com/en/people/adrian-von-bidder-cmot/&quot;&gt;Adrian von Bidder&lt;/a&gt;
Date: Fri, 22 Apr 2011 09:39:49 +0200
From: &lt;a href=&quot;https://danielpocock.com/en/people/andrea-mennucci-mennucc1/&quot;&gt;A Mennucc&lt;/a&gt; &amp;lt;mennucc1@debian.org&amp;gt;
To: debian-private@lists.debian.org

Il 19/04/2011 18:17, &lt;a href=&quot;https://danielpocock.com/en/people/martin-krafft-madduck/&quot;&gt;martin f krafft&lt;/a&gt; ha scritto:
&amp;gt; Dear Debian colleagues,
&amp;gt;
&amp;gt; I have the sad task to communicate to you the news of the death of
&amp;gt; &lt;a href=&quot;https://danielpocock.com/en/people/adrian-von-bidder-cmot/&quot;&gt;Adrian von Bidder (avbidder, cmot)&lt;/a&gt;, who passed away last Sunday,
&amp;gt; most probably of a heart attack.

I had contacted &lt;a href=&quot;https://danielpocock.com/en/people/adrian-von-bidder-cmot/&quot;&gt;Adrian&lt;/a&gt; regarding the Debian umbrella.
So I had also a chance of seeing a picture of him
http://blog.fortytwo.ch/archives/80-Yay!-Debian-Logo!.html
In that picture he seemed quite happy and young.
His death is quite shocking and sad.

a.
&lt;/pre&gt;

&lt;p&gt;Remember,
&lt;a href=&quot;https://danielpocock.com/en/psychiatrist-occupational-therapist-debian-toxic-culture-recognized-before-suicides-germanwings/&quot;&gt;
Debianists admitted the group needed a psychiatrist back in 2006&lt;/a&gt;, well
before most of the deaths.&lt;/p&gt;

&lt;p&gt;Around the same time,
&lt;a href=&quot;https://danielpocock.com/en/adrian-von-bidder-homeworking-debian-unexplained-deaths/&quot;&gt;
a petition about suicide prevention was submitted to the Basel city
council and it had the name A. von Bidder at the bottom&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; himself is missing.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/william-lee-irwin-wli/&quot;&gt;
William Lee Irwin III&lt;/a&gt; was another
&lt;a href=&quot;https://danielpocock.com/en/what-is-a-debian-developer/&quot;&gt;
Debian Developer&lt;/a&gt; who asked for help and then vanished.&lt;/p&gt;

&lt;p&gt;There is a
&lt;a href=&quot;https://www.youtube.com/user/decklinfoster&quot;&gt;
Decklin Foster profile on Youtube&lt;/a&gt; that hasn&#39;t been used for nine
years.  There are four subscribers.  One of the videos has the
comment:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
&lt;p&gt;Mixed these together on my show (editsradio.org) this week and really liked the result, so here it is on its own, slowed down and a little extended.&lt;/p&gt;

&lt;p&gt;Photo taken at the Wilbur Theater in Boston on 2012-07-31.&lt;/p&gt;
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;The last snapshot of
&lt;a href=&quot;https://web.archive.org/web/20150406235126/http://editsradio.org/&quot;&gt;&lt;em&gt;editsradio.org&lt;/em&gt;&lt;/a&gt; is on 6 April 2015.  After that, the content is
changed to Arabic.  From 15 August 2015,  it is redirecting to another site,
also in Arabic, at
&lt;a href=&quot;https://web.archive.org/web/20151022170759/http://www.17serialbaran.org/&quot;&gt;&lt;em&gt;
http://www.17serialbaran.org&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;img alt=&quot;Decklin Foster&quot; src=&quot;https://danielpocock.com/assets/people/decklin-t-foster/editsradio-arabic.png&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In January 2015,
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; &amp;amp;
&lt;a href=&quot;https://danielpocock.com/en/people/christina-gleason-foster/&quot;&gt;
Chris Gleason&lt;/a&gt; are listed as a couple
&lt;a href=&quot;https://danielpocock.com/assets/people/decklin-t-foster/JanFeb_2015-sm.pdf&quot;&gt;
as new members of the Brattle Theatre, Cambridge, Massachusetts&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Later in 2015, a report from the World Science Fiction Society
&lt;a href=&quot;https://danielpocock.com/assets/people/decklin-t-foster/PR_4.pdf&quot;&gt;
lists Decklin Foster as a new member&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.spokeo.com/Christina-Gleason/Illinois/Chicago/p30414512051&quot;&gt;
Spokeo has a report about Christina N Gleason-Foster in Chicago, IL&lt;/a&gt;
with a former address in Cambridge, MA, the same location as
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Going back to 2013, when the blog vanished,
&lt;a href=&quot;https://www.universalhub.com/2013/house-blues-turns-down-heat-adds-ice-water&quot;&gt;
Universal Hub published a report &quot;House of Blues turns down the heat, adds ice water for electronica shows due to Molly scourge&quot;&lt;/a&gt;.
This is not about
&lt;a href=&quot;https://danielpocock.com/en/people/molly-de-blanc-mollydb/&quot;&gt;
Molly de Blanc&lt;/a&gt; it is about the Molly pills.
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; drops a comment in the discussion:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
This sounds like a bad idea. You really don&#39;t want to give huge amounts of water to MDMA users
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;There is a
&lt;a href=&quot;https://www.linkedin.com/in/cpgleason/&quot;&gt;
LinkedIn profile for Chris Gleason in Pinellas County&lt;/a&gt;, in
&lt;a href=&quot;https://danielpocock.com/en/category/florida/&quot;&gt;
Florida&lt;/a&gt;, not far from
&lt;a href=&quot;https://danielpocock.com/en/people/jeremy-bicha-jbicha/&quot;&gt;
Jeremy Bícha&lt;/a&gt;, the
&lt;a href=&quot;https://danielpocock.com/en/category/registered-sex-offender/&quot;&gt;
Registered Sex Offender&lt;/a&gt; who was invited to speak at
&lt;a href=&quot;https://danielpocock.com/en/category/debconf25/&quot;&gt;
DebConf25&lt;/a&gt; in Brest,
&lt;a href=&quot;https://danielpocock.com/en/category/france/&quot;&gt;
France&lt;/a&gt;.  Looking at the photo on LinkedIn, is this an older version of
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&#39;s&lt;/a&gt; wife who has transitioned back to being a man or is it
a completely different person?&lt;/p&gt;

&lt;p&gt;It would be extremely offensive to ask such a question in any other
group of people but in the world of
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/category/zizian/&quot;&gt;
Zizian&lt;/a&gt; phenomena, there are a disproportionate number of people who
are living such lifestyles.&lt;/p&gt;

&lt;img alt=&quot;Chris Gleason, Pinellas County, Florida, Republican, Senate&quot; src=&quot;https://danielpocock.com/assets/people/chris-gleason-republican/chris-gleason-linkedin.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Let&#39;s not forget the example of another
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; transgender bedmate with at least five identities, that was
&lt;a href=&quot;https://danielpocock.com/en/people/pauline-pommeret/&quot;&gt;
Pauline / Maria Climent / Pommeret&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The
&lt;a href=&quot;https://danielpocock.com/en/people/chris-gleason-republican/&quot;&gt;
Republican Chris Gleason&lt;/a&gt; has a
&lt;a href=&quot;https://ballotpedia.org/Chris_Gleason_(Florida)&quot;&gt;
profile on Ballotpedia&lt;/a&gt; where they claim to have come from
Massachusetts, the same Democrat state where we found
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
Chris Gleason was born in Lowell, Massachusetts. Gleason&#39;s career experience includes working as a technology consultant. He served in the U.S. Army National Guard from 1989 to 1999. Gleason earned a bachelor&#39;s degree from the University of Massachusetts, Lowell in 1996. Gleason has been affiliated with Caribbean Christian Center for the Deaf, Michigan -Make-A-Wish, Seniors Helping Seniors.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;In the recent UK elections, journalists and researchers found various
examples of candidates who didn&#39;t really exist.  At least one political
party was accused of making up fake candidates to make their party
look bigger and attract more donations.&lt;/p&gt; 

&lt;p&gt;I have the impression the
&lt;a href=&quot;https://danielpocock.com/en/people/chris-gleason-republican/&quot;&gt;
Chris Gleason&lt;/a&gt; in
&lt;a href=&quot;https://danielpocock.com/en/category/florida/&quot;&gt;
Florida&lt;/a&gt; is a different
person but I&#39;m not ruling out the possibility it is a fake profile
or an alter-ego of
&lt;a href=&quot;https://danielpocock.com/en/people/christina-gleason-foster/&quot;&gt;
Chris Gleason&lt;/a&gt;, wife of
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The
&lt;a href=&quot;https://danielpocock.com/en/category/actblue/&quot;&gt;
ActBlue crisis&lt;/a&gt; is real however.  Here is a
&lt;a href=&quot;https://judiciary.house.gov/sites/evo-subsites/republicans-judiciary.house.gov/files/2025-04/04.02.25_FRAUD_ON_ACTBLUE_HOW_THE_DEMOCRATS_TOP_FUNDRAISING_PLATFORM_OPENS_THE_DOOR_FOR_ILLEGAL_ELECTION_CONTRIBUTIONS_w_appendix.pdf&quot;&gt;
committee report on the US house web site&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
The Committee on House Administration, the Committee on the Judiciary, and the
Committee on Oversight and Government Reform are charged with ensuring the integrity of American elections. To that end, the Committees are examining allegations that ActBlue, a leading political fundraising organization, allowed bad actors, including foreign actors, to exploit its online platform to make fraudulent political donations.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;There is a
&lt;a href=&quot;https://me.sh/profile/chris-gleason&quot;&gt;
profile on Mesh that tells us about Gleason&#39;s career and finishes with
a paragraph about the election fraud claims&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
&lt;h3&gt;Chris Gleason&lt;/h3&gt;
&lt;h4&gt;CEO at NextMed Holdings, LLC CEO at Translational Analytics and Statistics, LLC&lt;/h4&gt;
&lt;p&gt;Chris Gleason is a board member at Our Mayberry, a company focused on revolutionizing charitable giving and fundraising.1 He is a lawyer, entrepreneur, and community philanthropist with multiple leadership roles in charities helping children.3 Gleason has also been involved in various business ventures and has held executive positions in different companies.&lt;/p&gt;

&lt;p&gt;In addition to his role at Our Mayberry, Gleason has served as a board member for the Goldwater Institute since 2013.5 He was also recently appointed as the president and CEO of Moximed, a medical device company, in June 2024.2&lt;/p&gt;

&lt;p&gt;Gleason has a background in sales leadership, having previously worked as VP of sales at Relievant and VP of sales of interventional urology at Teleflex.2 He has also been involved in political activities, receiving income from Election Watch, a Wisconsin-based group, in 2024.4&lt;/p&gt;

&lt;p&gt;&lt;b&gt;It&#39;s worth noting that Gleason has recently entered the political arena, running for the position of Pinellas County Supervisor of Elections in Florida for the 2024 election. His campaign has been controversial, as he has made unsubstantiated claims about election fraud and criticized the incumbent, Julie Marcus.&lt;/b&gt;&lt;/p&gt;
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;On 10 April 2026,
&lt;a href=&quot;https://miamiindependent.com/politics/2026/04/10/florida-election-fraud-dynamic-duo-chris-gleason-jeff-buongiorno/&quot;&gt;
Miami Independent published a video&lt;/a&gt; where they interview
&lt;a href=&quot;https://danielpocock.com/en/people/chris-gleason-republican/&quot;&gt;
Chris Gleason&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/jeff-buongiorno-florida/&quot;&gt;
Jeff Buongiorno&lt;/a&gt; about vote rigging allegations.  The
&lt;a href=&quot;https://danielpocock.com/en/category/cia/&quot;&gt;
CIA&lt;/a&gt; is mentioned within the first ninety seconds of the video.  I
stopped watching at that point.&lt;/p&gt;

&lt;img alt=&quot;Chris Gleason, Jeff Buongiorno, ActBlue, Florida, Senate, Republican&quot; src=&quot;https://danielpocock.com/assets/people/chris-gleason-republican/gleason-buongiorno.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In the case of another Debian Developer,
&lt;a href=&quot;https://danielpocock.com/en/people/paul-tagliamonte-paultag/&quot;&gt;
Paul Tagliamonte&lt;/a&gt;, he really was working in the White House and the
Pentagon.  We have a photo to prove it:&lt;/p&gt;

&lt;img alt=&quot;Lisa Disbrow, David L. Goldfein, Chris Lynch, Paul Tagliamonte, Debian, USDS, Rebellion&quot; src=&quot;https://danielpocock.com/assets/people/paul-tagliamonte-paultag/paul-tag-air-force.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/chris-gleason-republican/&quot;&gt;
Chris Gleason&#39;s&lt;/a&gt; campaign web site has the title
&lt;em&gt;Whistleblower&lt;/em&gt; in big letters.  This implies he was an insider
or he was connected to an insider, in other words, his claim to be
a whistleblower encourages us to ask about the bizarre possibility that he
really is or was the transgender wife of
&lt;a href=&quot;https://danielpocock.com/en/category/actblue/&quot;&gt;
ActBlue&#39;s&lt;/a&gt; missing director of
information technology,
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If that was true, did his/her domestic arrangements give them
unauthorized access to servers, laptops or cloud accounts for
&lt;a href=&quot;https://danielpocock.com/en/category/actblue/&quot;&gt;
ActBlue&lt;/a&gt;?  I was very grateful to receive
&lt;a href=&quot;https://danielpocock.com/en/george-pell-fileserver-three-finance-ministers-peter-eckersley/&quot;&gt;
donations of file servers from the Catholic archdiocese of Melbourne&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;Take a side-step and have a look at the other
&lt;a href=&quot;https://danielpocock.com/en/category/florida/&quot;&gt;
Florida&lt;/a&gt; connection with the
&lt;a href=&quot;https://danielpocock.com/en/category/us-republican/&quot;&gt;
US Republican party&lt;/a&gt;.  In the report about
&lt;a href=&quot;https://danielpocock.com/en/axel-beckert-martin-ebnoether-debian-dirty-men/&quot;&gt;
Senior management and HR email privacy: Martin Ebnoether (venty), Axel Beckert (xtaran) &amp;amp; Debian abuse in Switzerland&lt;/a&gt;, I made the observation that
&lt;a href=&quot;https://danielpocock.com/en/people/axel-beckert-xtaran/&quot;&gt;
Axel Beckert&#39;s&lt;/a&gt; boyfriend and I both worked at the same company.
The owner of that company is one of the top donors of the
&lt;a href=&quot;https://danielpocock.com/en/category/us-republican/&quot;&gt;
US Republican party&lt;/a&gt; and he lives three doors away from Mar-a-Lago,
the home of current US President
&lt;a href=&quot;https://danielpocock.com/en/people/donald-trump/&quot;&gt;
Donald Trump&lt;/a&gt;.  Trump himself was elected for the first time on my
birthday and
&lt;a href=&quot;https://danielpocock.com/en/which-movie-most-accurately-forecasts-the-trump-presidency/&quot;&gt;
I correctly predicted there would be conflict in the Strait of Hormuz&lt;/a&gt;.&lt;/p&gt;

&lt;img alt=&quot;Martin Ebnoether, venty, Zurich, Interactive Brokers&quot; src=&quot;https://danielpocock.com/assets/people/martin-ebnoether-venty/linkedin-1.jpg&quot; width=&quot;100%&quot; /&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin&lt;/a&gt; was using Gists,
&lt;a href=&quot;https://gist.github.com/decklin&quot;&gt;
they also stopped abruptly in 2017&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;em&gt;Red-Bean.com&lt;/em&gt; web site has a
&lt;a href=&quot;https://red-bean.com/people.html&quot;&gt;
list of people associated with their web site and Decklin&#39;s name is not
on the list&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mylife.com/decklin-foster/e229581426456&quot;&gt;Decklin Foster on mylife.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.reunion.com/p/decklin-foster-r259a2854c&quot;&gt;Decklin Foster on reunion.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether &lt;em&gt;they&lt;/em&gt; are the same &lt;a href=&quot;https://danielpocock.com/en/people/christina-gleason-foster/&quot;&gt;
Chris Gleason&lt;/a&gt; or not, we can say for sure
that the
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; from
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; is the same
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; who became Director of Information Technology for
disgraced fundraising platform
&lt;a href=&quot;https://danielpocock.com/en/category/actblue/&quot;&gt;
ActBlue Civics, Inc&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here is one more interesting leak from the
&lt;em&gt;debian-private&lt;/em&gt; leaked gossip network.  It shows us that
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt; was in favor of the practice of dividing the community
and humiliating people.  It looks like he supported the humiliation of
&lt;a href=&quot;https://danielpocock.com/en/people/sven-luther/&quot;&gt;
Sven Luther&lt;/a&gt; at the very time he was working in the Harvard Medical
School&#39;s depression research team.  Sven&#39;s mother was dying at the time
this bun fight erupted.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Expulsion process: Sven Luther
Date: Thu, 01 Mar 2007 00:00:29 +0100
From: &lt;a href=&quot;https://danielpocock.com/en/people/joerg-jaspert-ganneff/&quot;&gt;Joerg Jaspert&lt;/a&gt; &amp;lt;joerg@debian.org&amp;gt;
Organization: Goliath-BBS
To: debian-private@lists.debian.org

...

Now, the list of people who sent something in for the process:

Anthony - Requestor

Supporters, unordered:

srivasta@debian.org
mbanck@debian.org
tbm@cyrius.com
93sam@debian.org
fs@debian.org
jgoerzen@complete.org
fjp@debian.org
dilinger@debian.org
joeyh@debian.org
liw@iki.fi
stappers@stappers.nl
tolimar@debian.org
jeroen@wolffelaar.nl
tfheen@debian.org
micah@riseup.net
&lt;b&gt;decklin@red-bean.com&lt;/b&gt;
tb@becket.net
tytso.mit.edu
&lt;/pre&gt;

&lt;p&gt;The conflict between
&lt;a href=&quot;https://danielpocock.com/en/people/sven-luther/&quot;&gt;
Sven Luther&lt;/a&gt; and
&lt;a href=&quot;https://danielpocock.com/en/people/frans-pop-fjp/&quot;&gt;
Frans Pop&lt;/a&gt; appears to be a factor in the eventual suicide of
&lt;a href=&quot;https://danielpocock.com/en/people/frans-pop-fjp/&quot;&gt;
Frans Pop&lt;/a&gt;.  The whole group failed.&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: [Very long] Post-partem rant and retrospective
Date: Thu, 31 May 2007 03:56:11 +0200
From: &lt;a href=&quot;https://danielpocock.com/en/people/frans-pop-fjp/&quot;&gt;Frans Pop&lt;/a&gt; &amp;lt;elendil@planet.nl&amp;gt;
To: debian-private@lists.debian.org


I&#39;ve decided to write this in a separate mail because I&#39;m afraid this may get long. Quite a bit of this has been written before, but I hope some of you will bear with me.


[snip]


So, what has made me decide to leave the project. It&#39;s a combination of just plain emotional stress over the whole Sven Luther issue, frustration with the inability of the project to deal with that and with some other issues, and frustration with the fact that a fair number of members of the project seem to feel that as long as you don&#39;t upload packages with trojans, pretty much anything is OK.
&lt;/pre&gt;

&lt;p&gt;and eventually....&lt;/p&gt;

&lt;pre style=&quot;white-space: pre-wrap;&quot;&gt;Subject: Resignation
Date: Sun, 15 Aug 2010 21:41:18 +0200
From: &lt;a href=&quot;https://danielpocock.com/en/people/frans-pop-fjp/&quot;&gt;Frans Pop&lt;/a&gt; &amp;lt;elendil@planet.nl&amp;gt;
To: debian-private@lists.debian.org


It&#39;s time to say goodbye. I don&#39;t want to say too much about it, except that I&#39;ve been planning this for a long time.


Participating in Debian has been great.

...
&lt;/pre&gt;

&lt;p&gt;To see all the leaked messages from &lt;em&gt;debian-private&lt;/em&gt;,
including the history of
&lt;a href=&quot;https://danielpocock.com/en/people/decklin-t-foster/&quot;&gt;
Decklin Foster&lt;/a&gt;, please see
&lt;a href=&quot;https://danielpocock.com/en/donate/&quot;&gt;
my crowdfunding campaign video&lt;/a&gt;.&lt;/p&gt;</content>
	<author>
	  <name>Daniel Pocock</name>
	   <uri>https://danielpocock.com/</uri> 
	</author>
	<source>
	  <title type="html">Daniel Pocockâ€™s personal blog | Debian</title>
	  <subtitle type="html">{&quot;de&quot;=&amp;gt;&quot;Softwareentwickler, Free Software-Berater, Debian-Entwickler&quot;, &quot;en&quot;=&amp;gt;&quot;Software engineer, Free, Open Source Software Consultant, Innovator, Fedora &amp;amp; Debian Developer&quot;, &quot;es&quot;=&amp;gt;&quot;Ingeniera de software, Consultor de software libre, Desarrollador Debian&quot;, &quot;fr&quot;=&amp;gt;&quot;Ingénieur logiciel, developeur du logiciel libré, Developeur du Debian&quot;, &quot;it&quot;=&amp;gt;&quot;Ingegnere informatico, Consulente di software libero, Sviluppatore Debian&quot;}</subtitle>
	  <link rel="self" href="https://danielpocock.com/feed/debian.xml"/>
	  <id>https://danielpocock.com/feed/debian.xml</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Terrorism or accident? Geelong Corio refinery fire, drone attack rumours in news vacuum</title>
	<link href="https://danielpocock.com/en/terrorism-or-accident-geelong-corio-refinery-fire-drone-attack-rumours-news-vacuum/"/>
	<id>https://danielpocock.com/en/terrorism-or-accident-geelong-corio-refinery-fire-drone-attack-rumours-news-vacuum</id>
	<updated>2026-04-15T19:30:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;At 11pm local time in eastern Australia, a huge fire broke out at
the Viva Energy refinery in Corio, Geelong.&lt;/p&gt;

&lt;p&gt;There has been a near-total news vacuum.  This may be deliberate or it
may be a consequence of cost-cutting that has replaced many journalists with
&lt;a href=&quot;https://danielpocock.com/en/category/artificial-intelligence/&quot;&gt;
artificial intelligence&lt;/a&gt;.  The few human journalists who remain in
the profession may have already gone to bed when the fire started.&lt;/p&gt;

&lt;p&gt;The national broadcaster, the ABC, was quick to include it in their
list of breaking news items but without much detail.  About three hours
after the fire started, it was present on the web site of 9 News but
not visible on the web sites of 7 News, Herald Sun or The Age.  About
five hours after the fire started, the local newspaper Geelong Advertiser
included it in their
&lt;a href=&quot;https://danielpocock.com/en/category/facebook/&quot;&gt;
Facebook&lt;/a&gt; account.&lt;/p&gt;

&lt;p&gt;The story is newsworthy for a number of reasons.
&lt;a href=&quot;https://danielpocock.com/en/category/australia/&quot;&gt;
Australia&lt;/a&gt; previously had eight refineries but six of them were
phased out and never replaced.
&lt;a href=&quot;https://danielpocock.com/en/category/australia/&quot;&gt;
Australia&lt;/a&gt; relies on foreign refineries for over eighty percent of
fuel.  With the Corio refinery out of action, there is only one domestic
refinery left.  Therefore, it is surprising the news media have been
so slow to pick up the story.&lt;/p&gt;

&lt;p&gt;The next big reason it is newsworthy is the war in
&lt;a href=&quot;https://danielpocock.com/en/category/iran/&quot;&gt;
Iran&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;None of the news reports have commented on the fact that
&lt;a href=&quot;https://danielpocock.com/en/people/richard-marles/&quot;&gt;
Richard Marles&lt;/a&gt;, the deputy prime minister and the minister for defence
is the local member of parliament for the region where the refinery
is located.&lt;/p&gt;

&lt;p&gt;In the news vacuum, people have been quick to share rumours on
&lt;a href=&quot;https://danielpocock.com/en/category/social-control-media/&quot;&gt;
social control media&lt;/a&gt;.  Some people are speculating about the
prospect of a drone attack.  In Europe last year there were reports about
&lt;a href=&quot;https://danielpocock.com/en/category/russia/&quot;&gt;
Russian&lt;/a&gt; drones launched from cargo ships in international waters and
interfering with European airports.  Other reports have speculated about
cargo ships using their anchors to sabotage pipelines and communications
cables on the sea floor.
&lt;a href=&quot;https://danielpocock.com/en/category/france/&quot;&gt;
France&lt;/a&gt; intercepted and seized a ship connected with
&lt;a href=&quot;https://danielpocock.com/en/category/russia/&quot;&gt;
Russia&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Another user on
&lt;a href=&quot;https://danielpocock.com/en/category/social-control-media/&quot;&gt;
social control media&lt;/a&gt; has commented that there was a technical incident
at the plant earlier in the day and the fire could be nothing more
than an accident.&lt;/p&gt;

&lt;p&gt;People would be wise not to jump to conclusions.  Even if it is a
terror attack, it may not be
&lt;a href=&quot;https://danielpocock.com/en/category/iran/&quot;&gt;
Iran&lt;/a&gt;.  In recent news reports,
&lt;a href=&quot;https://danielpocock.com/en/category/russia/&quot;&gt;
Russia&lt;/a&gt; announced they had the right to attack any countries who
are sending support to
&lt;a href=&quot;https://danielpocock.com/en/category/ukraine/&quot;&gt;
Ukraine&lt;/a&gt;.  The French company Thales manufacturers the BushMaster
armored personnel carriers in
&lt;a href=&quot;https://danielpocock.com/en/category/bendigo/&quot;&gt;
Bendigo&lt;/a&gt; and the government donated some of them to
&lt;a href=&quot;https://danielpocock.com/en/category/ukraine/&quot;&gt;
Ukraine&lt;/a&gt;.  Low cost cardboard drones manufactured in
&lt;a href=&quot;https://danielpocock.com/en/category/australia/&quot;&gt;
Australia&lt;/a&gt; have also been donated to
&lt;a href=&quot;https://danielpocock.com/en/category/ukraine/&quot;&gt;
Ukraine&lt;/a&gt;.&lt;/p&gt;</content>
	<author>
	  <name>Daniel Pocock</name>
	   <uri>https://danielpocock.com/</uri> 
	</author>
	<source>
	  <title type="html">Daniel Pocockâ€™s personal blog | Debian</title>
	  <subtitle type="html">{&quot;de&quot;=&amp;gt;&quot;Softwareentwickler, Free Software-Berater, Debian-Entwickler&quot;, &quot;en&quot;=&amp;gt;&quot;Software engineer, Free, Open Source Software Consultant, Innovator, Fedora &amp;amp; Debian Developer&quot;, &quot;es&quot;=&amp;gt;&quot;Ingeniera de software, Consultor de software libre, Desarrollador Debian&quot;, &quot;fr&quot;=&amp;gt;&quot;Ingénieur logiciel, developeur du logiciel libré, Developeur du Debian&quot;, &quot;it&quot;=&amp;gt;&quot;Ingegnere informatico, Consulente di software libero, Sviluppatore Debian&quot;}</subtitle>
	  <link rel="self" href="https://danielpocock.com/feed/debian.xml"/>
	  <id>https://danielpocock.com/feed/debian.xml</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Looking for work</title>
	<link href="http://blog.sesse.net/blog/tech/2026-04-14-17-44_looking_for_work.html"/>
	<id>http://blog.sesse.net/blog/tech/2026-04-14-17-44_looking_for_work.html</id>
	<updated>2026-04-14T16:44:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;It seems my own plans and life&#39;s plans diverged this spring,
so I am in the market for a new job. So if you&#39;re looking for
someone with a long track record making your code go brrr
really fast, give me a ping (contact information at
&lt;a href=&quot;https://www.sesse.net&quot;&gt;my homepage&lt;/a&gt;). Working from Oslo
(on-site or remote), CV available upon request. No AI boosterism
or cryptocurrency grifters, please :-)&lt;/p&gt;</content>
	<author>
	  <name>Steinar H. Gunderson</name>
	   <uri>http://blog.sesse.net/</uri> 
	</author>
	<source>
	  <title type="html">Steinar H. Gunderson</title>
	  <subtitle type="html">sesse&#39;s blog</subtitle>
	  <link rel="self" href="http://blog.sesse.net/blog/tech/?flav=rss"/>
	  <id>http://blog.sesse.net/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Free software activity in March 2026</title>
	<link href="https://www.chiark.greenend.org.uk/~cjwatson/blog/activity-2026-03.html"/>
	<id>tag:www.chiark.greenend.org.uk,2026-04-12:/~cjwatson/blog/activity-2026-03.html</id>
	<updated>2026-04-12T10:13:15+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;My Debian contributions this month were all &lt;a href=&quot;https://www.freexian.com/about/debian-contributions/&quot;&gt;sponsored&lt;/a&gt; by Freexian.&lt;/p&gt;
&lt;p&gt;You can also support my work directly via &lt;a href=&quot;https://liberapay.com/cjwatson&quot;&gt;Liberapay&lt;/a&gt; or &lt;a href=&quot;https://github.com/sponsors/cjwatson&quot;&gt;GitHub Sponsors&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;OpenSSH&lt;/h2&gt;
&lt;p&gt;I fixed &lt;a href=&quot;https://security-tracker.debian.org/tracker/CVE-2026-3497&quot;&gt;&lt;span class=&quot;caps&quot;&gt;CVE&lt;/span&gt;-2026-3497&lt;/a&gt; in unstable, thanks to a fix in Ubuntu by Marc Deslauriers.  Relatedly, I applied an Ubuntu patch by Athos Ribeiro to &lt;a href=&quot;https://bugs.debian.org/1131206&quot;&gt;not default to weak &lt;span class=&quot;caps&quot;&gt;GSS&lt;/span&gt;-&lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; exchange algorithms&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I’m looking forward to being able to split out &lt;span class=&quot;caps&quot;&gt;GSS&lt;/span&gt;-&lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; key exchange support in OpenSSH once Ubuntu 26.04 &lt;span class=&quot;caps&quot;&gt;LTS&lt;/span&gt; has been released!  This stuff will still be my problem, but at least it won’t be in packages that &lt;a href=&quot;https://qa.debian.org/popcon.php?package=openssh&quot;&gt;nearly everyone has installed&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Python packaging&lt;/h2&gt;
&lt;p&gt;New upstream versions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;dill&lt;/li&gt;
&lt;li&gt;django-modeltranslation&lt;/li&gt;
&lt;li&gt;isort&lt;/li&gt;
&lt;li&gt;langtable&lt;/li&gt;
&lt;li&gt;pathos&lt;/li&gt;
&lt;li&gt;pendulum&lt;/li&gt;
&lt;li&gt;pox&lt;/li&gt;
&lt;li&gt;ppft&lt;/li&gt;
&lt;li&gt;pydantic-extra-types&lt;/li&gt;
&lt;li&gt;pytango&lt;/li&gt;
&lt;li&gt;python-asyncssh&lt;/li&gt;
&lt;li&gt;python-datamodel-code-generator&lt;/li&gt;
&lt;li&gt;python-evalidate&lt;/li&gt;
&lt;li&gt;python-packaging (including fixes for python-hatch-requirements-txt and python-pyproject-examples)&lt;/li&gt;
&lt;li&gt;python-zxcvbn-rs-py&lt;/li&gt;
&lt;li&gt;rpds-py&lt;/li&gt;
&lt;li&gt;smart-open&lt;/li&gt;
&lt;li&gt;trove-classifiers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I packaged &lt;a href=&quot;https://bugs.debian.org/1130121&quot;&gt;pybind11-stubgen&lt;/a&gt;, needed for new upstream versions of pytango.  Tests of reproducible builds revealed that it didn’t generate imports in a stable order; I &lt;a href=&quot;https://github.com/pybind/pybind11-stubgen/pull/293&quot;&gt;contributed a fix for that upstream&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I worked with the security team to release &lt;a href=&quot;https://lists.debian.org/debian-security-announce/2026/msg00070.html&quot;&gt;&lt;span class=&quot;caps&quot;&gt;DSA&lt;/span&gt;-6161-1&lt;/a&gt; in multipart, fixing &lt;a href=&quot;https://security-tracker.debian.org/tracker/CVE-2026-28356&quot;&gt;&lt;span class=&quot;caps&quot;&gt;CVE&lt;/span&gt;-2026-28356&lt;/a&gt; (&lt;a href=&quot;https://github.com/defnull/multipart/security/advisories/GHSA-p2m9-wcp5-6qw3&quot;&gt;upstream discussion&lt;/a&gt;).  (Most of the work for this was in February, but the vulnerability was still embargoed when I published my last monthly update.)&lt;/p&gt;
&lt;p&gt;In trixie-backports, I updated pytest-django to 4.12.0.&lt;/p&gt;
&lt;p&gt;I fixed a number of packages to support building with pyo3 0.28:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pendulum&lt;/li&gt;
&lt;li&gt;pydantic-core&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1131586&quot;&gt;python-jellyfish&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;python-zxcvbn-rs-py&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1131590&quot;&gt;rpds-py&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Other build/test failures:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1130519&quot;&gt;python-bcrypt: Upcoming rust-getrandom update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1131677&quot;&gt;python-cotengrust: &lt;span class=&quot;caps&quot;&gt;FTBFS&lt;/span&gt;: error[E0432]: unresolved import &lt;code&gt;rand::rngs::OsRng&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1127499&quot;&gt;austin: &lt;span class=&quot;caps&quot;&gt;FTBFS&lt;/span&gt;: E ModuleNotFoundError: No module named ‘pycparser.plyparser’&lt;/a&gt; (&lt;a href=&quot;https://github.com/P403n1x87/austin/pull/349&quot;&gt;contributed upstream&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1122488&quot;&gt;taurus: &lt;span class=&quot;caps&quot;&gt;FTBFS&lt;/span&gt;: dh_auto_build: error: pybuild —build -i python{version} -p “3.14 3.13” returned exit code 13&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1129211&quot;&gt;python-datamodel-code-generator: Depends: python3-isort (&amp;lt; 8) but 8.0.0-1 is to be installed&lt;/a&gt; (&lt;a href=&quot;https://github.com/koxudaxi/datamodel-code-generator/pull/3011&quot;&gt;contributed upstream&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Rust packaging&lt;/h2&gt;
&lt;p&gt;New upstream versions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;rust-rpds&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Other bits and pieces&lt;/h2&gt;
&lt;p&gt;I upgraded tango to 10.1.2, and yubihsm-shell to 2.7.2.&lt;/p&gt;
&lt;h2&gt;Code reviews&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1130913&quot;&gt;python-backports.zstd: Obsolete with Python 3.14&lt;/a&gt; (sponsored partial fix from &lt;span class=&quot;caps&quot;&gt;YOKOTA&lt;/span&gt; Hiroshi)&lt;/li&gt;
&lt;/ul&gt;</content>
	<author>
	  <name>Colin Watson</name>
	   <uri>https://www.chiark.greenend.org.uk/~cjwatson/blog/</uri> 
	</author>
	<source>
	  <title type="html">Colin Watson&#39;s blog - planet-debian</title>
	  
	  <link rel="self" href="https://www.chiark.greenend.org.uk/~cjwatson/blog/feeds/tag/planet-debian.atom.xml"/>
	  <id>https://www.chiark.greenend.org.uk/~cjwatson/blog/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Reproducible Builds in March 2026</title>
	<link href="https://reproducible-builds.org/reports/2026-03/"/>
	<id>https://reproducible-builds.org/reports/2026-03/</id>
	<updated>2026-04-10T16:13:12+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p class=&quot;lead&quot;&gt;&lt;strong&gt;Welcome to the March 2026 report from the &lt;a href=&quot;https://reproducible-builds.org&quot;&gt;Reproducible Builds&lt;/a&gt; project!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://reproducible-builds.org/&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://reproducible-builds.org/images/reports/2026-03/reproducible-builds.png#right&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These reports outline what we’ve been up to over the past month, highlighting items of news from elsewhere in the increasingly-important area of software supply-chain security. As ever, if you are interested in contributing to the Reproducible Builds project, please see the &lt;a href=&quot;https://reproducible-builds.org/contribute/&quot;&gt;&lt;em&gt;Contribute&lt;/em&gt;&lt;/a&gt; page on our website.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;https://reproducible-builds.org/blog/index.rss#linux-kernel-hash-based-integrity-checking-proposed&quot;&gt;Linux kernel hash-based integrity checking proposed&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://reproducible-builds.org/blog/index.rss#distribution-work&quot;&gt;Distribution work&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://reproducible-builds.org/blog/index.rss#tool-development&quot;&gt;Tool development&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://reproducible-builds.org/blog/index.rss#upstream-patches&quot;&gt;Upstream patches&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://reproducible-builds.org/blog/index.rss#documentation-updates&quot;&gt;Documentation updates&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://reproducible-builds.org/blog/index.rss#two-new-academic-papers&quot;&gt;Two new academic papers&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://reproducible-builds.org/blog/index.rss#misc-news&quot;&gt;Misc news&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;linux-kernel-hash-based-integrity-checking-proposed&quot;&gt;Linux kernel hash-based integrity checking proposed&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://lore.kernel.org/lkml/20260113-module-hashes-v4-0-0b932db9b56b@weissschuh.net/&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://reproducible-builds.org/images/reports/2026-03/tux.png#right&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Eric Biggers posted to the &lt;a href=&quot;https://lkml.org/&quot;&gt;Linux Kernel Mailing List&lt;/a&gt; in response to a &lt;a href=&quot;https://lore.kernel.org/lkml/20260113-module-hashes-v4-0-0b932db9b56b@weissschuh.net/&quot;&gt;patch series posted by Thomas Weißschuh&lt;/a&gt; to introduce a calculated hash-based system of integrity checking to complement the existing &lt;em&gt;signature&lt;/em&gt;-based approach. Thomas’ &lt;a href=&quot;https://lore.kernel.org/lkml/20260113-module-hashes-v4-0-0b932db9b56b@weissschuh.net/&quot;&gt;original post&lt;/a&gt; mentions:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The current signature-based module integrity checking has some drawbacks in combination with reproducible builds. Either the module signing key is generated at build time, which makes the build unreproducible, or a static signing key is used, which precludes rebuilds by third parties and makes the whole build and packaging process much more complicated.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;However, &lt;a href=&quot;https://lore.kernel.org/lkml/20260311011218.GA212983@quark/&quot;&gt;Eric’s followup message&lt;/a&gt; goes further:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;I think this actually undersells the feature. It’s also much simpler than the signature-based module authentication. The latter relies on PKCS#7, X.509, ASN.1, OID registry, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;crypto_sig&lt;/code&gt; API, etc in addition to the implementations of the actual signature algorithm (RSA / ECDSA / ML-DSA) and at least one hash algorithm.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h3 id=&quot;distribution-work&quot;&gt;Distribution work&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://debian.org/&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://reproducible-builds.org/images/reports/2026-03/debian.png#right&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In Debian this month,&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Lucas Nussbaum &lt;a href=&quot;https://lists.debian.org/debian-devel-announce/2026/03/msg00004.html&quot;&gt;announced &lt;em&gt;Debaudit&lt;/em&gt;&lt;/a&gt;, a “new service to verify the reproducibility of Debian source packages”:&lt;/p&gt;

    &lt;blockquote&gt;
      &lt;p&gt;&lt;em&gt;debaudit&lt;/em&gt; complements the work of the Reproducible Builds project. While &lt;a href=&quot;https://reproduce.debian.net/&quot;&gt;reproduce.debian.net&lt;/a&gt; focuses on ensuring that binary packages can be bit-for-bit reproduced from their source packages, &lt;em&gt;debaudit&lt;/em&gt; focuses on the preceding step: ensuring that the source package itself is a faithful and reproducible representation of its upstream source or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Vcs-Git&lt;/code&gt; repository.&lt;/p&gt;
    &lt;/blockquote&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;em&gt;kpcyrd&lt;/em&gt; &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1130772&quot;&gt;filed a bug against the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;librust-const-random-dev&lt;/code&gt; package&lt;/a&gt; reporting that the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;compile-time-rng&lt;/code&gt; feature of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ahash&lt;/code&gt; crate uses the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;const-random&lt;/code&gt; crate in turn, which uses a macro to read/generate a random number generator during the build. This issue was also &lt;a href=&quot;https://github.com/jonhoo/flurry/issues/135&quot;&gt;filed upstream&lt;/a&gt;.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;60 reviews of Debian packages were added, 4 were updated and 16 were removed this month adding to &lt;a href=&quot;https://tests.reproducible-builds.org/debian/index_issues.html&quot;&gt;our knowledge about identified issues&lt;/a&gt;. One new issue types was added, &lt;a href=&quot;https://salsa.debian.org/reproducible-builds/reproducible-notes/commit/e1457606&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pkgjs_lock_json_file_issue&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://www.opensuse.org/&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://reproducible-builds.org/images/reports/2026-03/opensuse.png#right&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lastly, Bernhard M. Wiedemann posted another &lt;a href=&quot;https://www.opensuse.org/&quot;&gt;&lt;strong&gt;openSUSE&lt;/strong&gt;&lt;/a&gt; &lt;a href=&quot;https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/Y4UFWITC7EWEMPU2LCE7BIMNXUQW5CNI/&quot;&gt;monthly update&lt;/a&gt; for their work there.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h3 id=&quot;tool-development&quot;&gt;Tool development&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://diffoscope.org/&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://reproducible-builds.org/images/reports/2026-03/diffoscope.png#right&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://diffoscope.org&quot;&gt;&lt;strong&gt;diffoscope&lt;/strong&gt;&lt;/a&gt; is our in-depth and content-aware diff utility that can locate and diagnose reproducibility issues. This month, Chris Lamb made a number of changes, including preparing and uploading versions, &lt;a href=&quot;https://tracker.debian.org/news/1729381/accepted-diffoscope-314-source-into-unstable/&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;314&lt;/code&gt;&lt;/a&gt; and &lt;a href=&quot;https://tracker.debian.org/news/1732739/accepted-diffoscope-315-source-into-unstable/&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;315&lt;/code&gt;&lt;/a&gt; to Debian.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Chris Lamb:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;Don’t run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;test_code_is_black_clean&lt;/code&gt; test in the autopkgtests. (&lt;a href=&quot;https://bugs.debian.org/1130402&quot;&gt;#1130402&lt;/a&gt;). [&lt;a href=&quot;https://salsa.debian.org/reproducible-builds/diffoscope/commit/fbdc9b0d&quot;&gt;…&lt;/a&gt;]&lt;/li&gt;
      &lt;li&gt;Add some debugging info for PyPI debugging. [&lt;a href=&quot;https://salsa.debian.org/reproducible-builds/diffoscope/commit/e881f4fa&quot;&gt;…&lt;/a&gt;]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Jelle van der Waa:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;Fix compatibility with &lt;a href=&quot;https://llvm.org/&quot;&gt;LLVM&lt;/a&gt; version 22. [&lt;a href=&quot;https://salsa.debian.org/reproducible-builds/diffoscope/commit/6ea43da2&quot;&gt;…&lt;/a&gt;]&lt;/li&gt;
      &lt;li&gt;Adjust the PGP file detection regular expression. [&lt;a href=&quot;https://salsa.debian.org/reproducible-builds/diffoscope/commit/1bb658f7&quot;&gt;…&lt;/a&gt;]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Michael R. Crusoe:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;Reformat the source code using &lt;a href=&quot;https://github.com/psf/black&quot;&gt;Black&lt;/a&gt; version 26.1.0 [&lt;a href=&quot;https://salsa.debian.org/reproducible-builds/diffoscope/commit/3906fd77&quot;&gt;…&lt;/a&gt;][&lt;a href=&quot;https://salsa.debian.org/reproducible-builds/diffoscope/commit/9adf36d5&quot;&gt;…&lt;/a&gt;]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In addition, Vagrant Cascadian &lt;a href=&quot;https://codeberg.org/guix/guix/commit/61849b667726dd30d623b517380f5b12655b115a&quot;&gt;updated &lt;em&gt;diffoscope&lt;/em&gt; in GNU Guix to version &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;315&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://reproduce.debian.net&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://reproducible-builds.org/images/reports/2026-03/reproduce.debian.net.png#right&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/kpcyrd/rebuilderd&quot;&gt;&lt;strong&gt;rebuilderd&lt;/strong&gt;&lt;/a&gt;, our server designed monitor the official package repositories of Linux distributions and attempt to reproduce the observed results there; it powers, amongst other things, &lt;a href=&quot;https://reproduce.debian.net/&quot;&gt;&lt;em&gt;reproduce.debian.net&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A new version, &lt;a href=&quot;https://github.com/kpcyrd/rebuilderd/releases/tag/v0.26.0&quot;&gt;0.26.0&lt;/a&gt;, was released this month, with the following improvements:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Much smoother onboarding/installation.&lt;/li&gt;
  &lt;li&gt;Complete database redesign with many improvements.&lt;/li&gt;
  &lt;li&gt;New REST HTTP API.&lt;/li&gt;
  &lt;li&gt;It’s now possible to artificially delay the first reproduce attempt. This gives archive infrastructure more time to catch up.&lt;/li&gt;
  &lt;li&gt;And &lt;a href=&quot;https://github.com/kpcyrd/rebuilderd/releases/tag/v0.26.0&quot;&gt;many, many other changes&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h3 id=&quot;upstream-patches&quot;&gt;Upstream patches&lt;/h3&gt;

&lt;p&gt;The Reproducible Builds project detects, dissects and attempts to fix as many currently-unreproducible packages as possible. We endeavour to send all of our patches upstream where appropriate. This month, we wrote a large number of such patches, including:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Bernhard M. Wiedemann:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://github.com/wilsonzlin/minify-html/pull/275&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;minify&lt;/code&gt;&lt;/a&gt; (rust random HashMap) / (&lt;a href=&quot;https://github.com/wilsonzlin/minify-html/pull/276&quot;&gt;alternative&lt;/a&gt; by &lt;em&gt;kpcyrd&lt;/em&gt;)&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://github.com/openSUSE/rpm-config-SUSE/pull/95&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rpm-config-SUSE&lt;/code&gt;&lt;/a&gt; (toolchain)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Chris Lamb:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1129544&quot;&gt;#1129544&lt;/a&gt; filed against &lt;a href=&quot;https://tracker.debian.org/pkg/python-nxtomomill&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;python-nxtomomill&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1130622&quot;&gt;#1130622&lt;/a&gt; filed against &lt;a href=&quot;https://tracker.debian.org/pkg/dh-fortran&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dh-fortran&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1130623&quot;&gt;#1130623&lt;/a&gt; filed against &lt;a href=&quot;https://tracker.debian.org/pkg/python-discovery&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;python-discovery&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1130666&quot;&gt;#1130666&lt;/a&gt; filed against &lt;a href=&quot;https://tracker.debian.org/pkg/kanboard&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;kanboard&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1131168&quot;&gt;#1131168&lt;/a&gt; filed against &lt;a href=&quot;https://tracker.debian.org/pkg/moltemplate&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;moltemplate&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1131384&quot;&gt;#1131384&lt;/a&gt; filed against &lt;a href=&quot;https://tracker.debian.org/pkg/stacer&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;stacer&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1131385&quot;&gt;#1131385&lt;/a&gt; filed against &lt;a href=&quot;https://tracker.debian.org/pkg/libcupsfilters&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;libcupsfilters&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1131395&quot;&gt;#1131395&lt;/a&gt; filed against &lt;a href=&quot;https://tracker.debian.org/pkg/django-ninja&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;django-ninja&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1131403&quot;&gt;#1131403&lt;/a&gt; filed against &lt;a href=&quot;https://tracker.debian.org/pkg/python-agate&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;python-agate&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1132074&quot;&gt;#1132074&lt;/a&gt; filed against &lt;a href=&quot;https://tracker.debian.org/pkg/aetos&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aetos&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/1132508&quot;&gt;#1132508&lt;/a&gt; filed against &lt;a href=&quot;https://tracker.debian.org/pkg/python-bayespy&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;python-bayespy&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;em&gt;kpcyrd&lt;/em&gt;:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://github.com/rust-lang/cargo/pull/16691&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cargo&lt;/code&gt;&lt;/a&gt; (HashMap random order issue; &lt;a href=&quot;https://github.com/rust-lang/cargo/issues/16693&quot;&gt;more info&lt;/a&gt;)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h3 id=&quot;documentation-updates&quot;&gt;Documentation updates&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://reproducible-builds.org/&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://reproducible-builds.org/images/reports/2026-03/website.png#right&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once again, there were a number of improvements made to our website this month including:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;em&gt;kpcyrd&lt;/em&gt;:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;Add a new page about &lt;a href=&quot;https://reproducible-builds.org/docs/rust/&quot;&gt;&lt;em&gt;Rust&lt;/em&gt;&lt;/a&gt; specifics. [&lt;a href=&quot;https://salsa.debian.org/reproducible-builds/reproducible-website/commit/3ed014bd&quot;&gt;…&lt;/a&gt;][&lt;a href=&quot;https://salsa.debian.org/reproducible-builds/reproducible-website/commit/4bf02f0d&quot;&gt;…&lt;/a&gt;][&lt;a href=&quot;https://salsa.debian.org/reproducible-builds/reproducible-website/commit/46c9f1e3&quot;&gt;…&lt;/a&gt;]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Robin Candau:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;Add link to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;diffoci&lt;/code&gt; Arch Linux package on the &lt;a href=&quot;https://reproducible-builds.org/tools/&quot;&gt;&lt;em&gt;Tools&lt;/em&gt;&lt;/a&gt; page. [&lt;a href=&quot;https://salsa.debian.org/reproducible-builds/reproducible-website/commit/0ca6c946&quot;&gt;…&lt;/a&gt;]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Timo Pohl:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;Add new &lt;em&gt;From Constrictor to Serpent: Investigating the Threat of Cache Poisoning in the Python Ecosystem&lt;/em&gt; paper to the &lt;a href=&quot;https://reproducible-builds.org/docs/publications/&quot;&gt;&lt;em&gt;Academic publications&lt;/em&gt;&lt;/a&gt; page. [&lt;a href=&quot;https://salsa.debian.org/reproducible-builds/reproducible-website/commit/8577c2d5&quot;&gt;…&lt;/a&gt;]&lt;/li&gt;
      &lt;li&gt;Add GitLab registration confirmation to &lt;a href=&quot;https://reproducible-builds.org/contribute/salsa/&quot;&gt;&lt;em&gt;How to join the Salsa group&lt;/em&gt;&lt;/a&gt; page. [&lt;a href=&quot;https://salsa.debian.org/reproducible-builds/reproducible-website/commit/b4f72f5a&quot;&gt;…&lt;/a&gt;]&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h3 id=&quot;two-new-academic-papers&quot;&gt;Two new academic papers&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://dl.gi.de/items/07a895be-d49c-4d73-b14d-cb533e850ca2&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://reproducible-builds.org/images/reports/2026-03/epub.gi.png#right&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Marc Ohm, Timo Pohl, Ben Swierzy and Michael Meier published a paper on the &lt;a href=&quot;https://dl.gi.de/items/07a895be-d49c-4d73-b14d-cb533e850ca2&quot;&gt;&lt;em&gt;threat of cache poisoning in the Python ecosystem&lt;/em&gt;&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Attacks on software supply chains are on the rise, and attackers are becoming increasingly creative in how they inject malicious code into software components.
This paper is the first to investigate Python cache poisoning, which manipulates bytecode cache files to execute malicious code without altering the human-readable source code.
We demonstrate a proof of concept, showing that an attacker can inject malicious bytecode into a cache file without failing the Python interpreter’s integrity checks.
In a large-scale analysis of the Python Package Index, we find that about 12,500 packages are distributed with cache files.
Through manual investigation of cache files that cannot be reproduced automatically from the corresponding source files, we identify classes of reasons for irreproducibility to locate malicious cache files.
While we did not identify any malware leveraging this attack vector, we demonstrate that several widespread package managers are vulnerable to such attacks.&lt;/p&gt;

&lt;p&gt;A &lt;a href=&quot;https://dl.gi.de/items/07a895be-d49c-4d73-b14d-cb533e850ca2&quot;&gt;PDF&lt;/a&gt; of the paper is available online.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://epub.jku.at/obvulihs/content/titleinfo/13440717&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://reproducible-builds.org/images/reports/2026-03/epub.jku.png#right&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mario Lins of the University of Linz, Austria, has published their PhD doctoral thesis on the topic of &lt;a href=&quot;https://epub.jku.at/obvulihs/content/titleinfo/13440717&quot;&gt;&lt;em&gt;Software supply chain transparency&lt;/em&gt;&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;We begin by examining threats to the software distribution stage — the point at which artifacts (e.g., mobile apps) are delivered to end users — with an emphasis on mobile ecosystems [and] we next focus on the operating system on mobile devices, with an emphasis on mitigating bootloader-targeted attacks. We demonstrate how to compensate lost security guarantees on devices with an unlocked bootloader. This allows users to flash custom operating systems on devices that no longer receive security updates from the original manufacturer without compromising security. We then move to the source code stage. [Also,] we introduce a new architecture to ensure strong source-to-binary correspondence by leveraging the security guarantees of Confidential Computing technology. Finally, we present The Supply Chain Game, an organizational security approach that enhances standard risk-management methods. We demonstrate how game-theoretic techniques, combined with common risk management practices, can derive new criteria to better support decision makers.&lt;/p&gt;

&lt;p&gt;A &lt;a href=&quot;https://epub.jku.at/obvulihs/download/pdf/13440717&quot;&gt;PDF&lt;/a&gt; of the paper is available online.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h3 id=&quot;misc-news&quot;&gt;Misc news&lt;/h3&gt;

&lt;p&gt;On &lt;a href=&quot;https://lists.reproducible-builds.org/listinfo/rb-general/&quot;&gt;our mailing list&lt;/a&gt; this month:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Holger Levsen &lt;a href=&quot;https://lists.reproducible-builds.org/pipermail/rb-general/2026-March/004060.html&quot;&gt;announced that this year’s Reproducible Builds summit&lt;/a&gt; will almost certainly be held in Gothenburg, Sweden, from September 22 until 24, followed by two days of hacking. However, these dates are preliminary and not 100% final — an official announcement is forthcoming.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Mark Wielaard posted to our list &lt;a href=&quot;https://lists.reproducible-builds.org/pipermail/rb-general/2026-March/004062.html&quot;&gt;asking a question&lt;/a&gt; on the difference between &lt;a href=&quot;https://sourceware.org/debugedit&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;debugedit&lt;/code&gt;&lt;/a&gt; and relative debug paths based on a comment on the &lt;a href=&quot;https://reproducible-builds.org/docs/build-path/&quot;&gt;&lt;em&gt;Build path&lt;/em&gt;&lt;/a&gt; page: “Have people tried more modern versions of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;debugedit&lt;/code&gt; to get deterministic (absolute) DWARF paths and found issues with it?&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Finally, if you are interested in contributing to the Reproducible Builds project, please visit our &lt;a href=&quot;https://reproducible-builds.org/contribute/&quot;&gt;&lt;em&gt;Contribute&lt;/em&gt;&lt;/a&gt; page on our website. However, you can get in touch with us via:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;IRC: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#reproducible-builds&lt;/code&gt; on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;irc.oftc.net&lt;/code&gt;.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Mastodon: &lt;a href=&quot;https://fosstodon.org/@reproducible_builds&quot;&gt;@reproducible_builds@fosstodon.org&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Mailing list: &lt;a href=&quot;https://lists.reproducible-builds.org/listinfo/rb-general&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rb-general@lists.reproducible-builds.org&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;</content>
	<author>
	  <name>Reproducible Builds</name>
	   <uri>https://reproducible-builds.org/blog/</uri> 
	</author>
	<source>
	  <title type="html">reproducible-builds.org</title>
	  <subtitle type="html">Reproducible builds blog</subtitle>
	  <link rel="self" href="https://reproducible-builds.org/blog/index.rss"/>
	  <id>https://reproducible-builds.org/blog/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">AI Hacking the Planet</title>
	<link href="https://current.workingdirectory.net/posts/2026/ai-hacking-the-planet/"/>
	<id>https://current.workingdirectory.net/posts/2026/ai-hacking-the-planet/</id>
	<updated>2026-04-10T12:27:10+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;A colleague asked me if we should move all our money to our pillow cases after
reading the latest AI editorial from &lt;a href=&quot;https://www.nytimes.com/2026/04/07/opinion/anthropic-ai-claude-mythos.html&quot;&gt;Thomas
Friedman&lt;/a&gt;.
The article reads like a press release from Anthropic, repeating the claim that
their latest AI model is so good at finding software vulnerabilities that it is
a danger to the world.&lt;/p&gt;
&lt;p&gt;I think I now know what it’s like to be a doctor who is forced to watch Gray’s
Anatomy.&lt;/p&gt;
&lt;p&gt;By now every journalist should be able to recognize the AI publicity playbook:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Start with a wildly unsubstantiated claim about how dangerous your
product is:&lt;/p&gt;
&lt;p&gt;&lt;del&gt;&lt;em&gt;AI will cause human extinction before we have a chance to colonize mars&lt;/em&gt;&lt;/del&gt;
(remember that one? Even Kim Stanley Robinson, author of perhaps the most
compelling science fiction on colonizing mars &lt;a href=&quot;https://www.newscientist.com/article/2520312-author-of-red-mars-calls-bullshit-on-emigrating-to-the-planet/&quot;&gt;calls bull
shit&lt;/a&gt;
on it).&lt;/p&gt;
&lt;p&gt;&lt;del&gt;&lt;em&gt;AI will eliminate all of our jobs&lt;/em&gt;&lt;/del&gt; (this one was extremely effective at
providing cover for software companies laying off staff but it has quickly
dawned on people that the companies that did this are living in chaos not
humming along happily with functional robots)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;AI will discover massive software vulnerabilities allowing bad actors to “hack
pretty much every major software system in the world”.&lt;/em&gt; (Did Friedman pull that
directly from Anthropic’s press release or was that his contribution?)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; To help stave off human collapse, only release the new version to a
vetted group of software companies and developers, preferably ones with big
social media followings&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Wait for the limited release developers to spew unbridled
enthusiasm and shocking examples that seem to suggest this new AI produce is
truly unbelievable&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; Watch stock prices and valuations soar&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 5:&lt;/strong&gt; Release to the world, and experience a steady stream of mockery as
people discover how wrong you are&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 6:&lt;/strong&gt; Start over&lt;/p&gt;
&lt;p&gt;Even if Friedman missed the text book example of the playbook, I have to ask:
if you think bad actors compromising software resulting in massive loss of
private data, major outages and wasted resources needs to be reported on, then
where have you been for the last 10 years? This literally happens &lt;a href=&quot;https://www.bleepingcomputer.com/news/security/&quot;&gt;on a daily
basis&lt;/a&gt; due to the
fundamentally flawed way capitalism has been writing software even before the
invention of AI. A small part of me wonders - maybe AI writing software is not
so bad, because how could it be any worse than it is now?&lt;/p&gt;
&lt;p&gt;Also, let’s keep in mind that AI’s super ability at finding vulnerable software
depends on having access to the software’s source code, which most companies
keep locked up tight. That means the owners of the software can use AI to find
vulnerabilities and fix them but bad actors can’t.&lt;/p&gt;
&lt;p&gt;Oh, but wait, what if a company is so incompetent that they &lt;a href=&quot;https://www.cnbc.com/2026/03/31/anthropic-leak-claude-code-internal-source.html&quot;&gt;accidentally
release their proprietary software to the
Internet&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;Surely that would allow AI bots to discover their vulnerabilities and destroy
the company right? I’m not sure if anyone has discovered world ending
vulnerabilities in Anthropic’s Claude code since it was accidentally released,
but it is fun to watch people &lt;a href=&quot;https://neuromatch.social/@jonny/116325668039992121&quot;&gt;mock
software&lt;/a&gt; that is clearly
written by AI (and spoiler alert, it seems way worse that software written
now).&lt;/p&gt;
&lt;p&gt;Well… we probably should all be keeping our money in a pillow case anyway.&lt;/p&gt;</content>
	<author>
	  <name>Jamie McClelland</name>
	   <uri>https://current.workingdirectory.net/tags/debian/</uri> 
	</author>
	<source>
	  <title type="html">Debian on Website of Jamie McClelland</title>
	  <subtitle type="html">Recent content in Debian on Website of Jamie McClelland</subtitle>
	  <link rel="self" href="https://current.workingdirectory.net/tags/debian/index.xml"/>
	  <id>https://current.workingdirectory.net/tags/debian/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">nvim-µwiki</title>
	<link href="https://jmtd.net/log/nvim-µwiki/"/>
	<id>https://jmtd.net/log/nvim-%C2%B5wiki/</id>
	<updated>2026-04-08T20:31:44+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;In January 2025,
as a pre-requisite for something else, I published a minimal &lt;a href=&quot;https://jmtd.net/log/neovim/&quot;&gt;neovim&lt;/a&gt;
plugin called &lt;a href=&quot;https://github.com/jmtd/nvim-microwiki&quot;&gt;nvim-µwiki&lt;/a&gt;. It&#39;s essentially just the features from
&lt;a href=&quot;https://jmtd.net/log/vimwiki/&quot;&gt;vimwiki&lt;/a&gt; that I regularly use, which is a small fraction them.
I forgot to blog about it. I recently dusted it off and cleaned it up.
You can find it here, along with a longer list of its features and
how to configure it: &lt;a href=&quot;https://github.com/jmtd/nvim-microwiki&quot;&gt;https://github.com/jmtd/nvim-microwiki&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I had a couple of design goals. I didn&#39;t want to define a new &lt;code&gt;filetype&lt;/code&gt;,
so this is designed to work with the existing markdown one. I&#39;m
using neovim, so I wanted to leverage some of its features: this plugin
is written in &lt;a href=&quot;https://jmtd.net/lua/&quot;&gt;Lua&lt;/a&gt;, rather than vimscript. I use the parse trees
provided by &lt;a href=&quot;https://neovim.io/doc/user/treesitter.html&quot;&gt;TreeSitter&lt;/a&gt; to navigate the structure of a document.
I also decided to &quot;plug into&quot; the existing tag stack navigation, rather
than define another dimension of navigation (along with buffers, etc.)
to track: Following a wiki-link pushes onto the tag stack, just as if
you followed a tag.&lt;/p&gt;

&lt;p&gt;This was my first serious bit of &lt;a href=&quot;https://jmtd.net/lua/&quot;&gt;Lua&lt;/a&gt; programming, as well as my first
dive into neovim (or even vim) internals.
&lt;a href=&quot;https://jmtd.net/lua/&quot;&gt;Lua&lt;/a&gt; is quite reasonable. Most
of the vim and neovim architecture is reasonable. The emerging conventions
about structuring neovim plugins are mostly reasonable. TreeSitter is, well,
interesting, but the devil is very much in the details. Somehow all
together the experience for me was largely just frustrating, and I didn&#39;t
really enjoy writing it.&lt;/p&gt;</content>
	<author>
	  <name>jmtd</name>
	   <uri>https://jmtd.net/log/</uri> 
	</author>
	<source>
	  <title type="html">Jonathan Dowland&#39;s Weblog</title>
	  <subtitle type="html">jmtd</subtitle>
	  <link rel="self" href="https://jmtd.net/log/index.atom"/>
	  <id>https://jmtd.net/log/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">My Debian Activities in March 2026</title>
	<link href="http://blog.alteholz.eu/2026/04/my-debian-activities-in-march-2026/"/>
	<id>http://blog.alteholz.eu/?p=2795</id>
	<updated>2026-04-06T17:45:48+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;h3&gt;&lt;strong&gt;Debian LTS/ELTS&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;&lt;/p&gt;&lt;p&gt;This was my hundred-forty-first month that I did some work for the Debian LTS initiative, started by Raphael Hertzog at Freexian.
&lt;/p&gt;
&lt;p&gt;
During my allocated time I uploaded or worked on:  
&lt;/p&gt;&lt;p&gt;&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;[&lt;a href=&quot;https://lists.debian.org/debian-lts-announce/2026/03/msg00005.html&quot;&gt;DLA 4500-1&lt;/a&gt;] gimp security update to fix four CVEs related to denial of service or execution of arbitrary code.
&lt;/li&gt;&lt;li&gt;[&lt;a href=&quot;https://lists.debian.org/debian-lts-announce/2026/03/msg00007.html&quot;&gt;DLA 4503-1&lt;/a&gt;] evolution-data-server to fix one CVE related to a missing canonicalization of a file path.
&lt;/li&gt;&lt;li&gt;[&lt;a href=&quot;https://lists.debian.org/debian-lts-announce/2026/03/msg00016.html&quot;&gt;DLA 4512-1&lt;/a&gt;] strongswan security update to fix one CVE related to a denial of service.
&lt;/li&gt;&lt;li&gt;[ELA-1656-1] gimp security update to fix four CVEs in Buster and Stretch related to denial of service or execution of arbitrary code.&lt;/li&gt;&lt;li&gt;[ELA-1660-1] evolution-data-server security update to fix one CVE in Buster and Stretch related to  a missing canonicalization of a file path.&lt;/li&gt;&lt;li&gt;[ELA-1665-1] strongswan security update to fix one CVE in Buster related to a denial of service.&lt;/li&gt;&lt;li&gt;[ELA-1666-1] libvpx security update to fix one CVE in Buster and Stretch related to a denial of service or potentially execution of arbitrary code.&lt;/li&gt;&lt;/ul&gt;



&lt;p&gt;
I also worked on the &lt;i&gt;check-advisories&lt;/i&gt; script and proposed a fix for cases where issues would be assigned to the coordinator instead of the person who forgot doing something. 
I also did some work for a kernel update and packages &lt;i&gt;snapd&lt;/i&gt; and &lt;i&gt;ldx&lt;/i&gt; on security-master and attended the monthly LTS/ELTS meeting. Last but not least I started to work on &lt;i&gt;gst-plugins-bad1.0&lt;/i&gt;&lt;/p&gt;



&lt;h3&gt;&lt;strong&gt;Debian Printing&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;This month I uploaded a new upstream versions:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/epson-inkjet-printer-escpr&quot;&gt;epson-inkjet-printer-escpr&lt;/a&gt; to unstable.&lt;/li&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/sane-airscan&quot;&gt;sane-airscan&lt;/a&gt; to unstable.&lt;/li&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/printer-driver-oki&quot;&gt;printer-driver-oki&lt;/a&gt; to unstable.&lt;/li&gt;&lt;/ul&gt;



&lt;p&gt;Several packages take care of group lpadmin in their maintainer scripts. With the upload of version 260.1-1 of &lt;i&gt;systemd&lt;/i&gt; there is now a central package (&lt;i&gt;systemd | systemd-standalone-sysusers | systemd-sysusers&lt;/i&gt;) that takes care of this. Other dependencies like &lt;i&gt;adduser&lt;/i&gt; can now be dropped.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;This work is generously funded by &lt;a href=&quot;https://www.freexian.com&quot;&gt;Freexian&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;



&lt;h3&gt;&lt;strong&gt;Debian Lomiri&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;This month I continued to work on unifying packaging on Debian and Ubuntu. This makes it easier to work on those packages independent of the used platform. I am also able to upload Debian packages to the corresponding Ubuntu PPA now. A small bug had to be fixed in the python script to allow the initial configuration in Launchpad. &lt;/p&gt;



&lt;p&gt;&lt;strong&gt;This work is generously funded by &lt;a href=&quot;https://freiesoftware.gmbh/&quot;&gt;Fre(i)e Software GmbH&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;



&lt;h3&gt;&lt;strong&gt;Debian Astro&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;This month I uploaded a new upstream version  or a bugfix version of:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/libplayerone&quot;&gt;libplayerone&lt;/a&gt; to experimental. For a list of other packages please see below.&lt;/li&gt;&lt;/ul&gt;



&lt;p&gt;I also uploaded lots of indi-drivers (&lt;i&gt;libplayerone, libsbig, libricohcamerasdk, indi-asi, indi-eqmod, indi-fishcamp, indi-inovaplx, indi-pentax, indi-playerone, indi-sbig, indi-mi, libahp-xc, indi-aagcloudwatcher, indi-aok, indi-apogee, libapogee3, indi-nightscape, libasi, libinovasdk, libmicam, indi-avalon, indi-beefocus, indi-bresserexos2, indi-dsi, indi-ffmv, indi-fli, indi-gige, info-gphoto, indi-gpsd, indi-gpsnmea, indi-limesdr, indi-maxdomeii, indi-mgen, indi-rtklib, indi-shelyak, indi-starbook, indi-starbookten, indi-talon6, indi-weewx-json, indi-webcam, indi-orion-ssg3, indi-armadillo-playtypus&lt;/i&gt; ) to experimental to make progress with the indi-transition. No problems with those drivers appeared and the next step would be the upload of indi version 2.x to unstable. I hope this will happen soon, as new drivers are already waiting in the pipeline. There have been also four packages, that migrated to the official indi package and are no longer needed as 3rdparty drivers (indi-astrolink4, indi-astromechfoc, indi-dreamfocuser, indi-spectracyber).&lt;/p&gt;



&lt;p&gt;While working on these packages, I thought about testing them. Unfortunately I don’t have enough hardware to really check out every package, so I can upload most of them only as is. In case anybody is interested in a better testing coverage and me being able to provide upstream patches, I would be very glad about hardware donations.&lt;/p&gt;



&lt;h3&gt;&lt;strong&gt;Debian IoT&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;This month I uploaded a new upstream version  or a bugfix version of:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/pywws&quot;&gt;pywws&lt;/a&gt; to unstable.&lt;/li&gt;&lt;/ul&gt;



&lt;h3&gt;&lt;strong&gt;Debian Mobcom&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;This month I uploaded a new upstream version  or a bugfix version of:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/osmo-trx&quot;&gt;osmo-trx&lt;/a&gt; to unstable.&lt;/li&gt;&lt;/ul&gt;



&lt;h3&gt;&lt;strong&gt;misc&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;This month I uploaded a new upstream version  or a bugfix version of:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/cc-tool&quot;&gt;cc-tool&lt;/a&gt; to unstable.&lt;/li&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/mailio&quot;&gt;mailio&lt;/a&gt; to unstable.&lt;/li&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/gnupksc11-scd&quot;&gt;gnupg-pkcs11-scd&lt;/a&gt; to unstable.&lt;/li&gt;&lt;li&gt;… &lt;a href=&quot;https://tracker.debian.org/odoo&quot;&gt;odoo&lt;/a&gt; to unstable.&lt;/li&gt;&lt;/ul&gt;



&lt;p&gt;I also sponsored the upload of Matomo. Thanks a lot to William for preparing the package.&lt;/p&gt;</content>
	<author>
	  <name>alteholz</name>
	   <uri>http://blog.alteholz.eu</uri> 
	</author>
	<source>
	  <title type="html">planetdebian – blog.alteholz.eu</title>
	  <subtitle type="html">As time goes by ...</subtitle>
	  <link rel="self" href="http://blog.alteholz.eu/tag/planetdebian/feed/"/>
	  <id>http://blog.alteholz.eu</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Simple gpx export from ridewithgps</title>
	<link href="http://notes.secretsauce.net/notes/2026/04/04_simple-gpx-export-from-ridewithgps.html"/>
	<id>https://notes.secretsauce.net/notes/2026/04/04_simple-gpx-export-from-ridewithgps.html</id>
	<updated>2026-04-04T17:21:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;
The &lt;a href=&quot;https://tourdelospadres.weebly.com/&quot;&gt;Tour de Los Padres&lt;/a&gt; is coming! The race organizer post &lt;a href=&quot;https://ridewithgps.com/routes/54493422&quot;&gt;the route on
ridewithgps&lt;/a&gt;. This works, but has convoluted interfaces for people not wanting to
use their service. I just wrote a simple script to export their data into a
plain .gpx file, &lt;i&gt;including&lt;/i&gt; all the waypoints; their exporter omits those.
&lt;/p&gt;

&lt;p&gt;
I&#39;ve seen two flavors of their data, so here&#39;re two flavors of the
&lt;code&gt;gpx-from-ridewithgps.py&lt;/code&gt; script:
&lt;/p&gt;

&lt;div class=&quot;org-src-container&quot;&gt;

&lt;pre class=&quot;src src-python&quot;&gt;&lt;span style=&quot;color: #cdcd00;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #cdcd00;&quot;&gt;!/usr/bin/python3&lt;/span&gt;
&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;import&lt;/span&gt; sys
&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;import&lt;/span&gt; json

&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #0000ee; font-weight: bold;&quot;&gt;quote_xml&lt;/span&gt;(s):
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;return&lt;/span&gt; s.replace(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;amp;&quot;&lt;/span&gt;, &lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;amp;amp;&quot;&lt;/span&gt;).replace(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;lt;&quot;&lt;/span&gt;, &lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;amp;lt;&quot;&lt;/span&gt;).replace(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;gt;&quot;&lt;/span&gt;, &lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;amp;gt;&quot;&lt;/span&gt;)

&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;Reading stdin&quot;&lt;/span&gt;, &lt;span style=&quot;color: #0000ee; font-weight: bold;&quot;&gt;file&lt;/span&gt;=sys.stderr)
&lt;span style=&quot;color: #cdcd00;&quot;&gt;data&lt;/span&gt; = json.load(sys.stdin)

&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(r&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&quot;&quot;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #00cd00;&quot;&gt;&amp;lt;gpx version=&quot;1.1&quot; creator=&quot;gpx-from-ridewithgps.py&quot; xmlns=&quot;http://www.topografix.com/GPX/1/1&quot;&amp;gt;&quot;&quot;&quot;&lt;/span&gt;)

&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;for&lt;/span&gt; item &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;in&lt;/span&gt; data[&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;extras&quot;&lt;/span&gt;]:
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;if&lt;/span&gt; item[&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;type&quot;&lt;/span&gt;] != &lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;point_of_interest&quot;&lt;/span&gt;:
        &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;continue&lt;/span&gt;
    &lt;span style=&quot;color: #cdcd00;&quot;&gt;poi&lt;/span&gt; = item[&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;point_of_interest&quot;&lt;/span&gt;]
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(f&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;  &amp;lt;wpt lat=&quot;{poi[&quot;lat&quot;]}&quot; lon=&quot;{poi[&quot;lng&quot;]}&quot;&amp;gt;&#39;&lt;/span&gt;)
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(f&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;    &amp;lt;name&amp;gt;{quote_xml(poi[&quot;name&quot;])}&amp;lt;/name&amp;gt;&#39;&lt;/span&gt;)

    &lt;span style=&quot;color: #cdcd00;&quot;&gt;desc&lt;/span&gt; = poi.get(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;description&quot;&lt;/span&gt;,&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&quot;&lt;/span&gt;)
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #0000ee; font-weight: bold;&quot;&gt;len&lt;/span&gt;(desc):
        &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(f&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;    &amp;lt;desc&amp;gt;{quote_xml(desc)}&amp;lt;/desc&amp;gt;&#39;&lt;/span&gt;)
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(f&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;  &amp;lt;/wpt&amp;gt;&#39;&lt;/span&gt;)

&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;  &amp;lt;trk&amp;gt;&amp;lt;trkseg&amp;gt;&quot;&lt;/span&gt;)
&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;for&lt;/span&gt; pt &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;in&lt;/span&gt; data.get(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;route&quot;&lt;/span&gt;, {}).get(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;track_points&quot;&lt;/span&gt;, []):
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(f&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;    &amp;lt;trkpt lat=&quot;{pt[&quot;y&quot;]}&quot; lon=&quot;{pt[&quot;x&quot;]}&quot;&amp;gt;&amp;lt;ele&amp;gt;{pt[&quot;e&quot;]}&amp;lt;/ele&amp;gt;&amp;lt;/trkpt&amp;gt;&#39;&lt;/span&gt;)
&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;  &amp;lt;/trkseg&amp;gt;&amp;lt;/trk&amp;gt;&quot;&lt;/span&gt;)

&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;lt;/gpx&amp;gt;&quot;&lt;/span&gt;)
&lt;/pre&gt;
&lt;/div&gt;

&lt;div class=&quot;org-src-container&quot;&gt;

&lt;pre class=&quot;src src-python&quot;&gt;&lt;span style=&quot;color: #cdcd00;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #cdcd00;&quot;&gt;!/usr/bin/python3&lt;/span&gt;
&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;import&lt;/span&gt; sys
&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;import&lt;/span&gt; json

&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #0000ee; font-weight: bold;&quot;&gt;quote_xml&lt;/span&gt;(s):
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;return&lt;/span&gt; s.replace(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;amp;&quot;&lt;/span&gt;, &lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;amp;amp;&quot;&lt;/span&gt;).replace(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;lt;&quot;&lt;/span&gt;, &lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;amp;lt;&quot;&lt;/span&gt;).replace(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;gt;&quot;&lt;/span&gt;, &lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;amp;gt;&quot;&lt;/span&gt;)

&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;Reading stdin&quot;&lt;/span&gt;, &lt;span style=&quot;color: #0000ee; font-weight: bold;&quot;&gt;file&lt;/span&gt;=sys.stderr)
&lt;span style=&quot;color: #cdcd00;&quot;&gt;data&lt;/span&gt; = json.load(sys.stdin)

&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(r&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&quot;&quot;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #00cd00;&quot;&gt;&amp;lt;gpx version=&quot;1.1&quot; creator=&quot;gpx-from-ridewithgps.py&quot; xmlns=&quot;http://www.topografix.com/GPX/1/1&quot;&amp;gt;&quot;&quot;&quot;&lt;/span&gt;)

&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;for&lt;/span&gt; poi &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;in&lt;/span&gt; data[&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;points_of_interest&quot;&lt;/span&gt;]:
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(f&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;  &amp;lt;wpt lat=&quot;{poi[&quot;lat&quot;]}&quot; lon=&quot;{poi[&quot;lng&quot;]}&quot;&amp;gt;&#39;&lt;/span&gt;)
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(f&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;    &amp;lt;name&amp;gt;{quote_xml(poi[&quot;name&quot;])}&amp;lt;/name&amp;gt;&#39;&lt;/span&gt;)

    &lt;span style=&quot;color: #cdcd00;&quot;&gt;desc&lt;/span&gt; = poi.get(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;description&quot;&lt;/span&gt;,&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&quot;&lt;/span&gt;)
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #0000ee; font-weight: bold;&quot;&gt;len&lt;/span&gt;(desc):
        &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(f&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;    &amp;lt;desc&amp;gt;{quote_xml(desc)}&amp;lt;/desc&amp;gt;&#39;&lt;/span&gt;)
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(f&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;  &amp;lt;/wpt&amp;gt;&#39;&lt;/span&gt;)

&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;for&lt;/span&gt; poi &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;in&lt;/span&gt; data[&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;course_points&quot;&lt;/span&gt;]:
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(f&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;  &amp;lt;wpt lat=&quot;{poi[&quot;y&quot;]}&quot; lon=&quot;{poi[&quot;x&quot;]}&quot;&amp;gt;&#39;&lt;/span&gt;)
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(f&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;    &amp;lt;name&amp;gt;{quote_xml(poi[&quot;n&quot;])}&amp;lt;/name&amp;gt;&#39;&lt;/span&gt;)
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(f&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;  &amp;lt;/wpt&amp;gt;&#39;&lt;/span&gt;)

&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;  &amp;lt;trk&amp;gt;&amp;lt;trkseg&amp;gt;&quot;&lt;/span&gt;)
&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;for&lt;/span&gt; pt &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;in&lt;/span&gt; data[&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;track_points&#39;&lt;/span&gt;]:
    &lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(f&lt;span style=&quot;color: #00cd00;&quot;&gt;&#39;    &amp;lt;trkpt lat=&quot;{pt[&quot;y&quot;]}&quot; lon=&quot;{pt[&quot;x&quot;]}&quot;&amp;gt;&amp;lt;ele&amp;gt;{pt[&quot;e&quot;]}&amp;lt;/ele&amp;gt;&amp;lt;/trkpt&amp;gt;&#39;&lt;/span&gt;)
&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;  &amp;lt;/trkseg&amp;gt;&amp;lt;/trk&amp;gt;&quot;&lt;/span&gt;)

&lt;span style=&quot;color: #00cdcd; font-weight: bold;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #00cd00;&quot;&gt;&quot;&amp;lt;/gpx&amp;gt;&quot;&lt;/span&gt;)
&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;
You invoke it by downloading the route and feeding it into the script:
&lt;/p&gt;

&lt;div class=&quot;org-src-container&quot;&gt;

&lt;pre class=&quot;src src-sh&quot;&gt;curl -s https://ridewithgps.com/routes/54493422.json | ./ridewithgps-to-gpx.py &amp;gt; out.gpx
&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;
Note that the route number 54493422 is in the url above.&lt;/p&gt;</content>
	<author>
	  <name>Dima Kogan</name>
	   <uri>http://notes.secretsauce.net</uri> 
	</author>
	<source>
	  <title type="html">Dima Kogan</title>
	  
	  <link rel="self" href="http://notes.secretsauce.netindex.xml"/>
	  <id>http://notes.secretsauce.netindex.xml</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Building a house - 1 year in</title>
	<link href="https://blog.ganneff.de/2026/04/house.html"/>
	<id>https://blog.ganneff.de/2026/04/house</id>
	<updated>2026-04-02T21:23:23+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;Haven’t written here about it, but last March we finally started on
our journey to get our own house build, so we can move out of the
rented flat here.&lt;/p&gt;

&lt;p&gt;That will be a big step, both the actual building, but also the
moving - I am living at this one single place for 36 years now.&lt;/p&gt;

&lt;p&gt;If you can read german there is &lt;a href=&quot;https://haus.ganneff.de/&quot;&gt;a dedicated
webpage&lt;/a&gt; where I sometimes write about the
process. Will have much more details (and way more ramblings) than the
following part.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you can’t read german, a somewhat short summary follows&lt;/strong&gt;. Yes,
still a lot of text, but shortened, still.&lt;/p&gt;

&lt;h3 id=&quot;what-why-now&quot;&gt;What? Why now?&lt;/h3&gt;
&lt;p&gt;Current flat has 83m² - which simply isn’t enough space. And
the number of rooms also doesn’t fit anymore. But it is hard to find a
place that fits our requirements (which do include location).&lt;/p&gt;

&lt;p&gt;Moving to a different rented place would also mean changed amount of
rent. And nowadays that would be huge increase (my current rent is
still the price from about 30 years ago!).&lt;/p&gt;

&lt;p&gt;So if we go and pay more - we could adjust and pay for something we
own instead. And both, my wife and I had changes in our jobs that made
it possible for us now, so we started looking.&lt;/p&gt;

&lt;h3 id=&quot;market&quot;&gt;Market&lt;/h3&gt;
&lt;p&gt;Brrrr, looking is good, actually finding something that fits - not so.
We never found an offer that fit. Space wise, sure. But then location
was off, or price was idiotically high. Location fit, but then size
was a joke, and guess about the price… Who needs 200 square meters
with 3 rooms? Entirely stupid design choices there. Or how about 40
square meters of hallway - with 50m² of tiny rooms around. What are
they smoking? Oh, there, useful size, good rooms - but now you want
more money than a kidney is worth, or something. Thanks, no.&lt;/p&gt;

&lt;h3 id=&quot;new-place&quot;&gt;New place&lt;/h3&gt;
&lt;p&gt;In February 2025 we finally got lucky and found a (newly opened) area
with a large number of places to build a house on. Had multiple talks
with someone from on of the companies developing that area (there are
two you can select from), then talked with banks and signed a contract
in March 2025. We got promised that actual house construction would be
first quarter of 2026, finished in second quarter.&lt;/p&gt;

&lt;h3 id=&quot;house-type&quot;&gt;House type&lt;/h3&gt;
&lt;p&gt;There are basically 2 ways of building a new house (that matter here).
First is called “Massivhaus”, second is called “Fertighaus” in german,
roughly translating to solid and prefabricated. The latter commonly a
wood based construction, though it doesn’t need to be. The important
part of it is the prefabrication, walls and stuff get assembled in a
factory somewhere and then transported to your place, where they play
“big kid lego” for a day and suddenly a house is there.&lt;/p&gt;

&lt;p&gt;A common thought is “prefabricated” is faster, but that is only a half
true. Sure, the actual work on side is way shorter - usually one or
two days and the house is done - while a massive construction usually
takes weeks to build up. But that is only a tiny part of the time
needed, the major part goes of into planning and waiting and in there
it doesn’t matter what material you end up with.&lt;/p&gt;

&lt;h2 id=&quot;money-fun&quot;&gt;Money fun&lt;/h2&gt;
&lt;p&gt;Last year already wasn’t the best time to start a huge loan - but
isn’t it always “&lt;em&gt;a few years ago would have been better&lt;/em&gt;”? So we had
multiple talks with different banks and specialised consultants until
we found something that we thought is good for us.&lt;/p&gt;

&lt;p&gt;Thinking about it now - we should have put even more money on top as
“reserve”, but who could have thought that 2026 turns into such a
shitshow? Does not help at all, quite the contrary. And that damn
lotto game always ends up with the wrong numbers, meh.&lt;/p&gt;

&lt;h1 id=&quot;plans-and-plans-and-more-plans---and-rules&quot;&gt;Plans and plans and more plans - and rules&lt;/h1&gt;
&lt;p&gt;For whichever reason you can not just go and put something on your
ground and be happy. At least not if you are part of the normal people and not
enormously rich. There is a large set of rules to follow. Usually that
is a good thing, even though some rules are sometimes hard to understand.&lt;/p&gt;

&lt;p&gt;In Germany, besides the usual laws, we have something that is called
“Bebauungsplan”, which translates to “development plan” (don’t know if
that carries the right meaning, it’s a plan on what and how may be
build, which can have really detailed specifications in). It basically
tells you every aspect &lt;em&gt;on top&lt;/em&gt; of the normal law that you have to
keep in mind.&lt;/p&gt;

&lt;p&gt;In our case we have the requirement of 2 full floors and CAN have a
third smaller on top, it limits how high the house can be &lt;em&gt;and&lt;/em&gt; also
how high our ground floor may be compared to the street. It regulates
where on the property we may build and how much ground we may cover
with the house, it gives a set of colors we are allowed to use, it
demands a flat roof that we must have as a green roof and has a number
of things more that aren’t important enough to list here. If you do
want to see the full list, &lt;a href=&quot;https://haus.ganneff.de/baustellen/2025/03/bebauungsplan/&quot;&gt;my german post on it has all the details
that matter to
us&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;With all that stuff in mind - off to plans. Wouldn’t have believed how
many details there are to take in. Room sizes are simple, but how to
arrange them for ideal usage of the sun, useful ways inside the house,
but also keeping in mind that water needs to flow through and out.
Putting a bath room right atop a living room means a water pipe needs
to go down there. Switch the bath room side in the house, and it
suddenly is above the kitchen - means you can connect the pipes from
it to the ones from kitchen, which is much preferred than going
through the living room. And lots more such things.&lt;/p&gt;

&lt;p&gt;It took us until nearly end of October to finalize the plans! And we
learned a whole load from it. We started with a lot of wishes. The
planner tried to make them work. Then we changed our minds. Plans
changed. Minds changed again. Comparing the end result with the first
draft we changed most of the ground floor around, with only the stairs
and the entrance door at the same position. Less changes for the upper
floor, but still enough.&lt;/p&gt;

&lt;h1 id=&quot;side-quests&quot;&gt;Side quests&lt;/h1&gt;
&lt;p&gt;The whole year was riddled with something my son named side quests. We
visited a construction exhibition near us, we went to the house
builders factory and took a look on how they work. We went to many
different other companies that do SOME type of work which we need
soon, say inside floors, painters, kitchen and more stuff.&lt;/p&gt;

&lt;p&gt;Of course the most important side quest was a visit to the notary to
finalize the contracts, especially for the plot of land (in Germany
you must have a notary for that to get entered into the governments
books). Creates lots of fees, of course, for the notary and also the
government (both fees and taxes here).&lt;/p&gt;

&lt;h1 id=&quot;building-permit&quot;&gt;Building permit&lt;/h1&gt;
&lt;p&gt;We had been lucky and only needed a small change to the plans to get
the building permit - and the second part, the wastewater permit (yes,
you need a separate one for this) also got through without trouble.&lt;/p&gt;

&lt;h1 id=&quot;choices-so-many-of-them&quot;&gt;Choices, so many of them&lt;/h1&gt;
&lt;p&gt;So in January we finally had an appointment for something that’s
called “Bemusterung” which badly translates to “Sampling”. Basically
two days at the house builders factory to select all of what’s needed
for the house that you don’t do in the plans. Doors, inside and out
and their type and color and handles. Same things for the windows and
the blinds and the protection level you want the windows to have.
Decide about stairs, design for the sanitary installations - and also
the height of the toilet! - and the tiles to put into the bathrooms.
Decisions on all the tech needed (heating system, ventilation and
whatnot.&lt;/p&gt;

&lt;p&gt;Two days, busy ones - and you can easily spend a lot of extra money
here if you aren’t careful. We managed to get “out of it” with only
about 4000€ extra, so pretty good.&lt;/p&gt;

&lt;h1 id=&quot;electro-and-automation&quot;&gt;Electro and automation&lt;/h1&gt;
&lt;p&gt;Now, here I am special. Back when I was young the job I learned is
electrician. So here I have very detailed wishes. I am also running
lots of automatism in my current flat - obviously the new house should
be better than that. So I have a lot of ideas and thoughts on it, so
this is entirely extra and certainly out of the ordinary the house
builder usually see.&lt;/p&gt;

&lt;p&gt;Which means I do all of that on my own. Well, the planning and some of
the work, I must have a company at hand for certain tasks, it is
required by some rules. But they will do what I planned, as long as I
don’t violate regulations.&lt;/p&gt;

&lt;p&gt;Which means the whole electrical installation is … different.
Entirely planned for automatisms and using KNX for it. I am so happy
to ditch Homeassistant and the load of Homematic, Zigbee and ZWave
based wireless things.&lt;/p&gt;

&lt;p&gt;Ok, Homeassistant is a nice thing - it can do a lot. And it can bridge
between about any system you can find. But it is a central single point of
failure. And it is a system that needs constant maintenance. Not
touched for a while? Plan for a few hours playing update whack-a-mole.
And often enough a component here or there breaks with an update. Can
be fixed, but takes another hour or two.&lt;/p&gt;

&lt;p&gt;So I change. Away from wireless based stuff. To wires. To a system
thats a standard for decades already. And works entirely without a
SPOF. (Yes, you can add one here too). And, most important, should I
ever die - can easily be maintained by anyone out there dealing with
KNX, which is a large number of people and companies. Without digging
through dozens of specialised integrations and whatnot.&lt;/p&gt;

&lt;p&gt;I may even end up with Homeassistant again - but that will entirely be
as a client. It won’t drive automations. It won’t be the central point
to do anything for the house. It will be a logging and data collecting
thing that enables me to put up easy visualizations. It may be an easy
interface for smartphones or tablets to control parts of the house,
for those parts where one wants this to happen. Not the usual
day-to-day stuff, extras on top.&lt;/p&gt;

&lt;h1 id=&quot;actual-work-happening&quot;&gt;Actual work happening&lt;/h1&gt;
&lt;p&gt;Since march there &lt;em&gt;finally&lt;/em&gt; is action visible. The base of the house
is getting build. Wednesday the 1st April we finally got the base
slab poured on the construction site and in another 10 days the house
is getting delivered and build up. A 40ton mobile crane will be there.&lt;/p&gt;</content>
	<author>
	  <name>Joerg Jaspert</name>
	   <uri>https://blog.ganneff.de/</uri> 
	</author>
	<source>
	  <title type="html">Ganneff&#39;s Little Blog</title>
	  <subtitle type="html">Thoughts of a small and very unimportant Debian Developer</subtitle>
	  <link rel="self" href="https://blog.ganneff.de/atom.xml/atom.xml"/>
	  <id>https://blog.ganneff.de/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">banning all Anthropic employees</title>
	<link href="http://joeyh.name/blog/entry/banning_all_Anthropic_employees/"/>
	<id>http://joeyh.name/blog/entry/banning_all_Anthropic_employees/</id>
	<updated>2026-04-01T16:41:33+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;Per &lt;a href=&quot;https://joeyh.name/blog/entry/policy_on_adding_AI_generated_content_to_my_software_projects/&quot;&gt;my policies&lt;/a&gt;,
I need to ban every employee and contractor of Anthropic Inc from ever
contributing code to any of my projects. Anyone have a list?&lt;/p&gt;

&lt;p&gt;Any project that requires a Developer Certificate of Origin or similar should
be doing this, because Anthropic is making tools that explicitly lie about
the origin of patches to free software projects.&lt;/p&gt;

&lt;blockquote&gt;&lt;h2&gt;UNDERCOVER MODE â€” CRITICAL&lt;/h2&gt;

&lt;p&gt;You are operating UNDERCOVER in a PUBLIC/OPEN-SOURCE repository. [...]
Do not blow your cover.&lt;/p&gt;

&lt;p&gt;NEVER include in commit messages or PR descriptions:&lt;/p&gt;

&lt;p&gt;[...]
The phrase &#39;Claude Code&#39; or any mention that you are an AI&lt;br /&gt;
Co-Authored-By lines or any other attribution&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;-- &lt;a href=&quot;https://x.com/vedolos/status/2039028274047893798&quot;&gt;via @vedolos&lt;/a&gt;&lt;/p&gt;</content>
	<author>
	  <name>Joey Hess</name>
	   <uri>http://joeyh.name/blog/</uri> 
	</author>
	<source>
	  <title type="html">see shy jo</title>
	  <subtitle type="html">joey</subtitle>
	  <link rel="self" href="http://joeyh.name/blog/index.rss"/>
	  <id>http://joeyh.name/blog/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">FOSS activity in March 2026</title>
	<link href="https://www.decadent.org.uk/ben/blog/2026/04/01/foss-activity-in-march-2026.html"/>
	<id>https://www.decadent.org.uk/ben/blog/2026/04/01/foss-activity-in-march-2026</id>
	<updated>2026-04-01T15:30:53+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;ul&gt;
  &lt;li&gt;Debian packages:
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/firmware-nonfree&quot;&gt;firmware-nonfree&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/src:firmware-nonfree&quot;&gt;Bugs&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1064620&quot;&gt;#1064620: firmware-nonfree: suggestions for the packaging, gencontrol.py and debian/rules&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1126797&quot;&gt;#1126797: firmware-intel-graphics: Please ship irci_irci_ecr-master_20161208_0213_20170112_1500.bin as ipu3-fw.bin&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1131751&quot;&gt;#1131751: ABI break in amdxdna npu firmware&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;Merge requests:
            &lt;ul&gt;
              &lt;li&gt;opened and merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/firmware-nonfree/-/merge_requests/140&quot;&gt;!140: Update to 20260309&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened and merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/firmware-nonfree/-/merge_requests/141&quot;&gt;!141: Clean up packaging (from Nicolas Boulenguez)&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened &lt;a href=&quot;https://salsa.debian.org/kernel-team/firmware-nonfree/-/merge_requests/142&quot;&gt;!142: Replace copy-firmware.sh; install files and generate metainfo.xml at build time&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/firmware-nonfree/news/&quot;&gt;Uploads&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;uploaded version 20260110-1~bpo13+1 to trixie-backports&lt;/li&gt;
              &lt;li&gt;uploaded version 20260221-1 to unstable&lt;/li&gt;
              &lt;li&gt;uploaded version 20260221-1~bpo13+1 to trixie-backports&lt;/li&gt;
              &lt;li&gt;uploaded version 20260309-1 to unstable&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/hexagon-dsp-binaries&quot;&gt;hexagon-dsp-binaries&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/src:hexagon-dsp-binaries&quot;&gt;Bugs&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;replied to and reassigned &lt;a href=&quot;https://bugs.debian.org/1130844&quot;&gt;#1130844: firmware-qcom-soc depends on unavailable package firmware-qcom-dsp&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/initramfs-tools&quot;&gt;initramfs-tools&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;Merge requests:
            &lt;ul&gt;
              &lt;li&gt;merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/initramfs-tools/-/merge_requests/172&quot;&gt;!172: Use 3cpio for unmkinitramfs/lsinitramfs if available&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/initramfs-tools/-/merge_requests/186&quot;&gt;!186: update-initramfs: support loading post-update hooks from /usr/share/ too&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/initramfs-tools/-/merge_requests/190&quot;&gt;!190: autopkgtest: increase timeout to 240s on s390x&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/libtirpc&quot;&gt;libtirpc&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/src:libtirpc&quot;&gt;Bugs&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;replied to and reassigned &lt;a href=&quot;https://bugs.debian.org/1132176&quot;&gt;#1132176: rpc.mountd: symbol lookup error: rpc.mountd: undefined symbol: rpc_gss_getcred, version TIRPC_0.3.0&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/libvirt&quot;&gt;libvirt&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/src:libvirt&quot;&gt;Bugs&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;replied to and reassigned &lt;a href=&quot;https://bugs.debian.org/1130974&quot;&gt;#1130974: libvirt: Should use nftables for IP masquerading to work with PREEMPT_RT&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/linux&quot;&gt;linux&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/src:linux&quot;&gt;Bugs&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;replied to &lt;a href=&quot;https://bugs.debian.org/1128861&quot;&gt;#1128861: linux: when serving NFS, client attempts to lock served files fail with “No locks available”&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;replied to &lt;a href=&quot;https://bugs.debian.org/1130656&quot;&gt;#1130656: [grub2] wrong kernel version order&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1132224&quot;&gt;#1132224: linux: nouveau regression on GK208B/GT 730 after kernel update: artifacts and X crashes&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;Merge requests:
            &lt;ul&gt;
              &lt;li&gt;reviewed &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1842&quot;&gt;!1842: Merge kernel-wedge and use directly&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;reviewed and merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1849&quot;&gt;!1849: Cleanup installer&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1853&quot;&gt;!1853: [amd64] drivers/platform/x86/uniwill: Enable UNIWILL_LAPTOP as module&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened and merged &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1854&quot;&gt;!1854: Fix ordering of kernel version strings for multiple Debian revisions&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;reviewed and closed &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1857&quot;&gt;!1857: crypto: padlock-sha - Disable for Zhaoxin processor&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1862&quot;&gt;!1862: Fix regressions in debian/bin/test-patches&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;opened &lt;a href=&quot;https://salsa.debian.org/kernel-team/linux/-/merge_requests/1865&quot;&gt;!1865: Draft: hyperv-daemons: Build using upstream Makefile; install hv_fcopy_uio_daemon&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;(LTS) worked on backports to 5.10 and 6.1 of the fixes for
“&lt;a href=&quot;https://blog.qualys.com/vulnerabilities-threat-research/2026/03/12/crackarmor-critical-apparmor-flaws-enable-local-privilege-escalation-to-root&quot;&gt;CrackArmor&lt;/a&gt;”
security flaws&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/linux/news/&quot;&gt;Uploads&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;(LTS) uploaded version 5.10.251-1 to bullseye-security&lt;/li&gt;
              &lt;li&gt;uploaded version 6.12.74-2~bpo12+1 to bookworm-backports&lt;/li&gt;
              &lt;li&gt;uploaded version 6.18.15-1~bpo13+1 to trixie-backports&lt;/li&gt;
              &lt;li&gt;uploaded version 6.19.6-2~bpo13+1 to trixie-backports&lt;/li&gt;
              &lt;li&gt;uploaded version 6.19.8-1~bpo13+1 to trixie-backports&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;(LTS) &lt;a href=&quot;https://tracker.debian.org/pkg/linux-6.1&quot;&gt;linux-6.1&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/linux-6.1/news/&quot;&gt;Uploads&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;uploaded version 6.1.164-1~deb11u1 to bullseye-security&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/linux-base&quot;&gt;linux-base&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/linux-base/news/&quot;&gt;Uploads&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;uploaded version 4.12.1~bpo12+1 to bookworm-backports&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/sgt-puzzles&quot;&gt;sgt-puzzles&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://bugs.debian.org/src:sgt-puzzles&quot;&gt;Bugs&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/363441&quot;&gt;#363441: It’s too easy to quit&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/550311&quot;&gt;#550311: slant: Please make shading of filled squares configurable&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1079717&quot;&gt;#1079717: sgt-puzzles: [Mozaic] crashes when copying the game&lt;/a&gt;&lt;/li&gt;
              &lt;li&gt;closed &lt;a href=&quot;https://bugs.debian.org/1116973&quot;&gt;#1116973: sgt-puzzles: Loopy Spectres type&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/sgt-puzzles/news/&quot;&gt;Uploads&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;uploaded version 20250730.a7c7826-1 to unstable&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/wireless-regdb&quot;&gt;wireless-regdb&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://tracker.debian.org/pkg/wireless-regdb/news/&quot;&gt;Uploads&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;(LTS) uploaded version 2026.02.04-1~deb11u1 to bullseye-security&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Debian non-packages:
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://salsa.debian.org/kernel-team/kernel-team&quot;&gt;kernel-team&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;added script to show status of all kernel team backports&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://salsa.debian.org/salsa-ci-team/pipeline&quot;&gt;pipeline&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;&lt;a href=&quot;https://salsa.debian.org/salsa-ci-team/pipeline/-/issues/&quot;&gt;Issues&lt;/a&gt;:
            &lt;ul&gt;
              &lt;li&gt;opened &lt;a href=&quot;https://salsa.debian.org/salsa-ci-team/pipeline/-/issues/552&quot;&gt;#552: piuparts job fails to install dependencies outside of main&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Mailing lists:
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;https://lists.debian.org/debian-kernel/&quot;&gt;debian-kernel&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;posted and replied to &lt;a href=&quot;https://lists.debian.org/85a5f56ec15a212d00e9e6ea8b117467a1ab4b78.camel@decadent.org.uk&quot;&gt;Agenda items for kernel-team meeting on 2026-03-18&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;replied to &lt;a href=&quot;https://lists.debian.org/7cfabf67aee21b9e8bc64a777cd4b95e4e1ddf18.camel@decadent.org.uk&quot;&gt;How is “keep two last kernels” policy implemented?&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://lists.debian.org/debian-lts-announce/&quot;&gt;debian-lts-announce&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;posted &lt;a href=&quot;https://lists.debian.org/abQNlK3I7kb22ztP@decadent.org.uk&quot;&gt;[SECURITY] [DLA 4498-1] linux security update&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;posted &lt;a href=&quot;https://lists.debian.org/abQNrf0ok3F3r0ID@decadent.org.uk&quot;&gt;[SECURITY] [DLA 4499-1] linux-6.1 security update&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;posted &lt;a href=&quot;https://lists.debian.org/abWnpdMMHCmuNXXw@decadent.org.uk&quot;&gt;[SECURITY] [DLA 4501-1] wireless-regdb new upstream version&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://lore.kernel.org/linux-bluetooth/&quot;&gt;linux-bluetooth&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;(LTS) replied to &lt;a href=&quot;https://lore.kernel.org/linux-bluetooth/249b111f2618ea16b98201dae672b578d501ec4a.camel@decadent.org.uk/T/&quot;&gt;[PATCH v3] Bluetooth: L2CAP: Fix invalid response to L2CAP_ECRED_RECONF_REQ&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://lore.kernel.org/netdev/&quot;&gt;netdev&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;(LTS) replied to &lt;a href=&quot;https://lore.kernel.org/netdev/cfbb231e80caceb4138e37d036de7dca39ec7e7b.camel@decadent.org.uk/T/&quot;&gt;[PATCH net v2] net: consume xmit errors of GSO frames&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;https://lore.kernel.org/stable/&quot;&gt;stable&lt;/a&gt;/&lt;a href=&quot;https://lore.kernel.org/patches/&quot;&gt;patches&lt;/a&gt;:
        &lt;ul&gt;
          &lt;li&gt;(LTS) reviewed
&lt;a href=&quot;https://lore.kernel.org/stable/992df439ca66e562353d285642c6ab8e1c69e2e6.camel@decadent.org.uk/T/&quot;&gt;5.10.252&lt;/a&gt;
and replied to
&lt;a href=&quot;https://lore.kernel.org/stable/f7285cc36ec39c4a6cef633add170518f2e34b3a.camel@decadent.org.uk/T/&quot;&gt;various&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/stable/c48bc87973a165e0a944f7a7665338626187b4fd.camel@decadent.org.uk/T/&quot;&gt;patches&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/patches/f7f34b5cf1ddd5a880e0ceba52670bb73f2d21e2.camel@decadent.org.uk/T/&quot;&gt;included&lt;/a&gt;
&lt;a href=&quot;https://lore.kernel.org/patches/8b929c0ed7884212931668cc77074cbffa2b2d45.camel@decadent.org.uk/T/&quot;&gt;in it&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;</content>
	<author>
	  <name>Ben Hutchings</name>
	   <uri>https://www.decadent.org.uk/ben/blog/</uri> 
	</author>
	<source>
	  <title type="html">Better living through software</title>
	  <subtitle type="html">Ben Hutchings&#39;s diary of life and technology</subtitle>
	  <link rel="self" href="https://www.decadent.org.uk/ben/blog/index.atom"/>
	  <id>https://www.decadent.org.uk/ben/blog/index.atom</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Losing Debian: Sruthi Chandran election flop</title>
	<link href="https://danielpocock.com/en/losing-debian-sruthi-chandran-election-flop/"/>
	<id>https://danielpocock.com/en/losing-debian-sruthi-chandran-election-flop</id>
	<updated>2026-04-01T13:30:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;The fact that only one candidate is running in the
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; elections gives a stark reminder about the state of the
so-called community.  The main reason why other people did not contest
the election is because of fear.  Fear of a circle of reprisals that began
&lt;a href=&quot;https://danielpocock.com/en/adrian-diana-von-bidder-senn-debian-detailed-history-death/&quot;&gt;
when Adrian von Bidder-Senn died on our wedding day&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;When CentOS died, people tried to carry on in various ways.  That tells
us a lot about human psychology.  People knew the game was over but they
tried to continue as if it was business as usual, as if the situation
could be salvaged, as if it was only a temporary crisis.&lt;/p&gt;

&lt;p&gt;Due to years of
&lt;a href=&quot;https://danielpocock.com/en/category/censorship/&quot;&gt;
censorship&lt;/a&gt;, including the
&lt;a href=&quot;https://danielpocock.com/en/how-much-does-google-pay-to-destroy-a-man-and-his-family/&quot;&gt;
payment of $120,000 to steal Debian-related domain names&lt;/a&gt;, the
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianists&lt;/a&gt; have been living in a bubble and deluding themselves.  When
&lt;a href=&quot;https://danielpocock.com/en/people/sruthi-chandran-srud/&quot;&gt;
Sruthi Chandran&lt;/a&gt; nominated on Friday 13th, people acted as if this was
a good thing.&lt;/p&gt;

&lt;p&gt;Now Sruthi has stopped answering questions on the
&lt;a href=&quot;https://lists.debian.org/debian-vote/&quot;&gt;
Debian-vote mailing list&lt;/a&gt; and it seems reality has started to sink in.
People are coming to realize that the position of Debian Project Leader
is the interface between
&lt;a href=&quot;https://danielpocock.com/en/category/debianism/&quot;&gt;
Debianism&lt;/a&gt; and the outside world.  People can fool themselves and
&lt;a href=&quot;https://danielpocock.com/en/category/code-of-conduct-gaslighting/&quot;&gt;
use the Code of Conduct gaslighting&lt;/a&gt; to blackmail other volunteers to
pretend that
&lt;a href=&quot;https://danielpocock.com/en/people/sruthi-chandran-srud/&quot;&gt;
Sruthi&lt;/a&gt; is a great leader.  People are coming to realise that these
tricks won&#39;t work on the wider community.  Given that
&lt;a href=&quot;https://danielpocock.com/en/people/sruthi-chandran-srud/&quot;&gt;
Sruthi&lt;/a&gt; would be Debian&#39;s interface to the outside world, we can&#39;t
just ignore how the world views
&lt;a href=&quot;https://danielpocock.com/en/sruthi-chandran-debian-diversity-favoritism-hidden-conflicts-interest/&quot;&gt;
the candidate who is the wife of another developer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;She has ignored the most serious questions on
&lt;a href=&quot;https://lists.debian.org/debian-vote/&quot;&gt; 
Debian-vote mailing list&lt;/a&gt;.  A woman trying to run Debian from a
&lt;a href=&quot;https://danielpocock.com/en/category/social-control-media/&quot;&gt;
social control media&lt;/a&gt;
account is the death of Debian.  Here is a tally of the number of replies
she provided each day for those who use email, the mainstay of Debian
communication:&lt;/p&gt;

&lt;table&gt;
&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Day&lt;/th&gt;&lt;th&gt;Count&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;14 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;15 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;16 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;17 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;4&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;18 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;19 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;20 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;21 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;22 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;23 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;24 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;25 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;26 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;27 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;28 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;29 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;30 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;31 March&lt;/th&gt;&lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;That is a total of only 15 replies.  She has been largely silent for a
whole week since 24 March.&lt;/p&gt;

&lt;p&gt;Technically, questions and their answers are supposed to be completed
before midnight on Friday, 3 April.  The most critical questions have not
been answered.  In her platform,
&lt;a href=&quot;https://danielpocock.com/en/people/sruthi-chandran-srud/&quot;&gt;
Sruthi Chandran&lt;/a&gt; boasts about being the &quot;Chief orga DebConf India 2023&quot;
but there has never been an official report about the
&lt;a href=&quot;https://lists.debian.org/debian-vote/2026/03/msg00090.html&quot;&gt;
death of Abraham Raji at the conference&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Voting runs from 4 April to 17 April, which is the 15th anniversary of
the day
&lt;a href=&quot;https://danielpocock.com/en/adrian-diana-von-bidder-senn-debian-detailed-history-death/&quot;&gt;
Adrian von Bidder-Senn died on our wedding day&lt;/a&gt;.  It was discussed like
a copy-cat suicide but there was no official report about those deaths
either.&lt;/p&gt;

&lt;p&gt;Remember the words
&lt;a href=&quot;https://abrahamraji.in/post/debian/&quot;&gt;
from Abraham Raji himself&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;em&gt;
Everything in Debian is transparent, all forms of official communication are a matter of public record, the amount of unresolved bugs, every step taken by debian as an organization, everything is in the open! I appreciate that from my distribution. There is no room for underhand corporate deals, no unfair treatment behind private mails and everything can be reviewed by the public.
&lt;/em&gt;&lt;/blockquote&gt;

&lt;p&gt;Does
&lt;a href=&quot;https://danielpocock.com/en/people/sruthi-chandran-srud/&quot;&gt;
Sruthi Chandran&lt;/a&gt; spend more time in &lt;em&gt;debian-private&lt;/em&gt; (leaked)
and WhatsApp groups than the public communication channels that Debian
is supposed to be using?&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://danielpocock.com/en/people/sruthi-chandran-srud/&quot;&gt;
Sruthi Chandran&lt;/a&gt;&#39;s platform tells us she wants to put diversity ahead
of traditional goals like freedom and security.  She has been very vague
about this.  As a consequence, more evidence is going to be published
during the voting period to prove that Debian &quot;diversity&quot; means some men who
did the real work are not being given credit while some large sums of
money were assigned to the wives and girlfriends of cabal members.&lt;/p&gt;

&lt;img alt=&quot;Sruthi Chandran, platform, Debian Project Leader, 2026, Abraham Raji&quot; src=&quot;https://danielpocock.com/assets/people/sruthi-chandran-srud/2026-platform-debconf23.jpg&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;I&#39;ve never stated whether people should vote for
&lt;a href=&quot;https://danielpocock.com/en/people/sruthi-chandran-srud/&quot;&gt;
Sruthi Chandran&lt;/a&gt; or not.  Looking at the tone of the discussion, I feel
people are coming to realise the way the outside world views candidates
like this is not the same way that people view it from inside the bubble.&lt;/p&gt;

&lt;p&gt;Consider the irony: they spent all that money in arguments about
leaks that are &quot;tarnishing&quot; the trademark.  The implication of these
arguments about tarnishing is that the way the outside world views
Debianism does matter.  Can anybody see the risk that
&lt;a href=&quot;https://danielpocock.com/en/people/sruthi-chandran-srud/&quot;&gt;
Sruthi Chandran&lt;/a&gt; and a lop-sided diversity crusade could do far more
to tarnish the trademark than any leaks that have appeared up to this
moment?&lt;/p&gt;

&lt;p&gt;Debian may not die exactly the same way that CentOS died.  At some
point, as with CentOS, we will go past the point of no return.  Maybe
we already did.  Will people have the courage to ask questions before
that threshold is crossed or will they continue acting as if nothing is
wrong even long after the life support system has been unplugged from
the corpse?&lt;/p&gt;

&lt;p&gt;Remember,
&lt;a href=&quot;https://danielpocock.com/en/how-much-does-google-pay-to-destroy-a-man-and-his-family/&quot;&gt;
Debianists gave over $120,000 in kill money to racist Swiss lawyerists to
attack my family&lt;/a&gt; but they didn&#39;t pay
&lt;a href=&quot;https://danielpocock.com/en/people/abraham-raji/&quot;&gt;
Abraham Raji&lt;/a&gt; anything for the work he did helping organise
&lt;a href=&quot;https://danielpocock.com/en/category/debconf23/&quot;&gt;
DebConf23&lt;/a&gt;.  When Raji joined the other developers on the day trip,
&lt;a href=&quot;https://danielpocock.com/en/bad-faith-lawyers-get-lifejackets-abraham-raji-gets-none/&quot;&gt;
they asked him to contribute some of his own money, he was left behind
to swim alone and he drowned&lt;/a&gt;.  Yet the lawyerists
&lt;a href=&quot;https://danielpocock.com/en/how-much-does-google-pay-to-destroy-a-man-and-his-family/&quot;&gt;
were given $120,000&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The best way to encourage people to nominate for the election will be for
the existing leader,
&lt;a href=&quot;https://danielpocock.com/en/people/andreas-tille/&quot;&gt;
Andreas Tille&lt;/a&gt;, to withdraw all the privacy attacks, settle the lawsuits
proactively and ensure the next leader can walk in and find the desk is clean
ready to work on productive things.&lt;/p&gt;

&lt;p&gt;Don&#39;t hold your breath waiting for transparency about these attacks on my
family.  There is still time to watch my video and
&lt;a href=&quot;https://danielpocock.com/en/donate/&quot;&gt;
contribute to the crowdfunding campaign&lt;/a&gt;.&lt;/p&gt;</content>
	<author>
	  <name>Daniel Pocock</name>
	   <uri>https://danielpocock.com/</uri> 
	</author>
	<source>
	  <title type="html">Daniel Pocockâ€™s personal blog | Debian</title>
	  <subtitle type="html">{&quot;de&quot;=&amp;gt;&quot;Softwareentwickler, Free Software-Berater, Debian-Entwickler&quot;, &quot;en&quot;=&amp;gt;&quot;Software engineer, Free, Open Source Software Consultant, Innovator, Fedora &amp;amp; Debian Developer&quot;, &quot;es&quot;=&amp;gt;&quot;Ingeniera de software, Consultor de software libre, Desarrollador Debian&quot;, &quot;fr&quot;=&amp;gt;&quot;Ingénieur logiciel, developeur du logiciel libré, Developeur du Debian&quot;, &quot;it&quot;=&amp;gt;&quot;Ingegnere informatico, Consulente di software libero, Sviluppatore Debian&quot;}</subtitle>
	  <link rel="self" href="https://danielpocock.com/feed/debian.xml"/>
	  <id>https://danielpocock.com/feed/debian.xml</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">Quote #75514</title>
	<link href="https://mako.cc/copyrighteous/quote-75514"/>
	<id>https://mako.cc/copyrighteous/?p=3356</id>
	<updated>2026-03-31T21:13:00+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;p&gt;Although I never submitted to it, I made several appearances in the now-defunct quote database on bash.org (QDB). I’m dealing with a broken keyboard now, and went to dig hard to find &lt;a href=&quot;https://web.archive.org/web/20221210050632/http://bash.org/?75514&quot;&gt;this classic in the Wayback machine&lt;/a&gt;. I thought I would put it back on the web:&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;p class=&quot;quote&quot;&gt;&lt;code&gt;&amp;lt;mako&amp;gt; my letter &quot;eye&quot; stopped worng
&amp;lt;luca&amp;gt; k, too?
&amp;lt;mako&amp;gt; yeah
&amp;lt;luca&amp;gt; sounds like a mountain dew spill
&amp;lt;mako&amp;gt; and comma
&amp;lt;mako&amp;gt; those three
&amp;lt;mako&amp;gt; ths s horrble
&amp;lt;luca&amp;gt; tme for a new eyboard
&amp;lt;luca&amp;gt; &#39;ve successfully taen my eyboard apart and fxed t by cleanng t wth alcohol
&amp;lt;mako&amp;gt; stop mang fun of me
&amp;lt;mako&amp;gt; ths s a laptop!&lt;/code&gt;&lt;/p&gt;&lt;/pre&gt;



&lt;p&gt;It was, in fact, horrble.&lt;/p&gt;



&lt;p&gt;&lt;/p&gt;</content>
	<author>
	  <name>Benjamin Mako Hill</name>
	   <uri>https://mako.cc/copyrighteous</uri> 
	</author>
	<source>
	  <title type="html">copyrighteous</title>
	  <subtitle type="html">rebel with rather too many causes</subtitle>
	  <link rel="self" href="https://mako.cc/copyrighteous/feed"/>
	  <id>https://mako.cc/copyrighteous</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">Finding: Promoting SeaBIOS Cloud Images to UEFI Secure Boot (Proxmox)</title>
	<link href="https://wp.c9h.org/cj/?p=2133"/>
	<id>https://wp.c9h.org/cj/?p=2133</id>
	<updated>2026-03-31T21:03:24+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;h2 id=&quot;discovery&quot;&gt;Discovery&lt;/h2&gt;
&lt;p&gt;Legacy cloud templates often lack the partitioning and bootloader&lt;br /&gt;
binaries required for UEFI Secure Boot. Attempting to switch such a VM&lt;br /&gt;
to OVMF in Proxmox results in “not a bootable disk.” We discovered that&lt;br /&gt;
a surgical promotion is possible by manipulating the block device and&lt;br /&gt;
EFI variables from the hypervisor.&lt;/p&gt;
&lt;h2 id=&quot;the-problem&quot;&gt;The Problem&lt;/h2&gt;
&lt;ol type=&quot;1&quot;&gt;
&lt;li&gt;&lt;strong&gt;Protective MBR Flags:&lt;/strong&gt; Legacy installers often set&lt;br /&gt;
the &lt;code&gt;pmbr_boot&lt;/code&gt; flag on the GPT’s protective MBR. Strict UEFI&lt;br /&gt;
implementations (OVMF) will ignore the GPT if this flag is present.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Missing ESP:&lt;/strong&gt; Cloud images often lack a FAT32 EFI&lt;br /&gt;
System Partition (ESP).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Variable Store:&lt;/strong&gt; A fresh Proxmox&lt;br /&gt;
&lt;code&gt;efidisk0&lt;/code&gt; is empty and lacks both the trust certificates&lt;br /&gt;
(PK/KEK/db) and the BootOrder entries required for an automated&lt;br /&gt;
boot.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;the-promotion-rule&quot;&gt;The “Promotion” Rule&lt;/h2&gt;
&lt;p&gt;To upgrade a SeaBIOS VM to Secure Boot without a full OS reinstall:&lt;br /&gt;
1. &lt;strong&gt;Surgical Partitioning:&lt;/strong&gt; Map the disk on the host and&lt;br /&gt;
add a FAT32 partition (Type &lt;code&gt;EF00&lt;/code&gt;). Clear the&lt;br /&gt;
&lt;code&gt;pmbr_boot&lt;/code&gt; flag from the MBR. 2. &lt;strong&gt;Binary&lt;br /&gt;
Preparation:&lt;/strong&gt; Boot the VM in SeaBIOS mode to install&lt;br /&gt;
&lt;code&gt;shim&lt;/code&gt; and &lt;code&gt;grub-efi&lt;/code&gt; packages. Use&lt;br /&gt;
&lt;code&gt;grub2-mkconfig&lt;/code&gt; to populate the new ESP. 3. &lt;strong&gt;Trust&lt;br /&gt;
Injection:&lt;/strong&gt; Use the &lt;code&gt;virt-fw-vars&lt;/code&gt; utility on the&lt;br /&gt;
hypervisor to programmatically enroll the Red Hat/Microsoft CA keys and&lt;br /&gt;
any custom certificates (e.g., FreeIPA CA) into the VM’s&lt;br /&gt;
&lt;code&gt;efidisk&lt;/code&gt;. 4. &lt;strong&gt;Boot Pinning:&lt;/strong&gt; Explicitly set&lt;br /&gt;
the UEFI &lt;code&gt;BootOrder&lt;/code&gt; to point to the &lt;code&gt;shimx64.efi&lt;/code&gt;&lt;br /&gt;
path via &lt;code&gt;virt-fw-vars --append-boot-filepath&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&quot;solution-example-command-sequence&quot;&gt;Solution (Example Command&lt;br /&gt;
Sequence)&lt;/h2&gt;
&lt;p&gt;On the Proxmox Host (&lt;code&gt;root&lt;/code&gt;):&lt;/p&gt;
&lt;div class=&quot;sourceCode&quot; id=&quot;cb1&quot;&gt;
&lt;pre class=&quot;sourceCode bash&quot;&gt;&lt;code class=&quot;sourceCode bash&quot;&gt;&lt;span id=&quot;cb1-1&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-1&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;co&quot;&gt;# Map and Clean MBR&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb1-2&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-2&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;va&quot;&gt;DEV&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;va&quot;&gt;$(&lt;/span&gt;&lt;span class=&quot;ex&quot;&gt;rbd&lt;/span&gt; map pool/disk&lt;span class=&quot;va&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb1-3&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-3&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;ex&quot;&gt;parted&lt;/span&gt; &lt;span class=&quot;at&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;va&quot;&gt;$DEV&lt;/span&gt; disk_set pmbr_boot off&lt;/span&gt;
&lt;span id=&quot;cb1-4&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-4&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span id=&quot;cb1-5&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-5&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;co&quot;&gt;# Inject Trust and Boot Path (VM must be stopped)&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb1-6&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-6&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;ex&quot;&gt;virt-fw-vars&lt;/span&gt; &lt;span class=&quot;at&quot;&gt;--inplace&lt;/span&gt; /dev/rbd/mapped_efidisk &lt;span class=&quot;dt&quot;&gt;\&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb1-7&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-7&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;  &lt;span class=&quot;at&quot;&gt;--enroll-redhat&lt;/span&gt; &lt;span class=&quot;dt&quot;&gt;\&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb1-8&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-8&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;  &lt;span class=&quot;at&quot;&gt;--add-db&lt;/span&gt; &lt;span class=&quot;op&quot;&gt;&amp;lt;&lt;/span&gt;GUID&lt;span class=&quot;op&quot;&gt;&amp;gt;&lt;/span&gt; /path/to/ipa-ca.crt &lt;span class=&quot;dt&quot;&gt;\&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb1-9&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-9&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;  &lt;span class=&quot;at&quot;&gt;--append-boot-filepath&lt;/span&gt; &lt;span class=&quot;st&quot;&gt;&#39;\EFI\centos\shimx64.efi&#39;&lt;/span&gt; &lt;span class=&quot;dt&quot;&gt;\&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb1-10&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-10&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;  &lt;span class=&quot;at&quot;&gt;--sb&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;This workflow enables high-integrity Secure Boot environments using&lt;br /&gt;
existing SeaBIOS infrastructure templates.&lt;/p&gt;

&lt;div class=&quot;twitter-share&quot;&gt;&lt;a class=&quot;twitter-share-button&quot; href=&quot;https://twitter.com/intent/tweet?url=https%3A%2F%2Fwp.c9h.org%2Fcj%2F%3Fp%3D2133&amp;amp;via=cjamescollier&quot;&gt;Tweet&lt;/a&gt;&lt;/div&gt;</content>
	<author>
	  <name>C.J. Collier</name>
	   <uri>https://wp.c9h.org/cj</uri> 
	</author>
	<source>
	  <title type="html">debian – Clerical Rigor</title>
	  <subtitle type="html">If you can&#39;t find the time to do it right the first time, where will you find the time to do it over?</subtitle>
	  <link rel="self" href="http://wp.c9h.org/cj/?cat=17&amp;feed=rss2"/>
	  <id>https://wp.c9h.org/cj</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">FAIme using apt-cacher-ng</title>
	<link href="http://blog.fai-project.org/posts/acng/"/>
	<id>http://blog.fai-project.org/posts/acng/</id>
	<updated>2026-03-31T13:50:57+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;The &lt;a href=&quot;https://fai-project.org/FAIme&quot;&gt;FAI.me service&lt;/a&gt;
has become faster over the past two months.&lt;/p&gt;

&lt;p&gt;First, the tool fai-mirror can now download all packages
in one go (with all their dependencies) instead of downloading one by
one. This helped a lot for the Linux Mint ISO because it uses a long
list of packages.&lt;/p&gt;

&lt;p&gt;I&#39;ve also added a local apt cache (using &lt;a href=&quot;https://www.unix-ag.uni-kl.de/~bloch/acng/&quot;&gt;apt-cacher-ng&lt;/a&gt;),
so the network speed does not matter any more in most cases.
This led to the following improvements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Linux Mint install ISOs went from around 6-7 min to now only 2min.&lt;/li&gt;
&lt;li&gt;Ubuntu install ISO went from average 3min to around 90 seconds.&lt;/li&gt;
&lt;li&gt;The average time for a Debian Linux install ISO dropped from 2min
to 40 seconds.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;So far we only had once a problem with apt-cacher-ng, because the
underlying partition was full.&lt;/p&gt;

&lt;p&gt;Building cloud and live images do not gain that much from the local
package cache, because most time is spend in extracting and installing
the packages.&lt;/p&gt;</content>
	<author>
	  <name>Thomas Lange</name>
	   <uri>http://blog.fai-project.org/</uri> 
	</author>
	<source>
	  <title type="html">FAI (Fully Automatic Installation) / Plan your
Installation and FAI installs your Plan</title>
	  <subtitle type="html">faiblog</subtitle>
	  <link rel="self" href="http://blog.fai-project.org/index.rss"/>
	  <id>http://blog.fai-project.org/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Mailman3 has 2 databases. Whoops.</title>
	<link href="https://current.workingdirectory.net/posts/2026/mailman3-migration/"/>
	<id>https://current.workingdirectory.net/posts/2026/mailman3-migration/</id>
	<updated>2026-03-30T12:27:10+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;At &lt;a href=&quot;https://mayfirst.coop/&quot;&gt;May First&lt;/a&gt; we have been carefully planning our
migration of about 1200 lists from mailman2 to mailman3 for almost six months
now. We did a lot of user communications, had several months of beta testing
with a handful of lists ported over, and everything was looking good. So we
kicked off the migration!&lt;/p&gt;
&lt;p&gt;But, about 15% of the way through I started seeing sqlite lock errors. Wait,
what? I carefully re-configured mailman3 to use postgres, not sqlite. Well,
yes, but apparently that was for the database managing the email list
configuration, not the database powering the django web app, which,
incidentally, also includes hundresds of gigabytes of archives. In other words,
the one we &lt;em&gt;really&lt;/em&gt; need in postgres, not sqlite.&lt;/p&gt;
&lt;h2 id=&quot;moving-from-sqlite-to-postgres&quot;&gt;Moving from sqlite to postgres&lt;/h2&gt;
&lt;p&gt;Well that sucks. We immediately stopped the migration to deal with this.&lt;/p&gt;
&lt;p&gt;I noticed that the web is full of useful django instructions on how to migrate
your database from one database to antoher. However, if you read the fine
print, those convenient looking “&lt;code&gt;dumpdata&lt;/code&gt; &lt;code&gt;loaddata&lt;/code&gt;” workflows are designed
to move the table definitions and a small amount of data. In our case, even
after just 15% of our lists moved, our sqlite database was about 30GB.&lt;/p&gt;
&lt;p&gt;I considered some of the hacks to manage memory and try to run this via django,
but eventually decided that &lt;a href=&quot;https://pgloader.io/&quot;&gt;pgloader&lt;/a&gt; was a more robust
option. This option also allowed me to more easily test things out on a copy of
our sqlite database (made while mailman was turned off). This way I could
migrate and re-migrate the sqlite database over and over without impacting our
live installation until I was satisfied it was all working.&lt;/p&gt;
&lt;p&gt;My first decision was to opt out of pgloader’s schema creation. I used django’s
schema creation tool by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Turning off mailman3 and mailman3-web and changing the mailman web
configuration to use the new postgresql database.&lt;/li&gt;
&lt;li&gt;Running &lt;code&gt;mailman-web migrate&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Changing the mailman web configuration back to sqlite and starting
everything again.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note: I tried just adding new database settings in the mailman web
configuration indexed to ’new’ - django has the ability to define different
databases by name, then you can run &lt;code&gt;mailman-web migrate --database new&lt;/code&gt;. But,
during the migration, I caught django querying the sqlite database for some
migrations that required referencing existing fields (specifically hyperkitty’s
&lt;code&gt;0003_thread_starting_email&lt;/code&gt;). I didn’t want any of these steps to touch the
live database so I opted for the cleaner approach.&lt;/p&gt;
&lt;p&gt;Once I had a clean postgres schema, I dumped it so I could easily return to
this spot.&lt;/p&gt;
&lt;p&gt;Next I started working on our &lt;code&gt;pgloader&lt;/code&gt; load file. After a lot of trial and
error, I ended with:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;chroma&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-gdscript3&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;&lt;span class=&quot;n&quot;&gt;LOAD&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;DATABASE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;FROM&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sqlite&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;///&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lib&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mailman3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sqlite&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;postgres&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;migration&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mailman3web&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clean&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;backup&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;db&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;INTO&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;postgresql&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mailmanweb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xxxxxxxxxxx&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;localhost&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5432&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mailmanweb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;&lt;span class=&quot;n&quot;&gt;WITH&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;only&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;reset&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sequences&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;include&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;no&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;drop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;disable&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;triggers&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;create&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;no&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tables&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;batch&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;size&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;batch&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;rows&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;500&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;prefetch&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;rows&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;workers&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;concurrency&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;&lt;span class=&quot;n&quot;&gt;SET&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;work_mem&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&#39;64MB&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;maintenance_work_mem&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&#39;512MB&#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;&lt;span class=&quot;n&quot;&gt;CAST&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;datetime&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;timestamptz&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;drop&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;drop&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;date&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;date&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;drop&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;drop&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;ne&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;precision&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tinyint&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;to&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;boolean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;    &lt;span class=&quot;n&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;text&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;varchar&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;characters&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The batch, prefetch, workers and concurreny settings are all there to ensure
memory doesn’t blow up.&lt;/p&gt;
&lt;p&gt;I also discovered that I had to make some changes to the schema before loading
data. Mostly truncating tables that the django migrate command populated to
avoid duplicate key errors:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;chroma&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-zed&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;&lt;span class=&quot;n&quot;&gt;TRUNCATE&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;TABLE&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;django_migrations&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CASCADE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;&lt;span class=&quot;w&quot;&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;TRUNCATE&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;TABLE&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;django_content_type&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CASCADE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;&lt;span class=&quot;w&quot;&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;TRUNCATE&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;TABLE&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;auth_permission&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CASCADE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;&lt;span class=&quot;w&quot;&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;TRUNCATE&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;TABLE&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;django_site&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CASCADE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And also, I had to change a column type. Apparently the mailman import process
allowed an attachment file name that exceeds the limit for postgres, but was
allowed into sqlite:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;chroma&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-fallback&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;ALTER TABLE hyperkitty_attachment ALTER COLUMN name TYPE text
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When &lt;code&gt;pgloader&lt;/code&gt; runs, we still get a lot of warnings from pgloader, which wants
to cast columns differently than django does. These are harmless (I was able to
import the data without a problem).&lt;/p&gt;
&lt;p&gt;And there are still a lot of warnings along the lines of:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;2026-03-30T14:08:01.691990Z WARNING PostgreSQL warning: constraint “hyperkitty_vote_email_id_73a50f4d_fk_hyperkitty_email_id” of relation “hyperkitty_vote” does not exist, skipping&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;These are harmless as well. They appear because &lt;code&gt;disable triggers&lt;/code&gt; disables
foreign key constraints. Without it, we wouldn’t be able to load tables that
require values in tables that have not yet been populated.&lt;/p&gt;
&lt;p&gt;After all the tweaking, the import of our 30GB sqlite database took about 40
minutes.&lt;/p&gt;
&lt;h2 id=&quot;final-steps&quot;&gt;Final Steps&lt;/h2&gt;
&lt;p&gt;I think the &lt;code&gt;reset sequences&lt;/code&gt; from &lt;code&gt;pgloader&lt;/code&gt; should take care of this, but just in case:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;chroma&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-fallback&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;mailman-web sqlsequencereset hyperkitty mailman_django auth | mailman-web dbshell
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And, just to ensure postgres is optimized, run this in the psql shell:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;chroma&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-fallback&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;cl&quot;&gt;ANALYZE VERBOSE;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&quot;last-thoughts&quot;&gt;Last thoughts&lt;/h2&gt;
&lt;p&gt;I understand very well all the decisions the mailman3 devs made in designing
the next version of mailman, and if I was in the same place I may have made
them the same ones. For example, separating the code running the mailing list
from the code managing the archives and the web interface makes perfectly good
sense - many people might want to run just the mailing list part without a web
interface. And building the web interface in django makes a lot of sense as
well - why re-invent the wheel? I’m sure a lot of time and effort was saved by
simply using the built in features you get for free with django.&lt;/p&gt;
&lt;p&gt;But the unfortunate consequence of these decisions is that sys admins have a
much harder time. Almost everyone wants the email lists along with the web
interface and the archives. But nobody wants two different configuration files
with different syntaxes and logic, not to mention two different command lines
to use for maintenance and configuration with completely different APIs. Trying
to understand how to change a default template or set list defaults requires a
lot of research and usually you have to write a python script to do it.&lt;/p&gt;
&lt;p&gt;I have finally come to the conclusion that mailman2 is designed for sys admins,
while mailman3 is designed for developers.&lt;/p&gt;
&lt;p&gt;Despite these short comings, I am impressed with the community and their quick
and friendly responses to the questions of a confused sys admin. That might be
more valuable than anything else.&lt;/p&gt;</content>
	<author>
	  <name>Jamie McClelland</name>
	   <uri>https://current.workingdirectory.net/tags/debian/</uri> 
	</author>
	<source>
	  <title type="html">Debian on Website of Jamie McClelland</title>
	  <subtitle type="html">Recent content in Debian on Website of Jamie McClelland</subtitle>
	  <link rel="self" href="https://current.workingdirectory.net/tags/debian/index.xml"/>
	  <id>https://current.workingdirectory.net/tags/debian/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Converting Dovecot password schemes on the fly without (too much) cursing</title>
	<link href="https://www.die-welt.net/2026/03/converting-dovecot-password-schemes-on-the-fly-without-too-much-cursing/"/>
	<id>https://www.die-welt.net/2026/03/converting-dovecot-password-schemes-on-the-fly-without-too-much-cursing/</id>
	<updated>2026-03-28T22:11:57+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;I finally upgraded my mail server to Debian 13 and, as expected, the Dovecot part was quite a ride.&lt;/p&gt;
&lt;p&gt;The configuration syntax changed between Dovecot 2.3 (Debian 12) and Dovecot 2.4 (Debian 13),
so I started first with diffing my configuration against a vanilla Debian 12 one (this setup is slightly old) and then applied the same (logical) changes to a vanilla Debian 13 one.
This mostly went well.
Mostly because my user database is stored in SQL and while the &lt;a href=&quot;https://dovecot.org/upgrader/&quot;&gt;Dovecot Configuration Upgrader&lt;/a&gt; says it can convert old &lt;code&gt;dovecot-auth-sql.conf.ext&lt;/code&gt; files to the new syntax,
it only does so for the structure, not the SQL queries themselves.
While I don&#39;t expect it to be able to parse the queries and adopt them correctly,
at least a hint that the field names in &lt;a href=&quot;https://doc.dovecot.org/2.4.3/core/config/auth/userdb.html&quot;&gt;userdb&lt;/a&gt; changed and might require adjustment would&#39;ve been cool.&lt;/p&gt;
&lt;p&gt;Once I got that all sorted, Dovecot would still refuse to let me in:&lt;/p&gt;
&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;code literal-block&quot;&gt;Error: sql: Invalid password in passdb: Weak password scheme &#39;MD5-CRYPT&#39; used and refused
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Yeah, right.
Did I mention that this setup is old?&lt;/p&gt;
&lt;p&gt;The quick cure against this is a &lt;code&gt;auth_allow_weak_schemes = yes&lt;/code&gt; in &lt;code&gt;/etc/dovecot/conf.d/10-auth.conf&lt;/code&gt;,
but long term I really should upgrade the password hashes in the database to something more modern.&lt;/p&gt;
&lt;p&gt;And this is what this post is about.&lt;/p&gt;
&lt;p&gt;My database only contains hashed (and salted) passwords,
so I can&#39;t just update them without changing the password.
And while there are only 9 users in total,
I wanted to play nice and professional.
(LOL)&lt;/p&gt;
&lt;p&gt;There is a &lt;a href=&quot;https://doc.dovecot.org/2.4.3/howto/convert_password_schemes.html&quot;&gt;Converting Password Schemes&lt;/a&gt; howto in the Dovecot documentation,
but it uses a rather odd looking PHP script, wrapped in a shell script which leaks the plaintext password to the process list,
and I really didn&#39;t want to remember how to write PHP to complete this task.&lt;/p&gt;
&lt;p&gt;Luckily, &lt;a href=&quot;https://xkcd.com/208/&quot;&gt;I know Python&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The general idea is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;As we&#39;re using plaintext authentication (&lt;code&gt;auth_mechanisms = plain login&lt;/code&gt;),
  the plaintext password is available during login.&lt;/li&gt;
&lt;li&gt;After Dovecot&#39;s &lt;code&gt;imap-login&lt;/code&gt; has verified the password against the old (insecure) hash in the database,
  we can &lt;a href=&quot;https://doc.dovecot.org/2.4.3/core/config/post_login_scripting.html&quot;&gt;execute a post-login script&lt;/a&gt;,
  which will connect to the database and update it with a new hash of the plaintext password.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To make the plaintext password available to the post-login script,
we add &lt;code&gt;&#39;%{password}&#39; as userdb_plain_pass&lt;/code&gt; to the &lt;code&gt;SELECT&lt;/code&gt; statement of our &lt;code&gt;passdb&lt;/code&gt; query.
The original howto also says to add a &lt;code&gt;prefetch&lt;/code&gt; &lt;code&gt;userdb&lt;/code&gt;, which we do.
The &lt;code&gt;sql&lt;/code&gt; &lt;code&gt;userdb&lt;/code&gt; remains, as otherwise Postfix can&#39;t use Dovecot to deliver mail.&lt;/p&gt;
&lt;p&gt;Now comes the interesting part.
We need to write a script that is executed by Dovecot&#39;s &lt;code&gt;script-login&lt;/code&gt; and that will update the database for us.
Thanks to Python&#39;s &lt;a href=&quot;https://passlib.readthedocs.io/&quot;&gt;&lt;code&gt;passlib&lt;/code&gt;&lt;/a&gt; and &lt;a href=&quot;https://github.com/PyMySQL/mysqlclient&quot;&gt;&lt;code&gt;mysqlclient&lt;/code&gt;&lt;/a&gt;,
the database and hashing parts are relatively straight forward:&lt;/p&gt;
&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;code literal-block&quot;&gt;&lt;span class=&quot;ch&quot;&gt;#!/usr/bin/env python3&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nn&quot;&gt;os&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nn&quot;&gt;MySQLdb&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nn&quot;&gt;passlib.hash&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;DB_SETTINGS&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;host&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;127.0.0.1&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;user&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;user&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;password&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;password&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;database&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;mail&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;SELECT_QUERY&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;SELECT password_enc FROM mail_users WHERE username=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;%(username)s&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;UPDATE_QUERY&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;UPDATE mail_users SET password_enc=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;%(pwhash)s&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; WHERE username=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;%(username)s&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;SCHEME&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;bcrypt&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;EXPECTED_PREFIX&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;$2b$&quot;&lt;/span&gt;


&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;():&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# https://doc.dovecot.org/2.4.3/core/config/post_login_scripting.html&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# https://doc.dovecot.org/2.4.3/howto/convert_password_schemes.html&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;user&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;environ&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;USER&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;plain_pass&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;environ&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;PLAIN_PASS&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plain_pass&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;db&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;MySQLdb&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DB_SETTINGS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;cursor&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;db&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cursor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;cursor&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;execute&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SELECT_QUERY&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;username&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;user&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cursor&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fetchone&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;current_pwhash&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;current_pwhash&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;startswith&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;EXPECTED_PREFIX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;hash_module&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;getattr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;passlib&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hash&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SCHEME&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;pwhash&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;hash_module&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hash&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;plain_pass&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;pwhash&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pwhash&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;username&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;user&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;cursor&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;execute&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;UPDATE_QUERY&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;cursor&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;db&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;


&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;vm&quot;&gt;__name__&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;__main__&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;But if we add that as &lt;code&gt;executable = script-login /etc/dovecot/dpsu.py&lt;/code&gt; to our &lt;code&gt;imap-postlogin&lt;/code&gt; &lt;code&gt;service&lt;/code&gt;,
as the howto suggests, the users won&#39;t be able to login anymore:&lt;/p&gt;
&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;code literal-block&quot;&gt;Error: Post-login script denied access to user
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;WAT?&lt;/p&gt;
&lt;p&gt;Remember that shell script I wanted to avoid?
It ends with &lt;code&gt;exec &quot;$@&quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Turns out the &lt;code&gt;script-login&lt;/code&gt; &quot;API&quot; is rather interesting.
It&#39;s not &quot;pass in a list of scripts to call and I&#39;ll call all of them&quot;.
It&#39;s &quot;pass a list of scripts, I&#39;ll &lt;a href=&quot;https://linux.die.net/man/3/execv&quot;&gt;&lt;code&gt;execv&lt;/code&gt;&lt;/a&gt; the first item and pass the rest as args, and every item is expected to &lt;code&gt;execv&lt;/code&gt; the next one again&quot;. ðŸ¤¯&lt;/p&gt;
&lt;p&gt;With that (cursed) knowledge, the script becomes:&lt;/p&gt;
&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;code literal-block&quot;&gt;&lt;span class=&quot;ch&quot;&gt;#!/usr/bin/env python3&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nn&quot;&gt;os&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nn&quot;&gt;sys&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nn&quot;&gt;MySQLdb&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nn&quot;&gt;passlib.hash&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;DB_SETTINGS&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;host&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;127.0.0.1&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;user&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;user&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;password&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;password&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;database&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;mail&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;SELECT_QUERY&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;SELECT password_enc FROM mail_users WHERE username=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;%(username)s&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;UPDATE_QUERY&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;UPDATE mail_users SET password_enc=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;%(pwhash)s&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; WHERE username=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;%(username)s&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;SCHEME&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;bcrypt&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;EXPECTED_PREFIX&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;$2b$&quot;&lt;/span&gt;


&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;():&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# https://doc.dovecot.org/2.4.3/core/config/post_login_scripting.html&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# https://doc.dovecot.org/2.4.3/howto/convert_password_schemes.html&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;user&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;environ&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;USER&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;plain_pass&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;environ&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;PLAIN_PASS&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plain_pass&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;None&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;db&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;MySQLdb&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DB_SETTINGS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;cursor&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;db&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cursor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;cursor&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;execute&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SELECT_QUERY&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;username&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;user&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cursor&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fetchone&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;current_pwhash&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;current_pwhash&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;startswith&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;EXPECTED_PREFIX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;hash_module&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;getattr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;passlib&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hash&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SCHEME&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;pwhash&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;hash_module&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hash&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;plain_pass&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;pwhash&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pwhash&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;username&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;user&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;cursor&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;execute&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;UPDATE_QUERY&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;cursor&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;db&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;execv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sys&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;argv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sys&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;argv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:])&lt;/span&gt;


&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;vm&quot;&gt;__name__&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;__main__&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;And the passwords are getting gradually updated as the users log in.
Once all are updated, we can remove the post-login script and drop the &lt;code&gt;auth_allow_weak_schemes = yes&lt;/code&gt;.&lt;/p&gt;</content>
	<author>
	  <name>evgeni</name>
	   <uri>https://www.die-welt.net/</uri> 
	</author>
	<source>
	  <title type="html">die-welt.net (Posts about planet-debian)</title>
	  
	  <link rel="self" href="https://www.die-welt.net/category/planet-debian.xml"/>
	  <id>https://www.die-welt.net/</id>  <rights type="html">Contents © 2026 &lt;a href=&quot;mailto:evgeni@golov.de&quot;&gt;evgeni&lt;/a&gt;</rights>
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Digital gardening</title>
	<link href="https://jmtd.net/log/gardening/"/>
	<id>https://jmtd.net/log/gardening/</id>
	<updated>2026-03-27T22:05:39+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;I was reading &lt;a href=&quot;https://alexwlchan.net/2026/mosaic/&quot;&gt;a post&lt;/a&gt; on &lt;a href=&quot;https://alexwlchan.net/&quot;&gt;Alex Chan&#39;s
website&lt;/a&gt;&lt;sup id=&quot;fnref:1&quot;&gt;&lt;a href=&quot;https://jmtd.net/log/#fn:1&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; that referenced the concept of
&lt;a href=&quot;https://tomcritchlow.com/2019/02/17/building-digital-garden/&quot;&gt;digital gardens&lt;/a&gt;,
a concept/analogy for organising information which dates back to the 90s.
This old concept is getting new traction today by contrasting the approach
with &quot;endless stream&quot; as used and abused by social media, but also how blogs
are typically presented.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This site&lt;/em&gt;, my homepage, has a blog, and that&#39;s the bit that most people who
interact with the site will experience. Partly, because it&#39;s the bit that gets
syndicated out: via &lt;a href=&quot;https://jmtd.net/log/feed/&quot;&gt;feeds&lt;/a&gt;; on &lt;a href=&quot;https://planet.debian.org&quot;&gt;Planet
Debian&lt;/a&gt; and downstream from it; once upon a time on
Twitter; nowadays on &lt;a href=&quot;https://pleroma.debian.social/jmtd&quot;&gt;the Fediverse&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;However there&#39;s more to my homepage than that. The rest of it may be of little
interest to anyone beside me, but it&#39;s useful to me, at least. So I may switch
focus a little bit from mainly writing blog posts, and tend to the rest of the
garden a bit more.&lt;/p&gt;

&lt;p&gt;Some recent seeding and pruning:
Recently my guest status at Newcastle University came up for renewal, so I
wrote down my goals in the Historic Computing Committee for the next year or
so, and put them here: &lt;a href=&quot;https://jmtd.net/nuhcc/&quot;&gt;nuhcc&lt;/a&gt;. I&#39;ve also been pondering what I&#39;m up to in
&lt;a href=&quot;https://jmtd.net/debian/&quot;&gt;Debian&lt;/a&gt; at the moment, so took some time to add my current projects to
that page.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id=&quot;fn:1&quot;&gt;
I&#39;m reminded that I should really publish a &quot;blog roll&quot; of cool
  blogs I&#39;m following at the moment, of which Alex Chan&#39;s is one.&lt;a href=&quot;https://jmtd.net/log/#fnref:1&quot; rev=&quot;footnote&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content>
	<author>
	  <name>jmtd</name>
	   <uri>https://jmtd.net/log/</uri> 
	</author>
	<source>
	  <title type="html">Jonathan Dowland&#39;s Weblog</title>
	  <subtitle type="html">jmtd</subtitle>
	  <link rel="self" href="https://jmtd.net/log/index.atom"/>
	  <id>https://jmtd.net/log/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">New Debian Developers and Maintainers (January and February 2026)</title>
	<link href="https://bits.debian.org/2026/03/new-developers-2026-03.html"/>
	<id>tag:bits.debian.org,2026-03-27:/2026/03/new-developers-2026-03.html</id>
	<updated>2026-03-27T22:00:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;The following contributors got their Debian Developer accounts in the last two
months:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Jongmin Kim (jmkim)&lt;/li&gt;
&lt;li&gt;Yifei Zhan (yifei)&lt;/li&gt;
&lt;li&gt;Sébastien Noel (twolife)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following contributors were added as Debian Maintainers in the last two
months:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Andreas Dolp&lt;/li&gt;
&lt;li&gt;Dandan Zhang&lt;/li&gt;
&lt;li&gt;M Hickford&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Congratulations!&lt;/p&gt;</content>
	<author>
	  <name>Jean-Pierre Giraud</name>
	   <uri>https://bits.debian.org/</uri> 
	</author>
	<source>
	  <title type="html">Bits from Debian</title>
	  <subtitle type="html">Blog from the Debian Project</subtitle>
	  <link rel="self" href="https://bits.debian.org/feeds/feed.rss"/>
	  <id>https://bits.debian.org/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">New job at Chainguard</title>
	<link href="https://ral-arturo.org/2026/03/27/chainguard.html"/>
	<id>https://ral-arturo.org/2026/03/27/chainguard.html</id>
	<updated>2026-03-27T08:00:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;&lt;img alt=&quot;Chainguard logo&quot; src=&quot;https://ral-arturo.org/assets/chainguard-logo.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A few months ago, in June 2025, I joined &lt;a href=&quot;https://www.chainguard.dev&quot;&gt;Chainguard&lt;/a&gt;, a company focused on software supply chain security.
This post is a reflection on how I got here, what I’ve been doing, and why this role feels like a natural
fit for my interests in Linux and open source technology.&lt;/p&gt;



&lt;h2 id=&quot;the-company-and-its-mission&quot;&gt;The company and its mission&lt;/h2&gt;

&lt;p&gt;Chainguard’s mission is to make the software supply chain secure by default. The company is built around
the idea that the software we all depend on — from operating system packages to container base images — carries
hidden risk in the form of vulnerabilities, unverified provenance, and untrusted build processes.&lt;/p&gt;

&lt;p&gt;The company is perhaps best known for &lt;a href=&quot;https://www.chainguard.dev/chainguard-images&quot;&gt;Chainguard Images&lt;/a&gt;: a catalog of minimal, hardened container
base images that are continuously rebuilt and kept free of known CVEs. Each image is accompanied by a signed
&lt;a href=&quot;https://www.cisa.gov/sbom&quot;&gt;SBOM&lt;/a&gt; (Software Bill of Materials) and a verifiable &lt;a href=&quot;https://slsa.dev&quot;&gt;provenance attestation&lt;/a&gt;, making it possible
to cryptographically verify what went into a given image and how it was built.&lt;/p&gt;

&lt;p&gt;Chainguard has an extensive catalog of software, and maintaining it up-to-date and CVE-free is a significant
engineering challenge.&lt;/p&gt;

&lt;h2 id=&quot;what-i-do&quot;&gt;What I do&lt;/h2&gt;

&lt;p&gt;I joined the Chainguard Sustaining Engineering team as a Senior Software Engineer. We are responsible
for maintaining packages and images in the software catalog up-to-date and CVE-free. The core of the business, basically.&lt;/p&gt;

&lt;p&gt;We focus on the horizontal dimension of the catalog (pretty much all packages and images).&lt;/p&gt;

&lt;p&gt;With +30,000 packages and +2,000 images, this is indeed an interesting task.&lt;/p&gt;

&lt;p&gt;My role as Debian Developer, and my experiencie in the &lt;a href=&quot;https://ral-arturo.org/2025/04/17/lts.html&quot;&gt;Debian LTS project&lt;/a&gt; was extremely valuable when joning this
new team.&lt;/p&gt;

&lt;h2 id=&quot;looking-ahead&quot;&gt;Looking ahead&lt;/h2&gt;

&lt;p&gt;Software supply chain is truly a deep topic, gaining more and more relevance every day, especially as new technologies emerge
and get adopted everywhere.&lt;/p&gt;

&lt;p&gt;Since early in my career, I saw a recurrent problem of how companies, enterprises, or even governments, relate to and consume
open source software, in a reliable, secure way. I believe Chainguard is doing the right things in the ecosystem,
and I’m happy to be participating in the effort.&lt;/p&gt;</content>
	<author>
	  <name>Arturo Borrero González</name>
	   <uri>https://ral-arturo.org/</uri> 
	</author>
	<source>
	  <title type="html">ral-arturo.org</title>
	  <subtitle type="html">ral-arturo blog, about free software, debian, networks, systems, or whatever</subtitle>
	  <link rel="self" href="https://ral-arturo.org/feed.xml"/>
	  <id>https://ral-arturo.org/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">Artificial Intelligence: Shades of Gray</title>
	<link href="https://changelog.complete.org/archives/42503-artificial-intelligence-shades-of-gray"/>
	<id>https://changelog.complete.org/?p=42503</id>
	<updated>2026-03-25T04:12:18+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;p&gt;AI sure is a hot topic right now, and I see a lot of people arguing about it.  To a lot of people around here, I’m the “computer person” they know and I get asked a lot about AI.&lt;/p&gt;
&lt;p&gt;I’m going to suggest a lot of things can be true at once.  For instance:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;LLMs are changing how we work and will continue to do so.&lt;/li&gt;
&lt;li&gt;LLMs are vastly over-hyped by vested interests, and may be in a bubble.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Or how about:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Huge investment in GenAI is having many negative consequences, ranging from environmental to causing affordability problems in many industries that use hardware (ie, everywhere)&lt;/li&gt;
&lt;li&gt;Useful results can be had from models that run on local hardware, even battery-powered hardware, which may have negligible harm or even some benefit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GenAI is further concentrating wealth and power in megacorps, with the effect of squeezing out the smaller players even more.&lt;/li&gt;
&lt;li&gt;GenAI is lowering the cost of entry for people without a lot of resources already.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have sympathy for the naysayers; those that say it’s nothing but a stochastic parrot.  But I don’t have a lot of sympathy for the naysayers that deny ever using it; you can’t form a credible argument against something without having an understanding of it informed by experience.&lt;/p&gt;
&lt;p&gt;I also have sympathy for the cheerleaders.  I have seen some impressive things from AI; for instance, a story from an engineer who has a child with a rare disease without a credible cure.  The engineer did a lot of research on it, started feeding research papers into AI to analyze, and the AI started finding correlations between different areas of research that humans hadn’t yet found — leading to a positive result for the child.&lt;/p&gt;
&lt;p&gt;To be fair, I have rarely seen an AI deliver a 100% correct answer on anything with any real level of complexity.  I have seen it both waste more time than it saves, and save a ton of time.&lt;/p&gt;
&lt;p&gt;My point here is: It is neither always fantastic nor always terrible.&lt;/p&gt;
&lt;p&gt;Let me talk you through an example.&lt;/p&gt;
&lt;p&gt;I am a fan of inbox zero for email.  That is, the inbox should be empty.  Unfortunately, mine has 8000 messages in it.  According to the oldest messages in my inbox, I last had inbox zero 8 years ago.  But really, only a handful are older than 2020.  I guess something must have happened that year…&lt;/p&gt;
&lt;p&gt;I’ve been chipping away at this for quite some time now.  The problem is, there are certain emails in there that really do still need some action – maybe it’s photos to save off into our photo collection, for instance.  But when looking at things sorted by date or thread, there are old shipping confirmations next to phishing attempts and family photos.  One can’t just scan down the list.&lt;/p&gt;
&lt;p&gt;I’ve tried all the usual tricks, most of which involve selecting groups of message that are easy to bulk erase, or at least easy to scan visually for the occasional thing worth saving.  Sort by sender or subject line, for instance.  Then I can, for instance, delete all the old messages from the shopping sites I commonly use all at once.  But then they start using different senders and different subject lines and that doesn’t get all of them.  I’ve tried keyword searches for this sort of thing too.  Still, that got me down to about 8000 messages.&lt;/p&gt;
&lt;p&gt;So I thought: why not see if an LLM could help me classify these?  Maybe it could categorize them, and then I could look at emails grouped by category.&lt;/p&gt;
&lt;p&gt;I have one machine with a discrete GPU, an Nvidia RTX 4070.  It’s a desktop machine I don’t use all that often.  But I set up Ollama on it, running in a Docker container.  Ollama runs models locally.&lt;/p&gt;
&lt;p&gt;I should also mention at this point that we are solar-powered, and this time of year is a time of peak production of excess solar, because it is sunny and not much heat or AC is required.  So that machine is solar-powered and isn’t causing environmental harm.  In any case, charging the EV uses much more power than that GPU.&lt;/p&gt;
&lt;p&gt;I figured I would do this in two passes.  First, ask the LLM to classify each message (or a sampling of them would probably work too), letting it pick its own categories for each.  Then, look at the patterns that emerge and give it a single, much smaller, set of broad categories to use and rerun it over that.&lt;/p&gt;
&lt;p&gt;Then I can easily select messages from my Maildirs by category and process them in bulk.&lt;/p&gt;
&lt;p&gt;I used &lt;a href=&quot;https://github.com/OpenInterpreter/open-interpreter&quot;&gt;open-interpreter&lt;/a&gt; pointing to that GPU on my network to help me write the scripts for this.  It didn’t get things right on its own; for instance, it didn’t call the Ollama API correctly, and insisted on appending “/cur” to the path to the Maildir (which was not going to fly with Python’s maildir module).  It took roughly an hour to classify those 8000 messages (or, as I had it do, the first 2000 characters of them), and then the same to do it a second time.  I had it output lines in the form of “filename\tcategory” and hand-wrote the shell script that processed those.&lt;/p&gt;
&lt;p&gt;In the end, was it useful?  Yes, quite.  Its classifications weren’t perfect (and it didn’t even follow my prompt perfectly; sometimes it would give me a long discussion on why it picked a certain category rather than just that category, and occasionally it picked categories not on the list).  But then, neither were my manual keyword searches.  So far I’ve gotten rid of nearly 1000 more messages.  Several categories were a “visual scan for sanity and then delete all” sort of thing.&lt;/p&gt;
&lt;p&gt;My emails never left my network.  I didn’t rely on a cloud AI to process them.  I didn’t contribute to global warming (this may have even been a case of saving energy, since it no doubt will offset quite a bit of manual time that would keep screens and room lights energized and so forth).  I used about as much energy as watching a movie on a TV.&lt;/p&gt;
&lt;p&gt;Did it complete the task for me entirely autonomously?  Also no.  AI isn’t a mind reader and it can’t possibly evaluate exactly what my thought process would be for a given task.  But it can do a decent enough job to save me some time.&lt;/p&gt;
&lt;p&gt;Still, this didn’t require hyperscaler datacenters.  AI even runs on-phone (Google Translate being one of the most useful AI-driven apps I’ve ever seen, and it can run on-device).&lt;/p&gt;</content>
	<author>
	  <name>John Goerzen</name>
	   <uri>https://changelog.complete.org</uri> 
	</author>
	<source>
	  <title type="html">The Changelog</title>
	  <subtitle type="html">Comments on family, technology, and society</subtitle>
	  <link rel="self" href="https://changelog.complete.org/feed"/>
	  <id>https://changelog.complete.org</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">systemd has not implemented age verification</title>
	<link href="https://blog.bofh.it/debian/id_473"/>
	<id>tag:https:,2026:id_473</id>
	<updated>2026-03-23T15:47:22+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;This needs to be clear: systemd is under attack by a trolling campaign orchestrated by fascist elements. Nobody is forced to like or use systemd, but anybody who wants to pick a side should know the facts.&lt;/p&gt;

&lt;p&gt;Recently, the free software &lt;a href=&quot;https://en.wiktionary.org/wiki/Nazi_bar&quot;&gt;Nazi bar&lt;/a&gt; crowd styling themselves as &quot;concerned citizens&quot; has tried to start a &lt;a href=&quot;https://en.wikipedia.org/wiki/Moral_panic&quot;&gt;moral panic&lt;/a&gt; by saying that systemd is implementing age verification checks or that somehow it will require providing personally identifiable information.&lt;/p&gt;

&lt;p&gt;This is a lie: the facts are simply that the systemd &lt;a href=&quot;https://www.freedesktop.org/software/systemd/man/latest/systemd-userdbd.service.html&quot;&gt;users database&lt;/a&gt; has gained an optional &quot;date of birth&quot; field, which the desktop environments may use or not as they deem appropriate. Of course there is no &quot;identity verification&quot; or requirements to provide any data, which in any case would not be shared beyond authorized local applications.&lt;/p&gt;

&lt;p&gt;While the multiple recent bills proposing that general purpose operating systems implement age verification mechanisms are often concerning, both from a social and technical point of view, this is not the topic being discussed here. They are often suboptimal, but for a long time I have been opposing attempts to implement parental control at the network level and argued that it should be managed locally, by parents on their own machines: I cannot see why I should outright reject an attempt to implement the infrastructure to do that.&lt;/p&gt;

&lt;p&gt;If we want to keep age-appropriate controls out of the hands of centralized authorities, the alternative is giving families the means to manage it themselves: this is what this field enables. Whether desktop environments use it for parental controls, for birthday reminders, or for nothing at all, is their users&#39; decision.&lt;/p&gt;

&lt;p&gt;By the way, the original UNIX users database has allowed storing PII in the &lt;a href=&quot;https://en.wikipedia.org/wiki/Gecos_field&quot;&gt;GECOS field&lt;/a&gt; since it was invented in the &#39;70s. Similar fields are also specified by many popular LDAP schemes: adding such an optional field is consistent with the UNIX tradition.&lt;/p&gt;

&lt;p&gt;And while we are at it, let&#39;s also refute the other smear campaign started by the same people: the systemd project is not accepting &quot;AI slop&quot;. What happened is that &lt;a href=&quot;https://github.com/systemd/systemd/blob/main/AGENTS.md&quot;&gt;a documentation file for the benefit of coding agents&lt;/a&gt; was added to the repository. To be clear: agents still cannot submit merge requests. The file itself remarks that all contributions must be reviewed in detail by humans, and this is basically the same policy used by the Linux kernel.&lt;/p&gt;</content>
	<author>
	  <name>Marco d&#39;Itri</name>
	   <uri>https://blog.bofh.it/</uri> 
	</author>
	<source>
	  <title type="html">Md at debian.org</title>
	  <subtitle type="html">tales of a debian maintainer</subtitle>
	  <link rel="self" href="https://blog.bofh.it/?format=atom"/>
	  <id>https://blog.bofh.it/?format=atom</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">How taboo shapes knowledge production on Wikipedia</title>
	<link href="https://mako.cc/copyrighteous/how-taboo-shapes-knowledge-production-on-wikipedia"/>
	<id>https://mako.cc/copyrighteous/?p=3351</id>
	<updated>2026-03-23T09:33:53+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;p class=&quot;has-small-font-size&quot;&gt;&lt;em&gt;&lt;strong&gt;Note:&lt;/strong&gt; I have not published blog posts about my academic papers over the past few years. To ensure that my blog contains a more comprehensive record of my published papers and to surface them for folks who missed them, I will periodically (re) publish blog posts about some “older” published projects. This post draws material from &lt;a href=&quot;https://blog.communitydata.science/lets-talk-about-taboo-a-new-paper-on-how-taboo-shapes-activity-on-wikipedia/&quot;&gt;a previously published post&lt;/a&gt; by &lt;a href=&quot;https://zarine.net/&quot;&gt;Kaylea Champion&lt;/a&gt; on &lt;a href=&quot;https://blog.communitydata.science/&quot;&gt;the Community Data Science Blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;



&lt;p id=&quot;block-419f7d04-082e-4c82-8605-89baefb2ee2d&quot;&gt;Taboo subjects—such as sexuality and mental health—are as important to discuss as they are difficult to raise in conversation. Although many people turn to online resources for information on taboo subjects, censorship and low-quality information are common in search results. In two papers I recently published at CSCW—both led by Kaylea Champion—we presented a series of analyses showing how taboo shapes the process of collaborative knowledge building on English Wikipedia.&lt;/p&gt;



&lt;p id=&quot;block-419f7d04-082e-4c82-8605-89baefb2ee2d&quot;&gt;The first study is a quantitative analysis showing that articles on taboo subjects are much more popular and are the subject of more vandalism than articles on non-taboo topics. In surprising news, we also found that they were edited more often and were of higher quality!&lt;/p&gt;



&lt;figure class=&quot;wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio&quot;&gt;&lt;div class=&quot;wp-block-embed__wrapper&quot;&gt;

&lt;/div&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;Short video of Kaylea’s presentation of the work given at Wikimania in August 2023.&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p id=&quot;block-2779c102-6740-41cc-a53f-e3fbe94131db&quot;&gt;The first challenge we faced in conducting this work was identifying taboo articles. Kaylea had a brilliant idea for a new computational approach to doing so without relying on our individual intuitions about what qualifies as taboo (something we understood would be highly specific to our own culture, class, etc). Her approach was to make use of an insight from linguistics: &lt;em&gt;people develop euphemisms as ways to talk about taboos&lt;/em&gt; (i.e., think about all the euphemisms we’ve devised for death, or sex, or menstruation, or mental health).&lt;/p&gt;



&lt;p id=&quot;block-2779c102-6740-41cc-a53f-e3fbe94131db&quot;&gt;We used this insight to build a new machine-learning classifier based on English Wiktionary definitions. If a ‘sense’ of a word was tagged as euphemistic, we treated the words in the definition as indicators of taboo. The end result was a series of words and phrases that most powerfully differentiate taboo from non-taboo. We then did a simple match between those words and phrases and the titles of Wikipedia articles. The topics were taboo enough that we were a little uncomfortable discussing them in our meetings! We built a comparison sample of articles whose titles are words that, like our taboo articles, appear in Wiktionary definitions.&lt;/p&gt;



&lt;p&gt;In the first paper, we used this new dataset to test a series of hypotheses about how taboo shapes collaborative production in Wikipedia. Our initial hypotheses were based on the idea that taboo information is often in high demand but that Wikipedians might be reluctant to associate their names (or usernames) with taboo topics. The result, we argued, would be articles that were in high demand but of low quality. &lt;/p&gt;



&lt;p&gt;We found that taboo articles are thriving on Wikipedia! In summary, we found that in comparison to non-taboo articles:&lt;/p&gt;



&lt;ul class=&quot;wp-block-list&quot;&gt;
&lt;li&gt;Taboo articles are more popular  (&lt;em&gt;as expected&lt;/em&gt;).&lt;/li&gt;



&lt;li&gt;Taboo articles receive more contributions (&lt;em&gt;contrary to expectations&lt;/em&gt;).&lt;/li&gt;



&lt;li&gt;Taboo articles receive more low-quality contributions (&lt;em&gt;as expected&lt;/em&gt;).&lt;/li&gt;



&lt;li&gt;Taboo articles are higher quality (&lt;em&gt;contrary to expectations&lt;/em&gt;).&lt;/li&gt;



&lt;li&gt;Taboo article contributors are more likely to contribute without an account (&lt;em&gt;as expected&lt;/em&gt;), and have less experience (&lt;em&gt;as expected&lt;/em&gt;), but that accountholders are more likely to make themselves more identifiable by having a user page, disclosing their gender, and making themselves emailable (&lt;em&gt;all three of these are contrary to expectation&lt;/em&gt;!).&lt;/li&gt;
&lt;/ul&gt;



&lt;figure class=&quot;wp-block-image&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;wp-image-3352&quot; height=&quot;889&quot; src=&quot;https://mako.cc/copyrighteous/wp-content/uploads/2026/03/screenshot-20260323_180937.png&quot; width=&quot;916&quot; /&gt;&lt;figcaption class=&quot;wp-element-caption&quot;&gt;Image of the estimated qualiy of articles of the four articles in the second mixed-methods paper. Extreme dips reflect periods of frequent vandalism.&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;Kaylea attempted to understand these somewhat confusing results by designing a fantastic mixed-methods analysis that sought to unpack some of the nuance missing in the quantitative analysis by delving deep into the “life histories” of four articles on English Wikipedia: two on taboo topics related to women’s anatomy (&lt;a href=&quot;https://en.wikipedia.org/wiki/Clitoris&quot;&gt;Clitoris&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Menstruation&quot;&gt;Menstration&lt;/a&gt;) and two nontaboo articles chosen for comparison (&lt;a href=&quot;https://en.wikipedia.org/wiki/Cell_membrane&quot;&gt;Cell membrance&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Philip_Pullman&quot;&gt;Philip Pullman&lt;/a&gt;).&lt;/p&gt;



&lt;p&gt;Although the findings from the analysis can be difficult to summarize succinctly (as with many qualitative studies), we showed how the taboo example articles’ success was hard-won amid real challenges and attacks. The paper describes how challenges were overcome through resilient leadership, often provided by a single dedicated individual. The paper provides a template for how taboo can be—and frequently is—overcome by dedicated Wikipedians in ways that provide useful knowledge resources in real demand.&lt;/p&gt;



&lt;p&gt;For more details, visualizations, statistics, and more, we hope you’ll take a look at our papers, both linked below.&lt;/p&gt;



&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot; /&gt;



&lt;p class=&quot;has-small-font-size&quot;&gt;The full citation for the papers are: (1) Champion, Kaylea, and Benjamin Mako Hill. 2023. “Taboo and Collaborative Knowledge Production: Evidence from Wikipedia.” &lt;em&gt;Proceedings of the ACM on Human-Computer Interaction&lt;/em&gt; 7 (CSCW2): 299:1-299:25. &lt;a href=&quot;https://doi.org/10.1145/3610090&quot;&gt;https://doi.org/10.1145/3610090&lt;/a&gt;. (2) Champion, Kaylea, and Benjamin Mako Hill. 2024. “Life Histories of Taboo Knowledge Artifacts.” &lt;em&gt;Proceedings of the ACM: Human-Computer Interaction&lt;/em&gt; 8 (CSCW2): 505:1-505:32. &lt;a href=&quot;https://doi.org/10.1145/3687044&quot;&gt;https://doi.org/10.1145/3687044&lt;/a&gt;. &lt;/p&gt;



&lt;p class=&quot;has-small-font-size&quot;&gt;We have also released &lt;a href=&quot;https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/5OKEEO&quot;&gt;replication materials for the paper&lt;/a&gt;, including all the data and code used to conduct the analyses.&lt;/p&gt;



&lt;p class=&quot;has-small-font-size&quot;&gt;This blog post and the paper it describes are collaborative work by &lt;a href=&quot;https://kayleachampion.com/&quot;&gt;Kaylea Champion&lt;/a&gt; and &lt;a href=&quot;https://mako.cc/academic/&quot;&gt;Benjamin Mako Hill&lt;/a&gt;.&lt;/p&gt;</content>
	<author>
	  <name>Benjamin Mako Hill</name>
	   <uri>https://mako.cc/copyrighteous</uri> 
	</author>
	<source>
	  <title type="html">copyrighteous</title>
	  <subtitle type="html">rebel with rather too many causes</subtitle>
	  <link rel="self" href="https://mako.cc/copyrighteous/feed"/>
	  <id>https://mako.cc/copyrighteous</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Calculate “1/(40rods/hogshead) to L/100km” from your Zsh prompt</title>
	<link href="https://vincent.bernat.ch/en/blog/2026-zsh-calculator"/>
	<id>http://www.luffy.cx/en/blog/2026-zsh-calculator.html</id>
	<updated>2026-03-22T13:37:09+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;I often need a quick calculation or a unit conversion. Rather than reaching for
a separate tool, a few lines of &lt;em&gt;Zsh&lt;/em&gt; configuration turn &lt;code&gt;=&lt;/code&gt; into a calculator.
Typing &lt;code&gt;= 660km / (2/3)c * 2 -&amp;gt; ms&lt;/code&gt; gives me &lt;code&gt;6.60457 ms&lt;/code&gt;&lt;sup id=&quot;fnref-marseille&quot;&gt;&lt;a class=&quot;footnote-ref&quot; href=&quot;https://vincent.bernat.ch#fn-marseille&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; without
leaving my terminal, thanks to the Zsh line editor.&lt;/p&gt;
&lt;div class=&quot;toc&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vincent.bernat.ch#the-equal-alias&quot;&gt;The equal alias&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vincent.bernat.ch#the-quoting-problem&quot;&gt;The quoting problem&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vincent.bernat.ch#automatic-quoting-with-zle&quot;&gt;Automatic quoting with ZLE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vincent.bernat.ch#storing-unquoted-history&quot;&gt;Storing unquoted history&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h1 id=&quot;the-equal-alias&quot;&gt;The equal alias&lt;/h1&gt;
&lt;p&gt;The main idea looks simple: define &lt;code&gt;=&lt;/code&gt; as an alias to a calculator command. I
prefer &lt;a href=&quot;https://numbat.dev/&quot; title=&quot;Numbat: a statically typed programming language for scientific computations&quot;&gt;Numbat&lt;/a&gt;, a scientific calculator that supports unit conversions.
&lt;a href=&quot;https://qalculate.github.io/&quot; title=&quot;Qalculate!: the ultimate desktop calculator&quot;&gt;Qalculate&lt;/a&gt; is a close second.&lt;sup id=&quot;fnref-qalc&quot;&gt;&lt;a class=&quot;footnote-ref&quot; href=&quot;https://vincent.bernat.ch#fn-qalc&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; If neither is available, we fall back to
Zshâ€™s built-in &lt;em&gt;zcalc&lt;/em&gt; module.&lt;/p&gt;
&lt;p&gt;As the &lt;code&gt;alias&lt;/code&gt; built-in uses &lt;code&gt;=&lt;/code&gt; as a separator for name and value, we need to
alter the &lt;code&gt;aliases&lt;/code&gt; associative array:&lt;/p&gt;
&lt;div class=&quot;language-bash codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;$+commands&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;numbat&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;then&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;aliases&lt;span class=&quot;o&quot;&gt;[=]=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;numbat -e&#39;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;$+commands&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;qalc&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;then&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;aliases&lt;span class=&quot;o&quot;&gt;[=]=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;qalc&#39;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;autoload&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;-Uz&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;zcalc
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;aliases&lt;span class=&quot;o&quot;&gt;[=]=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;zcalc -f -e&#39;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;fi&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;With this in place, &lt;code&gt;= 847/11&lt;/code&gt; becomes &lt;code&gt;numbat -e 847/11&lt;/code&gt;.&lt;/p&gt;
&lt;h1 id=&quot;the-quoting-problem&quot;&gt;The quoting problem&lt;/h1&gt;
&lt;p&gt;The first problem surfaces quickly. Typing &lt;code&gt;= 5 * 3&lt;/code&gt; fails: Zsh expands the &lt;code&gt;*&lt;/code&gt;
character as a glob pattern before passing it to the calculator. The same issue
applies to other characters that Zsh treats specially, such as &lt;code&gt;&amp;gt;&lt;/code&gt; or &lt;code&gt;|&lt;/code&gt;. You
must quote the expression:&lt;/p&gt;
&lt;div class=&quot;language-bash-session codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;5 * 3&#39;&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;15&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;We fix this by hooking into the Zsh line editor to &lt;strong&gt;quote the expression&lt;/strong&gt;
before executing it.&lt;/p&gt;
&lt;h2 id=&quot;automatic-quoting-with-zle&quot;&gt;Automatic quoting with &lt;abbr title=&quot;Zsh Line Editor&quot;&gt;ZLE&lt;/abbr&gt;&lt;/h2&gt;
&lt;p&gt;Zsh calls the &lt;code&gt;line-finish&lt;/code&gt; widget before submitting a command. We hook a
function that detects the &lt;code&gt;=&lt;/code&gt; prefix and quotes the expression:&lt;/p&gt;
&lt;div class=&quot;language-bash codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;_vbe_calc_quote&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;case&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$BUFFER&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;in&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;    &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;=&quot;&lt;/span&gt;*&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;typeset&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;-g&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;_vbe_calc_expr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$BUFFER&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;# not used yet&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;BUFFER&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;= &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(q-)&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;${${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;BUFFER&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;#=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;# &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;      &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;;&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;esac&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
add-zle-hook-widget&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;line-finish&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;_vbe_calc_quote
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;When you type &lt;code&gt;= 5 * 3&lt;/code&gt; and press &lt;kbd&gt;â†²&lt;/kbd&gt;, &lt;code&gt;_vbe_calc_quote&lt;/code&gt; strips the &lt;code&gt;=&lt;/code&gt;
prefix, quotes the remainder with the &lt;a href=&quot;https://manpages.debian.org/zshexpn.1.html#q~2&quot; title=&quot;zshexpn(1) manual page&quot;&gt;&lt;code&gt;(q-)&lt;/code&gt; parameter expansion flag&lt;/a&gt;,
and rewrites the buffer to &lt;code&gt;= &#39;5 * 3&#39;&lt;/code&gt; before Zsh submits the command. As a
bonus, you can save a few keystrokes with &lt;code&gt;=5*3&lt;/code&gt;! ğŸš€&lt;/p&gt;
&lt;p&gt;You can now compute math expressions and convert units directly from your shell.
Zsh automatically quotes your expressions:&lt;/p&gt;
&lt;div class=&quot;language-bash-session codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;1 + 2&#39;&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;3&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;pi/3 + pi |&amp;gt; cos&#39;&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;-0.5&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;17 USD -&amp;gt; EUR&#39;&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;14.7122 â‚¬&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;180*500mg -&amp;gt; g&#39;&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;90 g&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;5 gigabytes / (2 minutes + 17 seconds) -&amp;gt; megabits/s&#39;&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;291.971 Mbit/s&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;now() -&amp;gt; tz(&quot;Asia/Tokyo&quot;)&#39;&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;2026-03-22 22:00:03 JST (UTC +09), Asia/Tokyo&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;1 / (40 rods / hogshead) -&amp;gt; L / 100km&#39;&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;118548 Ã— 0.01 l/km&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;figure&gt;&lt;div class=&quot;lf-media-outer&quot;&gt;&lt;span class=&quot;lf-media-inner&quot;&gt;&lt;img alt=&quot;â€œThat&#39;s the way I like it!â€� says Grampa Simpson&quot; class=&quot;lf-media lf-opaque&quot; height=&quot;299&quot; src=&quot;https://d2pzklc15kok91.cloudfront.net/images/simpson-s06e18@1x.27ade3072859d5.jpg&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/div&gt;&lt;figcaption&gt;The metric system is the tool of the devil! My car gets forty rods to the hogshead, and that&#39;s the way I like it! â€• &lt;em&gt;Grampa Simpson&lt;/em&gt;, A Star Is Burns&lt;/figcaption&gt;&lt;/figure&gt;
&lt;h2 id=&quot;storing-unquoted-history&quot;&gt;Storing unquoted history&lt;/h2&gt;
&lt;p&gt;As is, Zsh records the &lt;em&gt;quoted&lt;/em&gt; expression in history. You must unquote it
before submitting it again. Otherwise, the &lt;abbr title=&quot;Zsh Line Editor&quot;&gt;ZLE&lt;/abbr&gt; widget quotes it a second time.
&lt;a href=&quot;https://www.zsh.org/mla/users/2026/msg00021.html&quot; title=&quot;Re: A ZLE widget for calculator&quot;&gt;Bart Schaefer&lt;/a&gt; provided a solution to store the
original version:&lt;/p&gt;
&lt;div class=&quot;language-bash codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;_vbe_calc_history&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;+_vbe_calc_expr&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
add-zsh-hook&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;zshaddhistory&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;_vbe_calc_history

_vbe_calc_preexec&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;+_vbe_calc_expr&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;print&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;-s&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$_vbe_calc_expr&lt;/span&gt;
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;unset&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;_vbe_calc_expr
&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
add-zsh-hook&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;preexec&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;_vbe_calc_preexec
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;The &lt;code&gt;zshaddhistory&lt;/code&gt; hook returns 1 if we are evaluating an expression, telling
&lt;em&gt;Zsh&lt;/em&gt; not to record the command. The &lt;code&gt;preexec&lt;/code&gt; hook then adds the original,
unquoted command with &lt;code&gt;print -s&lt;/code&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;The complete code is available in my &lt;a href=&quot;https://github.com/vincentbernat/zshrc/blob/9af588820bed37b3b64b2f06777a77d32f4654c4/rc/alias.zsh#L451-L480&quot;&gt;zshrc&lt;/a&gt;. A common alternative is the
&lt;a href=&quot;https://manpages.debian.org/zshmisc.1.html#noglob&quot; title=&quot;zshmisc(1) manual page&quot;&gt;&lt;code&gt;noglob&lt;/code&gt;&lt;/a&gt; precommand modifier. If you stick with &lt;code&gt;to&lt;/code&gt; instead of &lt;code&gt;-&amp;gt;&lt;/code&gt;
for unit conversion, it covers 90% of use cases. For a related Zsh line editor
trick, see how I use &lt;a href=&quot;https://vincent.bernat.ch/en/blog/2025-zsh-autoexpand-aliases&quot; title=&quot;Auto-expanding aliases in Zsh&quot;&gt;auto-expanding aliases&lt;/a&gt; to fix common typos.&lt;/p&gt;
&lt;div class=&quot;footnote&quot;&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id=&quot;fn-marseille&quot;&gt;
&lt;p&gt;This is the fastest a packet can travel back and forth between
Paris and Marseille over optical fiber.Â &lt;a class=&quot;footnote-backref&quot; href=&quot;https://vincent.bernat.ch#fnref-marseille&quot; title=&quot;Jump back to footnote 1 in the text&quot;&gt;â�¦&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&quot;fn-qalc&quot;&gt;
&lt;p&gt;Qalculate is less understanding with units. For example, it parses
â€œMbpsâ€� as megabarn per picosecond: â˜¢ï¸�&lt;/p&gt;
&lt;div class=&quot;language-bash-session codehilite&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;numbat&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;-e&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;5 MB/s -&amp;gt; Mbps&#39;&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;40 Mbps&lt;/span&gt;
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;qalc&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;MB/s&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;to&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;Mbps
&lt;span class=&quot;go&quot;&gt;5 megabytes/second = 0.000005 B/ps&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;&lt;a class=&quot;footnote-backref&quot; href=&quot;https://vincent.bernat.ch#fnref-qalc&quot; title=&quot;Jump back to footnote 2 in the text&quot;&gt;â�¦&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content>
	<author>
	  <name>Vincent Bernat</name>
	   <uri>https://vincent.bernat.ch/en</uri> 
	</author>
	<source>
	  <title type="html">Vincent Bernat</title>
	  
	  <link rel="self" href="https://vincent.bernat.ch/en/blog/atom.xml"/>
	  <id>http://www.luffy.cx/en/blog/atom.xml/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">Ladytron</title>
	<link href="https://jmtd.net/log/ladytron/"/>
	<id>https://jmtd.net/log/ladytron/</id>
	<updated>2026-03-21T22:18:11+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;I saw Ladytron perform in Digital, Newcastle last night. The
last time I saw them was, I think, at the same venue, 18 years ago. Time flies!&lt;/p&gt;

&lt;div class=&quot;centre&quot;&gt;
&lt;div class=&quot;image+centre&quot;&gt;
&lt;a href=&quot;https://jmtd.net/log/ladytron/2026-03-20.jpg&quot;&gt;&lt;img alt=&quot;Photo of the trio performing on stage&quot; class=&quot;img&quot; height=&quot;281&quot; src=&quot;https://jmtd.net/log/ladytron/500x-2026-03-20.jpg&quot; width=&quot;499&quot; /&gt;&lt;/a&gt;

&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Back in the day (perhaps their heyday, perhaps not!) Ladytron ploughed a
particular sonic furrow and did it very well. Going into the gig I had set my
expectations that, should they play just these hits, I&#39;d have a good time.&lt;/p&gt;

&lt;p&gt;The gig exceeded my expectations. The setlist very much did &lt;em&gt;not&lt;/em&gt; lean into
their best-known period: the more recent few albums were very well represented
and to me this felt very confident. The lead singer, Helen Marnie, demonstrated
some excellent range, particularly on some of the new songs. Daniel Hunt did a
lot of backing vocals and they were really complementary to Helen&#39;s: underscoring
but not overpowering. I enjoyed nerding out watching Mira Ayoro&#39;s excellent
wrangling of her Korg MS-20. One highlight was an encore performance of
&lt;em&gt;Light &amp;amp; Magic&lt;/em&gt;, which was arguably the &quot;alternate version&quot; as available on the
expanded versions of that album or the &lt;em&gt;Remixed and Rare&lt;/em&gt; companion.&lt;/p&gt;

&lt;p&gt;I thought I&#39;d try to put together a 5-track playlist for a friend who attended
the gig but isn&#39;t super familiar with them. As usual this is hard. I&#39;m going
to avoid the obvious hits, try to represent their whole career and try to
ensure the current trio each get a vocal turn in the selection.&lt;/p&gt;

&lt;p&gt;They actually released their latest album, &lt;em&gt;Paradises&lt;/em&gt;, yesterday as well. One
track from it is in the list below.&lt;/p&gt;

&lt;a href=&quot;https://ladytron.bandcamp.com/album/velocifero&quot;&gt;I&#39;m Not Scared by Ladytron&lt;/a&gt;




&lt;a href=&quot;https://ladytron.bandcamp.com/album/paradises&quot;&gt;Kingdom Undersea by Ladytron&lt;/a&gt;




&lt;a href=&quot;https://ladytron.bandcamp.com/album/light-magic&quot;&gt;Blue Jeans by Ladytron&lt;/a&gt;




&lt;a href=&quot;https://ladytron.bandcamp.com/album/604&quot;&gt;He took her to a movie by Ladytron&lt;/a&gt;




&lt;a href=&quot;https://ladytron.bandcamp.com/album/gravity-the-seducer&quot;&gt;Transparent Days by Ladytron&lt;/a&gt;


&lt;p&gt;(If you can&#39;t see anything, the bandcamp embeds have been stripped out by
whatever you are viewing this with)&lt;/p&gt;</content>
	<author>
	  <name>jmtd</name>
	   <uri>https://jmtd.net/log/</uri> 
	</author>
	<source>
	  <title type="html">Jonathan Dowland&#39;s Weblog</title>
	  <subtitle type="html">jmtd</subtitle>
	  <link rel="self" href="https://jmtd.net/log/index.atom"/>
	  <id>https://jmtd.net/log/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en">A286874(16) &amp;gt;= 48</title>
	<link href="http://blog.sesse.net/blog/tech/2026-03-21-16-19_a286874_16_48.html"/>
	<id>http://blog.sesse.net/blog/tech/2026-03-21-16-19_a286874_16_48.html</id>
	<updated>2026-03-21T15:19:00+00:00</updated>
	<summary type="html" xml:lang="en"></summary>
	<content type="html" xml:lang="en">&lt;p&gt;Following up on the &lt;a href=&quot;https://blog.sesse.net/blog/tech/2026-03-07-10-54_a286874_14_28&quot;&gt;previous post&lt;/a&gt;,
here are some heuristic results:&lt;/p&gt;

&lt;p&gt;First, if restricting oneself to 5-uniform values (all values have exactly
five bits set), the best 15-bit code one can make is indeed 42 elements,
and there are two distinct solutions:
{31, 227, 364, 692, 1240, 1577, 1606, 2353, 3008, 3205, 3338, 4434, 4746, 4869, 5536, 6182, 6217, 7696, 8582, 8984, 9266, 9537, 10324, 10408, 10755, 12433, 12896, 13324, 16777, 16977, 17186, 17684, 18578, 18956, 19552, 20536, 20676, 21507, 24613, 24650, 26240, 30976}
and
{31, 227, 364, 692, 849, 906, 1240, 2354, 3206, 3337, 3680, 4485, 5169, 5442, 5644, 6228, 6312, 6659, 8745, 9285, 9632, 9746, 10314, 10385, 11012, 12326, 12568, 12992, 16966, 17450, 17684, 18049, 18469, 18880, 18968, 20553, 20626, 21280, 24688, 24716, 24835, 31744}.
This supports, but does not prove, the conjecture that A286874(15) = 42.&lt;/p&gt;

&lt;p&gt;Second, A286874(16) &amp;gt;= 48 (the best previously known bound was 45), since
this is a valid 48-element solution:&lt;/p&gt;

&lt;pre&gt;0000000000011111
0000000011100011
0000000101101100
0000001010110100
0000010011011000
0000011100000011
0000100100110001
0000101000101010
0000101111000000
0001000110001001
0001010000110010
0001011000001100
0001100100000110
0001110001000001
0010000110010010
0010010010000101
0010011001100000
0010100001010100
0010110100001000
0011000001001010
0011001000010001
0011100010100000
0100001001001001
0100010001000110
0100010110100000
0100100010001100
0100111000010000
0101000000100101
0101000101010000
0101001010000010
0110000000111000
0110001100000100
0110100000000011
1000001001010010
1000010000101001
1000010100010100
1000101000000101
1000110010000010
1001000011000100
1001001100100000
1001100000011000
1010000000100110
1010000101000001
1010001010001000
1100000010010001
1100000100001010
1100100001100000
1111010000000000
&lt;/pre&gt;

&lt;p&gt;I won&#39;t be sweeping all of the 15- or 16-bit spaces.&lt;/p&gt;</content>
	<author>
	  <name>Steinar H. Gunderson</name>
	   <uri>http://blog.sesse.net/</uri> 
	</author>
	<source>
	  <title type="html">Steinar H. Gunderson</title>
	  <subtitle type="html">sesse&#39;s blog</subtitle>
	  <link rel="self" href="http://blog.sesse.net/blog/tech/?flav=rss"/>
	  <id>http://blog.sesse.net/</id>  
	</source>
  </entry>
  
  <entry xml:lang="en">
	<title type="html" xml:lang="en-US">The WWW::Mechanize::Chrome Saga: A Comprehensive Narrative of PR #104</title>
	<link href="https://wp.c9h.org/cj/?p=2129"/>
	<id>https://wp.c9h.org/cj/?p=2129</id>
	<updated>2026-03-21T01:52:46+00:00</updated>
	<summary type="html" xml:lang="en-US"></summary>
	<content type="html" xml:lang="en-US">&lt;h1 id=&quot;the-wwwmechanizechrome-saga-a-comprehensive-narrative-of-pr-104&quot;&gt;The&lt;br /&gt;
WWW::Mechanize::Chrome Saga: A Comprehensive Narrative of PR #104&lt;/h1&gt;
&lt;p&gt;This document synthesizes the extensive work performed from March&lt;br /&gt;
13th to March 20th, 2026, to harden, stabilize, and refactor the&lt;br /&gt;
&lt;code&gt;WWW::Mechanize::Chrome&lt;/code&gt; library and its test suite. This&lt;br /&gt;
effort involved deep dives into asynchronous programming,&lt;br /&gt;
platform-specific bug hunting, and strategic architectural&lt;br /&gt;
decisions.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;part-i-the-quest-for-cross-platform-stability-march-13---16&quot;&gt;Part I:&lt;br /&gt;
The Quest for Cross-Platform Stability (March 13 – 16)&lt;/h2&gt;
&lt;p&gt;The initial phase of work focused on achieving a “green” test suite&lt;br /&gt;
across a variety of Linux distributions and preparing for a new release.&lt;br /&gt;
This involved significant hardening of the library to account for&lt;br /&gt;
different browser versions, OS-level security restrictions, and&lt;br /&gt;
filesystem differences.&lt;/p&gt;
&lt;h3 id=&quot;key-milestones-engineering-decisions&quot;&gt;Key Milestones &amp;amp;&lt;br /&gt;
Engineering Decisions:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fedora &amp;amp; RHEL-family Success:&lt;/strong&gt; A major effort&lt;br /&gt;
was undertaken to achieve a 100% pass rate on modern Fedora 43 and&lt;br /&gt;
CentOS Stream 10. This required several key engineering decisions to&lt;br /&gt;
handle modern browser behavior:&lt;p&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Decision: Implement Asynchronous DOM Serialization&lt;br /&gt;
Fallback.&lt;/strong&gt; Synchronous fallbacks in an async context are&lt;br /&gt;
dangerous. To prevent &lt;code&gt;Resource was not cached&lt;/code&gt; errors during&lt;br /&gt;
&lt;code&gt;saveResources&lt;/code&gt;, we implemented a fully asynchronous fallback&lt;br /&gt;
in &lt;code&gt;_saveResourceTree&lt;/code&gt;. By chaining&lt;br /&gt;
&lt;code&gt;_cached_document&lt;/code&gt; with &lt;code&gt;DOM.getOuterHTML&lt;/code&gt;&lt;br /&gt;
messages, we can reconstruct document content without blocking the event&lt;br /&gt;
loop, even if Chromium has evicted the resource from its cache. This&lt;br /&gt;
also proved resilient against Fedora’s security policies, which often&lt;br /&gt;
block &lt;code&gt;file://&lt;/code&gt; access.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decision: Truncate Filenames for Cross-Platform&lt;br /&gt;
Safety.&lt;/strong&gt; To avoid &lt;code&gt;File name too long&lt;/code&gt; errors,&lt;br /&gt;
especially on Windows where the &lt;code&gt;MAX_PATH&lt;/code&gt; limit is 260&lt;br /&gt;
characters, &lt;code&gt;filenameFromUrl&lt;/code&gt; was hardened. The filename&lt;br /&gt;
truncation was reduced to a more conservative &lt;strong&gt;150&lt;br /&gt;
characters&lt;/strong&gt;, leaving ample headroom for deeply nested CI&lt;br /&gt;
temporary directories. Logic was also added to preserve file extensions&lt;br /&gt;
during truncation and to sanitize backslashes from URI paths.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decision: Expand Browser Discovery Paths.&lt;/strong&gt; To&lt;br /&gt;
support RHEL-based systems out-of-the-box, the&lt;br /&gt;
&lt;code&gt;default_executable_names&lt;/code&gt; was expanded to include&lt;br /&gt;
&lt;code&gt;headless_shell&lt;/code&gt; and search paths were updated to include&lt;br /&gt;
&lt;code&gt;/usr/lib64/chromium-browser/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decision: Mitigate Race Conditions with Stabilization Waits&lt;br /&gt;
and Resilient Fetching.&lt;/strong&gt; On fast systems,&lt;br /&gt;
&lt;code&gt;DOM.documentUpdated&lt;/code&gt; events could invalidate&lt;br /&gt;
&lt;code&gt;nodeId&lt;/code&gt;s immediately after navigation, causing XPath queries&lt;br /&gt;
to fail with “Could not find node with given id”. A small stabilization&lt;br /&gt;
&lt;code&gt;sleep(0.25s)&lt;/code&gt; was added after page loads to ensure the DOM&lt;br /&gt;
is settled. Furthermore, the asynchronous DOM fetching loop was hardened&lt;br /&gt;
to gracefully handle these errors by catching protocol errors and&lt;br /&gt;
returning an empty string for any node that was invalidated during&lt;br /&gt;
serialization, ensuring the overall process could complete.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Windows Hardening:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Decision: Adopt Platform-Aware Watchdogs.&lt;/strong&gt; The test&lt;br /&gt;
suite’s reliance on &lt;code&gt;ualarm&lt;/code&gt; was a blocker for Windows, where&lt;br /&gt;
it is not implemented. The &lt;code&gt;t::helper::set_watchdog&lt;/code&gt; function&lt;br /&gt;
was refactored to use standard &lt;code&gt;alarm()&lt;/code&gt; (seconds) on Windows&lt;br /&gt;
and &lt;code&gt;ualarm&lt;/code&gt; (microseconds) on Unix-like systems, enabling&lt;br /&gt;
consistent test-level timeout enforcement.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Version 0.77 Release:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Decision: Adopt SOP for Version Synchronization.&lt;/strong&gt;&lt;br /&gt;
The project maintains duplicate version strings across 24+ files. A&lt;br /&gt;
Standard Operating Procedure was adopted to use a batch-replacement tool&lt;br /&gt;
to update all sub-modules in &lt;code&gt;lib/&lt;/code&gt; and to always run&lt;br /&gt;
&lt;code&gt;make clean&lt;/code&gt; and &lt;code&gt;perl Makefile.PL&lt;/code&gt; to ensure&lt;br /&gt;
&lt;code&gt;META.json&lt;/code&gt; and &lt;code&gt;META.yml&lt;/code&gt; reflect the new&lt;br /&gt;
version. After achieving stability on Linux, the project version was&lt;br /&gt;
bumped to 0.77.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Infrastructure &amp;amp; Strategic Work:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;ad2&lt;/code&gt; Windows Server 2025 instance was restored and&lt;br /&gt;
optimized, with Active Directory demoted and disk I/O performance&lt;br /&gt;
improved.&lt;/li&gt;
&lt;li&gt;A strategic proposal for the &lt;strong&gt;Heterogeneous Directory&lt;br /&gt;
Replication Protocol (HDRP)&lt;/strong&gt; was drafted and published.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;part-ii-the-great-async-refactor-march-17---18&quot;&gt;Part II: The&lt;br /&gt;
Great Async Refactor (March 17 – 18)&lt;/h2&gt;
&lt;p&gt;Despite success on Linux, tests on the slow &lt;code&gt;ad2&lt;/code&gt; Windows&lt;br /&gt;
host were still plagued by intermittent, indefinite hangs. This&lt;br /&gt;
triggered a fundamental architectural shift to move the library’s core&lt;br /&gt;
from a mix of synchronous and asynchronous code to a fully non-blocking&lt;br /&gt;
internal API.&lt;/p&gt;
&lt;h3 id=&quot;key-milestones-engineering-decisions-1&quot;&gt;Key Milestones &amp;amp;&lt;br /&gt;
Engineering Decisions:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Decision: Expose a &lt;code&gt;_future&lt;/code&gt; API.&lt;/strong&gt;&lt;br /&gt;
Instead of hardcoding timeouts in the library, the core strategy was to&lt;br /&gt;
refactor all blocking methods (&lt;code&gt;xpath&lt;/code&gt;, &lt;code&gt;field&lt;/code&gt;,&lt;br /&gt;
&lt;code&gt;get&lt;/code&gt;, etc.) into thin wrappers around new non-blocking&lt;br /&gt;
&lt;code&gt;..._future&lt;/code&gt; counterparts. This moved timeout management to&lt;br /&gt;
the test harness, allowing for flexible and explicit handling of&lt;br /&gt;
stalls.&lt;/p&gt;
&lt;div class=&quot;sourceCode&quot; id=&quot;cb1&quot;&gt;
&lt;pre class=&quot;sourceCode perl&quot;&gt;&lt;code class=&quot;sourceCode perl&quot;&gt;&lt;span id=&quot;cb1-1&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-1&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;co&quot;&gt;# Example library implementation&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb1-2&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-2&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;kw&quot;&gt;sub &lt;/span&gt;&lt;span class=&quot;fu&quot;&gt;xpath&lt;/span&gt;(&lt;span class=&quot;dt&quot;&gt;$&lt;/span&gt;self, &lt;span class=&quot;dt&quot;&gt;$query&lt;/span&gt;, &lt;span class=&quot;dt&quot;&gt;%options&lt;/span&gt;) {&lt;/span&gt;
&lt;span id=&quot;cb1-3&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-3&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;    &lt;span class=&quot;kw&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;dt&quot;&gt;$self&lt;/span&gt;-&amp;gt;&lt;span class=&quot;dt&quot;&gt;xpath_future&lt;/span&gt;(&lt;span class=&quot;dt&quot;&gt;$query&lt;/span&gt;, &lt;span class=&quot;dt&quot;&gt;%options&lt;/span&gt;)-&amp;gt;get;&lt;/span&gt;
&lt;span id=&quot;cb1-4&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-4&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;}&lt;/span&gt;
&lt;span id=&quot;cb1-5&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-5&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span id=&quot;cb1-6&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-6&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;kw&quot;&gt;sub &lt;/span&gt;&lt;span class=&quot;fu&quot;&gt;xpath_future&lt;/span&gt;(&lt;span class=&quot;dt&quot;&gt;$&lt;/span&gt;self, &lt;span class=&quot;dt&quot;&gt;$query&lt;/span&gt;, &lt;span class=&quot;dt&quot;&gt;%options&lt;/span&gt;) {&lt;/span&gt;
&lt;span id=&quot;cb1-7&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-7&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;    &lt;span class=&quot;co&quot;&gt;# Async implementation using $self-&amp;gt;target-&amp;gt;send_message(...)&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb1-8&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb1-8&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Decision: Centralize Test Hardening in a Helper.&lt;/strong&gt;&lt;br /&gt;
A dedicated test library, &lt;code&gt;t/lib/t/helper.pm&lt;/code&gt;, was created to&lt;br /&gt;
contain all stabilization logic. “Safe” wrappers (&lt;code&gt;safe_get&lt;/code&gt;,&lt;br /&gt;
&lt;code&gt;safe_xpath&lt;/code&gt;) were implemented there, using&lt;br /&gt;
&lt;code&gt;Future-&amp;gt;wait_any&lt;/code&gt; to race asynchronous operations against&lt;br /&gt;
a timeout, preventing tests from hanging.&lt;/p&gt;
&lt;div class=&quot;sourceCode&quot; id=&quot;cb2&quot;&gt;
&lt;pre class=&quot;sourceCode perl&quot;&gt;&lt;code class=&quot;sourceCode perl&quot;&gt;&lt;span id=&quot;cb2-1&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb2-1&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;co&quot;&gt;# Example test helper implementation&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb2-2&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb2-2&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;kw&quot;&gt;sub &lt;/span&gt;&lt;span class=&quot;fu&quot;&gt;safe_xpath&lt;/span&gt; {&lt;/span&gt;
&lt;span id=&quot;cb2-3&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb2-3&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;    &lt;span class=&quot;kw&quot;&gt;my&lt;/span&gt; (&lt;span class=&quot;dt&quot;&gt;$mech&lt;/span&gt;, &lt;span class=&quot;dt&quot;&gt;$query&lt;/span&gt;, &lt;span class=&quot;dt&quot;&gt;%options&lt;/span&gt;) = &lt;span class=&quot;dt&quot;&gt;@_&lt;/span&gt;;&lt;/span&gt;
&lt;span id=&quot;cb2-4&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb2-4&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;    &lt;span class=&quot;kw&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;dt&quot;&gt;$timeout&lt;/span&gt; = &lt;span class=&quot;fu&quot;&gt;delete&lt;/span&gt; &lt;span class=&quot;dt&quot;&gt;$options&lt;/span&gt;{timeout} || &lt;span class=&quot;dv&quot;&gt;5&lt;/span&gt;;&lt;/span&gt;
&lt;span id=&quot;cb2-5&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb2-5&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;    &lt;span class=&quot;kw&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;dt&quot;&gt;$call_f&lt;/span&gt; = &lt;span class=&quot;dt&quot;&gt;$mech&lt;/span&gt;-&amp;gt;&lt;span class=&quot;dt&quot;&gt;xpath_future&lt;/span&gt;(&lt;span class=&quot;dt&quot;&gt;$query&lt;/span&gt;, &lt;span class=&quot;dt&quot;&gt;%options&lt;/span&gt;);&lt;/span&gt;
&lt;span id=&quot;cb2-6&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb2-6&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;    &lt;span class=&quot;kw&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;dt&quot;&gt;$timeout_f&lt;/span&gt; = &lt;span class=&quot;dt&quot;&gt;$mech&lt;/span&gt;-&amp;gt;&lt;span class=&quot;dt&quot;&gt;sleep_future&lt;/span&gt;(&lt;span class=&quot;dt&quot;&gt;$timeout&lt;/span&gt;)-&amp;gt;then(&lt;span class=&quot;kw&quot;&gt;sub &lt;/span&gt;{ Future-&amp;gt;fail(&lt;span class=&quot;ot&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;st&quot;&gt;Timeout&lt;/span&gt;&lt;span class=&quot;ot&quot;&gt;&quot;&lt;/span&gt;) });&lt;/span&gt;
&lt;span id=&quot;cb2-7&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb2-7&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;    &lt;span class=&quot;kw&quot;&gt;return&lt;/span&gt; Future-&amp;gt;wait_any(&lt;span class=&quot;dt&quot;&gt;$call_f&lt;/span&gt;, &lt;span class=&quot;dt&quot;&gt;$timeout_f&lt;/span&gt;)-&amp;gt;get;&lt;/span&gt;
&lt;span id=&quot;cb2-8&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb2-8&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Decision: Refactor Node Attribute Cache.&lt;/strong&gt;&lt;br /&gt;
Investigations into flaky checkbox tests (&lt;code&gt;t/50-tick.t&lt;/code&gt;)&lt;br /&gt;
revealed that &lt;code&gt;WWW::Mechanize::Chrome::Node&lt;/code&gt; was storing&lt;br /&gt;
attributes as a flat list (&lt;code&gt;[key, val, key, val]&lt;/code&gt;), which was&lt;br /&gt;
inefficient for lookups and individual updates. The cache was refactored&lt;br /&gt;
to definitively use a &lt;strong&gt;HashRef&lt;/strong&gt;, providing O(1) lookups&lt;br /&gt;
and enabling atomic dual-updates where both the browser property (via&lt;br /&gt;
JS) and the internal library attribute are synchronized&lt;br /&gt;
simultaneously.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Decision: Implement Self-Cancelling Socket&lt;br /&gt;
Watchdog.&lt;/strong&gt; On Windows, traditional watchdog processes often&lt;br /&gt;
failed to detect parent termination, leading to 60-second hangs after&lt;br /&gt;
successful tests. We implemented a new socket-based watchdog in&lt;br /&gt;
&lt;code&gt;t::helper&lt;/code&gt; that listens on an ephemeral port; the background&lt;br /&gt;
process terminates immediately when the parent socket closes,&lt;br /&gt;
eliminating these cumulative delays.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Decision: Deep Recursive Refactoring &amp;amp; Form&lt;br /&gt;
Selection.&lt;/strong&gt; To make the API truly non-blocking, the entire&lt;br /&gt;
internal call stack had to be refactored. For example, making&lt;br /&gt;
&lt;code&gt;get_set_value_future&lt;/code&gt; non-blocking required first making its&lt;br /&gt;
dependency, &lt;code&gt;_field_by_name&lt;/code&gt;, asynchronous. This culminated&lt;br /&gt;
in refactoring the entire form selection API (&lt;code&gt;form_name&lt;/code&gt;,&lt;br /&gt;
&lt;code&gt;form_id&lt;/code&gt;, etc.) to use the new asynchronous&lt;br /&gt;
&lt;code&gt;_future&lt;/code&gt; lookups, which was a key step in mitigating the&lt;br /&gt;
Windows deadlocks.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Decision: Fix Critical Regressions &amp;amp; Memory&lt;br /&gt;
Cycles.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Evaluation Normalization:&lt;/strong&gt; Implemented a&lt;br /&gt;
&lt;code&gt;_process_eval_result&lt;/code&gt; helper to centralize the parsing of&lt;br /&gt;
results from &lt;code&gt;Runtime.evaluate&lt;/code&gt;. This ensures consistent&lt;br /&gt;
handling of return values and exceptions between synchronous&lt;br /&gt;
(&lt;code&gt;eval_in_page&lt;/code&gt;) and asynchronous (&lt;code&gt;eval_future&lt;/code&gt;)&lt;br /&gt;
calls.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Memory Cycle Mitigation:&lt;/strong&gt; A significant memory&lt;br /&gt;
leak was discovered where closures attached to CDP event futures (like&lt;br /&gt;
for asynchronous body retrieval) would capture strong references to&lt;br /&gt;
&lt;code&gt;$self&lt;/code&gt; and the &lt;code&gt;$response&lt;/code&gt; object, creating a&lt;br /&gt;
circular reference. The established rule is to now always use&lt;br /&gt;
&lt;code&gt;Scalar::Util::weaken&lt;/code&gt; on both &lt;code&gt;$self&lt;/code&gt; and any&lt;br /&gt;
other relevant objects before they are used inside a&lt;br /&gt;
&lt;code&gt;-&amp;gt;then&lt;/code&gt; block that is stored on an object.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Context Propagation (&lt;code&gt;wantarray&lt;/code&gt;):&lt;/strong&gt; A&lt;br /&gt;
major regression was discovered where Perl’s &lt;code&gt;wantarray&lt;/code&gt;&lt;br /&gt;
context, which distinguishes between scalar and list context, was lost&lt;br /&gt;
inside asynchronous &lt;code&gt;Future-&amp;gt;then&lt;/code&gt; blocks. This caused&lt;br /&gt;
methods like &lt;code&gt;xpath&lt;/code&gt; to return incorrect results (e.g., a&lt;br /&gt;
count instead of a list of nodes). The solution was to adopt the “Async&lt;br /&gt;
Context Pattern”: capture &lt;code&gt;wantarray&lt;/code&gt; in the synchronous&lt;br /&gt;
wrapper, pass it as an option to the &lt;code&gt;_future&lt;/code&gt; method, and&lt;br /&gt;
then use that captured value inside the future’s final resolution&lt;br /&gt;
block.&lt;/p&gt;
&lt;div class=&quot;sourceCode&quot; id=&quot;cb3&quot;&gt;
&lt;pre class=&quot;sourceCode perl&quot;&gt;&lt;code class=&quot;sourceCode perl&quot;&gt;&lt;span id=&quot;cb3-1&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-1&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;co&quot;&gt;# Synchronous Wrapper&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb3-2&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-2&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;kw&quot;&gt;sub &lt;/span&gt;&lt;span class=&quot;fu&quot;&gt;xpath&lt;/span&gt;(&lt;span class=&quot;dt&quot;&gt;$&lt;/span&gt;self, &lt;span class=&quot;dt&quot;&gt;$query&lt;/span&gt;, &lt;span class=&quot;dt&quot;&gt;%options&lt;/span&gt;) {&lt;/span&gt;
&lt;span id=&quot;cb3-3&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-3&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;    &lt;span class=&quot;dt&quot;&gt;$options&lt;/span&gt;{ &lt;span class=&quot;fu&quot;&gt;wantarray&lt;/span&gt; } = &lt;span class=&quot;fu&quot;&gt;wantarray&lt;/span&gt;; &lt;span class=&quot;co&quot;&gt;# 1. Capture&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb3-4&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-4&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;    &lt;span class=&quot;kw&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;dt&quot;&gt;$self&lt;/span&gt;-&amp;gt;&lt;span class=&quot;dt&quot;&gt;xpath_future&lt;/span&gt;(&lt;span class=&quot;dt&quot;&gt;$query&lt;/span&gt;, &lt;span class=&quot;dt&quot;&gt;%options&lt;/span&gt;)-&amp;gt;get; &lt;span class=&quot;co&quot;&gt;# 2. Pass&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb3-5&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-5&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;}&lt;/span&gt;
&lt;span id=&quot;cb3-6&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-6&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;/span&gt;
&lt;span id=&quot;cb3-7&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-7&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;co&quot;&gt;# Asynchronous Implementation&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb3-8&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-8&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;&lt;span class=&quot;kw&quot;&gt;sub &lt;/span&gt;&lt;span class=&quot;fu&quot;&gt;xpath_future&lt;/span&gt;(&lt;span class=&quot;dt&quot;&gt;$&lt;/span&gt;self, &lt;span class=&quot;dt&quot;&gt;$query&lt;/span&gt;, &lt;span class=&quot;dt&quot;&gt;%options&lt;/span&gt;) {&lt;/span&gt;
&lt;span id=&quot;cb3-9&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-9&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;    &lt;span class=&quot;kw&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;dt&quot;&gt;$wantarray&lt;/span&gt; = &lt;span class=&quot;fu&quot;&gt;delete&lt;/span&gt; &lt;span class=&quot;dt&quot;&gt;$options&lt;/span&gt;{ &lt;span class=&quot;fu&quot;&gt;wantarray&lt;/span&gt; }; &lt;span class=&quot;co&quot;&gt;# 3. Retrieve&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb3-10&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-10&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;    &lt;span class=&quot;co&quot;&gt;# ... async logic ...&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb3-11&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-11&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;    &lt;span class=&quot;kw&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;dt&quot;&gt;$doc&lt;/span&gt;-&amp;gt;&lt;span class=&quot;dt&quot;&gt;then&lt;/span&gt;(&lt;span class=&quot;kw&quot;&gt;sub &lt;/span&gt;{&lt;/span&gt;
&lt;span id=&quot;cb3-12&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-12&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;        &lt;span class=&quot;kw&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;dt&quot;&gt;$wantarray&lt;/span&gt;) { &lt;span class=&quot;co&quot;&gt;# 4. Respect&lt;/span&gt;&lt;/span&gt;
&lt;span id=&quot;cb3-13&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-13&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;            &lt;span class=&quot;kw&quot;&gt;return&lt;/span&gt; Future-&amp;gt;done(&lt;span class=&quot;dt&quot;&gt;@results&lt;/span&gt;);&lt;/span&gt;
&lt;span id=&quot;cb3-14&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-14&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;        } &lt;span class=&quot;kw&quot;&gt;else&lt;/span&gt; {&lt;/span&gt;
&lt;span id=&quot;cb3-15&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-15&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;            &lt;span class=&quot;kw&quot;&gt;return&lt;/span&gt; Future-&amp;gt;done(&lt;span class=&quot;dt&quot;&gt;$results&lt;/span&gt;[&lt;span class=&quot;dv&quot;&gt;0&lt;/span&gt;]);&lt;/span&gt;
&lt;span id=&quot;cb3-16&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-16&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;        }&lt;/span&gt;
&lt;span id=&quot;cb3-17&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-17&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;    });&lt;/span&gt;
&lt;span id=&quot;cb3-18&quot;&gt;&lt;a href=&quot;http://wp.colliertech.org/cj/?cat=17&amp;amp;feed=rss2#cb3-18&quot; tabindex=&quot;-1&quot;&gt;&lt;/a&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous Body Retrieval &amp;amp; Robust Content&lt;br /&gt;
Fallbacks:&lt;/strong&gt; Fixed a bug where &lt;code&gt;decoded_content()&lt;/code&gt;&lt;br /&gt;
would return empty strings by ensuring it awaited a&lt;br /&gt;
&lt;code&gt;__body_future&lt;/code&gt;. This was implemented by storing the&lt;br /&gt;
retrieval future directly on the response object&lt;br /&gt;
(&lt;code&gt;$response-&amp;gt;{__body_future}&lt;/code&gt;). To make this more robust,&lt;br /&gt;
a tiered strategy was implemented: first try to get the content from the&lt;br /&gt;
network response, but if that fails (e.g., for &lt;code&gt;about:blank&lt;/code&gt;&lt;br /&gt;
or due to cache eviction), fall back to a JavaScript&lt;br /&gt;
&lt;code&gt;XMLSerializer&lt;/code&gt; to get the live DOM content.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Signature Hardening:&lt;/strong&gt; Fixed “Too few arguments”&lt;br /&gt;
errors when using modern Perl signatures with&lt;br /&gt;
&lt;code&gt;Future-&amp;gt;then&lt;/code&gt;. Callbacks were updated to use optional&lt;br /&gt;
parameters (&lt;code&gt;sub($result = undef) { ... }&lt;/code&gt;) to gracefully&lt;br /&gt;
handle futures that resolve with no value.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;XHTML “Split-Brain” Bug:&lt;/strong&gt; Resolved a&lt;br /&gt;
long-standing Chromium bug (40130141) where content provided via&lt;br /&gt;
&lt;code&gt;setDocumentContent&lt;/code&gt; is parsed differently than content&lt;br /&gt;
loaded from a URL. A workaround was implemented: for XHTML documents,&lt;br /&gt;
WMC now uses a JavaScript-based XPath evaluation&lt;br /&gt;
(&lt;code&gt;document.evaluate&lt;/code&gt;) against the live DOM, bypassing the&lt;br /&gt;
broken CDP search mechanism.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;derived-architectural-rules-sops&quot;&gt;Derived Architectural Rules&lt;br /&gt;
&amp;amp; SOPs:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rule: Always provide &lt;code&gt;_future&lt;/code&gt; variants.&lt;/strong&gt;&lt;br /&gt;
Every library method that interacts with the browser via CDP must have a&lt;br /&gt;
non-blocking asynchronous counterpart.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rule: Centralize stabilization in the test layer.&lt;/strong&gt;&lt;br /&gt;
All timeout and retry logic should reside in the test harness&lt;br /&gt;
(&lt;code&gt;t/lib/t/helper.pm&lt;/code&gt;), not in the core library.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rule: Explicitly propagate &lt;code&gt;wantarray&lt;/code&gt;&lt;br /&gt;
context.&lt;/strong&gt; Synchronous wrappers must capture the caller’s context&lt;br /&gt;
and pass it down the &lt;code&gt;Future&lt;/code&gt; chain to ensure correct&lt;br /&gt;
scalar/list behavior.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rule: The entire call chain must be asynchronous.&lt;/strong&gt;&lt;br /&gt;
To enable non-blocking timeouts, even a single “hidden” blocking call in&lt;br /&gt;
an otherwise asynchronous method will cause a stall.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SOP: Reduce Library Noise.&lt;/strong&gt; Diagnostic messages&lt;br /&gt;
(&lt;code&gt;warn&lt;/code&gt;, &lt;code&gt;note&lt;/code&gt;, &lt;code&gt;diag&lt;/code&gt;) should be&lt;br /&gt;
removed from library code before commits. All such messages should be&lt;br /&gt;
converted to use the internal &lt;code&gt;$self-&amp;gt;log(&#39;debug&#39;, ...)&lt;/code&gt;&lt;br /&gt;
mechanism, ensuring a clean TAP output for CI systems.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;part-iii-the-mutationobserver-saga-march-19&quot;&gt;Part III: The&lt;br /&gt;
&lt;code&gt;MutationObserver&lt;/code&gt; Saga (March 19)&lt;/h2&gt;
&lt;p&gt;With most of the library refactored to be asynchronous, one stubborn&lt;br /&gt;
test, &lt;code&gt;t/65-is_visible.t&lt;/code&gt;, continued to fail with timeouts.&lt;br /&gt;
This led to an ambitious, but ultimately unsuccessful, attempt to&lt;br /&gt;
replace the &lt;code&gt;wait_until_visible&lt;/code&gt; polling logic with a more&lt;br /&gt;
“modern” &lt;code&gt;MutationObserver&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&quot;key-milestones-challenges&quot;&gt;Key Milestones &amp;amp; Challenges:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The Theory:&lt;/strong&gt; The goal was to replace an inefficient&lt;br /&gt;
&lt;code&gt;repeat { sleep }&lt;/code&gt; loop with an event-driven&lt;br /&gt;
&lt;code&gt;MutationObserver&lt;/code&gt; in JavaScript that would notify Perl&lt;br /&gt;
immediately when an element’s visibility changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implementation &amp;amp; Cascade Failure:&lt;/strong&gt; The&lt;br /&gt;
implementation proved incredibly difficult and introduced a series of&lt;br /&gt;
new, hard-to-diagnose bugs:&lt;p&gt;&lt;/p&gt;
&lt;ol type=&quot;1&quot;&gt;
&lt;li&gt;An incorrect function signature for&lt;br /&gt;
&lt;code&gt;callFunctionOn_future&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;A critical unit mismatch, passing seconds from Perl to JavaScript’s&lt;br /&gt;
&lt;code&gt;setTimeout&lt;/code&gt;, which expected milliseconds.&lt;/li&gt;
&lt;li&gt;A fundamental hang where the &lt;code&gt;MutationObserver&lt;/code&gt;’s&lt;br /&gt;
JavaScript &lt;code&gt;Promise&lt;/code&gt; would never resolve, even after the&lt;br /&gt;
underlying DOM element changed.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Debugging Maze:&lt;/strong&gt; Multiple attempts to fix the&lt;br /&gt;
&lt;code&gt;checkVisibility&lt;/code&gt; JavaScript logic inside the observer&lt;br /&gt;
callback, including making it more robust by adding DOM tree traversal&lt;br /&gt;
and extensive &lt;code&gt;console.log&lt;/code&gt; tracing, failed to resolve the&lt;br /&gt;
hang. This highlighted the opacity and difficulty of debugging complex,&lt;br /&gt;
cross-language asynchronous interactions, especially when dealing with&lt;br /&gt;
low-level browser APIs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;procedural-learning-granular-edits&quot;&gt;Procedural Learning:&lt;br /&gt;
Granular Edits&lt;/h3&gt;
&lt;p&gt;The effort was plagued by procedural missteps in using automated&lt;br /&gt;
file-editing tools. Initial attempts to replace large code blocks in a&lt;br /&gt;
single operation led to accidental code loss and match failures.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Decision: Adopt “Delete, then Add” Workflow.&lt;/strong&gt;&lt;br /&gt;
Following forceful user correction, a new SOP was established for all&lt;br /&gt;
future modifications:&lt;p&gt;&lt;/p&gt;
&lt;ol type=&quot;1&quot;&gt;
&lt;li&gt;&lt;strong&gt;Isolate:&lt;/strong&gt; Break the file into small, manageable&lt;br /&gt;
chunks (e.g., 250 lines).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Delete:&lt;/strong&gt; Perform a “delete” operation by replacing&lt;br /&gt;
the old code block with an empty string.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add:&lt;/strong&gt; Perform an “add” operation by inserting the&lt;br /&gt;
new code into the empty space.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Verify:&lt;/strong&gt; Verifying each atomic step before&lt;br /&gt;
proceeding. This granular process, while slower, ensured surgical&lt;br /&gt;
precision and regained technical control over the large&lt;br /&gt;
&lt;code&gt;Chrome.pm&lt;/code&gt; module.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The consistent failure of the &lt;code&gt;MutationObserver&lt;/code&gt; approach&lt;br /&gt;
eventually led to the decision to abandon it in favor of stabilizing the&lt;br /&gt;
original, more transparent implementation.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;part-iv-reversion-and-final-stabilization-march-20&quot;&gt;Part IV:&lt;br /&gt;
Reversion and Final Stabilization (March 20)&lt;/h2&gt;
&lt;p&gt;After exhausting all reasonable attempts to fix the&lt;br /&gt;
&lt;code&gt;MutationObserver&lt;/code&gt;, a strategic decision was made to revert&lt;br /&gt;
to the simpler, more transparent polling implementation and fix it&lt;br /&gt;
correctly. This proved to be the correct path to a stable solution.&lt;/p&gt;
&lt;h3 id=&quot;key-milestones-engineering-decisions-2&quot;&gt;Key Milestones &amp;amp;&lt;br /&gt;
Engineering Decisions:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Decision: Perform Strategic Reversion.&lt;/strong&gt; The&lt;br /&gt;
&lt;code&gt;MutationObserver&lt;/code&gt; implementation, when integrated via&lt;br /&gt;
&lt;code&gt;callFunctionOn_future&lt;/code&gt; with &lt;code&gt;awaitPromise&lt;/code&gt;,&lt;br /&gt;
proved fundamentally unstable. Its JavaScript promise would consistently&lt;br /&gt;
fail to resolve, causing indefinite hangs. A decision was made to&lt;br /&gt;
&lt;strong&gt;revert all &lt;code&gt;MutationObserver&lt;/code&gt; code&lt;/strong&gt; from&lt;br /&gt;
&lt;code&gt;WWW::Mechanize::Chrome.pm&lt;/code&gt; and restore the original&lt;br /&gt;
&lt;code&gt;repeat { sleep }&lt;/code&gt; polling mechanism. A stable,&lt;br /&gt;
understandable solution was prioritized over an elegant but broken&lt;br /&gt;
one.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decision: Correct Timeout Delegation in the&lt;br /&gt;
Harness.&lt;/strong&gt; The root cause of the original timeout failure was&lt;br /&gt;
identified as a race condition in the &lt;code&gt;t/lib/t/helper.pm&lt;/code&gt;&lt;br /&gt;
test harness. The &lt;code&gt;safe_wait_until_*&lt;/code&gt; wrappers were&lt;br /&gt;
implementing their own timeout (via &lt;code&gt;wait_any&lt;/code&gt; and&lt;br /&gt;
&lt;code&gt;sleep_future&lt;/code&gt;) that raced against the underlying polling&lt;br /&gt;
function’s internal timeout. This led to intermittent failures on slow&lt;br /&gt;
machines. The helpers were refactored to &lt;strong&gt;delegate all timeout&lt;br /&gt;
management to the library’s polling functions&lt;/strong&gt;, ensuring a&lt;br /&gt;
single, authoritative timer controlled the operation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decision: Optimize Polling Performance.&lt;/strong&gt; At the&lt;br /&gt;
user’s request, the polling interval was reduced from 300ms to&lt;br /&gt;
&lt;strong&gt;150ms&lt;/strong&gt;. This modest performance improvement reduced the&lt;br /&gt;
test suite’s wallclock execution time by over a second while maintaining&lt;br /&gt;
stability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decision: Tune Test Watchdogs.&lt;/strong&gt; The global watchdog&lt;br /&gt;
timeout was adjusted to 12 seconds, specifically calculated as 1.5x the&lt;br /&gt;
observed real execution time of the optimized test. This provides a&lt;br /&gt;
data-driven safety margin for CI.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;part-v-the-last-bug---a-platform-specific-memory-leak-march-20&quot;&gt;Part&lt;br /&gt;
V: The Last Bug – A Platform-Specific Memory Leak (March 20)&lt;/h2&gt;
&lt;p&gt;With all other tests passing, a single memory leak failure in&lt;br /&gt;
&lt;code&gt;t/78-memleak.t&lt;/code&gt; persisted, but only on the Windows&lt;br /&gt;
&lt;code&gt;ad2&lt;/code&gt; environment. This required a different approach than&lt;br /&gt;
the timeout fixes.&lt;/p&gt;
&lt;h3 id=&quot;key-milestones&quot;&gt;Key Milestones:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The Bug:&lt;/strong&gt; A strong reference cycle involving the&lt;br /&gt;
&lt;code&gt;on_dialog&lt;/code&gt; event listener was not being broken on Windows,&lt;br /&gt;
despite multiple attempts to fix it. Fixes that worked on Linux (such as&lt;br /&gt;
calling &lt;code&gt;on_dialog(undef)&lt;/code&gt; in &lt;code&gt;DESTROY&lt;/code&gt;) were not&lt;br /&gt;
sufficient on the Windows host.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Diagnosis:&lt;/strong&gt; The issue was determined to be a&lt;br /&gt;
deep, platform-specific interaction between Perl’s garbage collector,&lt;br /&gt;
the &lt;code&gt;IO::Async&lt;/code&gt; event loop implementation on Windows, and the&lt;br /&gt;
&lt;code&gt;Test::Memory::Cycle&lt;/code&gt; module. The cycle report was identical&lt;br /&gt;
on both platforms, but the cleanup behavior was different.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Failed Attempts:&lt;/strong&gt; A series of increasingly&lt;br /&gt;
aggressive fixes were attempted to break the cycle, including:&lt;p&gt;&lt;/p&gt;
&lt;ol type=&quot;1&quot;&gt;
&lt;li&gt;Moving the &lt;code&gt;on_dialog(undef)&lt;/code&gt; call from&lt;br /&gt;
&lt;code&gt;close()&lt;/code&gt; to &lt;code&gt;DESTROY()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Explicitly &lt;code&gt;delete&lt;/code&gt;ing the listener and callback&lt;br /&gt;
properties from the object hash in &lt;code&gt;DESTROY&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Swapping between &lt;code&gt;$self-&amp;gt;remove_listener&lt;/code&gt; and&lt;br /&gt;
&lt;code&gt;$self-&amp;gt;target-&amp;gt;unlisten&lt;/code&gt; in a mistaken attempt to find&lt;br /&gt;
the correct un-registration method.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pragmatic Solution:&lt;/strong&gt; After exhausting all reasonable&lt;br /&gt;
code-level fixes without a resolution on Windows, the user opted to mark&lt;br /&gt;
the failing test as a known issue for that specific platform.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Final Fix:&lt;/strong&gt; The single failing test in&lt;br /&gt;
&lt;code&gt;t/78-memleak.t&lt;/code&gt; was wrapped in a conditional&lt;br /&gt;
&lt;code&gt;TODO&lt;/code&gt; block that only executes on Windows&lt;br /&gt;
(&lt;code&gt;if ($^O =~ /MSWin32/i)&lt;/code&gt;), formally acknowledging the bug&lt;br /&gt;
without blocking the build. This allows the test suite to pass in CI&lt;br /&gt;
environments while flagging the issue for future, deeper&lt;br /&gt;
investigation.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;part-vi-ci-hardening-march-20&quot;&gt;Part VI: CI Hardening (March&lt;br /&gt;
20)&lt;/h2&gt;
&lt;p&gt;A final failure in the GitHub Actions CI environment revealed one&lt;br /&gt;
last configuration flaw.&lt;/p&gt;
&lt;h3 id=&quot;key-milestones-1&quot;&gt;Key Milestones:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The Bug:&lt;/strong&gt; The CI was running&lt;br /&gt;
&lt;code&gt;prove --nocount --jobs 3 -I local/ -bl xt t&lt;/code&gt; directly. This&lt;br /&gt;
command was missing the crucial &lt;code&gt;-It/lib&lt;/code&gt; include path, which&lt;br /&gt;
is necessary for test files to locate the &lt;code&gt;t::helper&lt;/code&gt; module.&lt;br /&gt;
This resulted in nearly all tests failing with&lt;br /&gt;
&lt;code&gt;Can&#39;t locate t/helper.pm in @INC&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Investigation:&lt;/strong&gt; An analysis of&lt;br /&gt;
&lt;code&gt;Makefile.PL&lt;/code&gt; revealed a custom &lt;code&gt;MY::test&lt;/code&gt; block&lt;br /&gt;
specifically designed to inject the &lt;code&gt;-It/lib&lt;/code&gt; flag into the&lt;br /&gt;
&lt;code&gt;make test&lt;/code&gt; command. This confirmed that&lt;br /&gt;
&lt;code&gt;make test&lt;/code&gt; is the correct, canonical way to run the test&lt;br /&gt;
suite for this project.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Fix:&lt;/strong&gt; The&lt;br /&gt;
&lt;code&gt;.github/workflows/linux.yml&lt;/code&gt; file was modified to replace&lt;br /&gt;
the direct &lt;code&gt;prove&lt;/code&gt; call with &lt;code&gt;make test&lt;/code&gt; in the&lt;br /&gt;
&lt;code&gt;Run Tests&lt;/code&gt; step. This ensures the CI environment runs the&lt;br /&gt;
tests in the exact same way as a local developer, with all necessary&lt;br /&gt;
include paths correctly configured by the project’s build system.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;final-outcome&quot;&gt;Final Outcome&lt;/h2&gt;
&lt;p&gt;After this long and arduous journey, the&lt;br /&gt;
&lt;code&gt;WWW::Mechanize::Chrome&lt;/code&gt; test suite is now stable and&lt;br /&gt;
&lt;strong&gt;passing on all targeted platforms&lt;/strong&gt;, with known&lt;br /&gt;
platform-specific issues clearly documented in the code. The project is&lt;br /&gt;
in a vastly more robust and reliable state.&lt;/p&gt;

&lt;div class=&quot;twitter-share&quot;&gt;&lt;a class=&quot;twitter-share-button&quot; href=&quot;https://twitter.com/intent/tweet?url=https%3A%2F%2Fwp.c9h.org%2Fcj%2F%3Fp%3D2129&amp;amp;via=cjamescollier&quot;&gt;Tweet&lt;/a&gt;&lt;/div&gt;</content>
	<author>
	  <name>C.J. Collier</name>
	   <uri>https://wp.c9h.org/cj</uri> 
	</author>
	<source>
	  <title type="html">debian – Clerical Rigor</title>
	  <subtitle type="html">If you can&#39;t find the time to do it right the first time, where will you find the time to do it over?</subtitle>
	  <link rel="self" href="http://wp.c9h.org/cj/?cat=17&amp;feed=rss2"/>
	  <id>https://wp.c9h.org/cj</id>  
	</source>
  </entry>
  
</feed>
