2025-03-21.log

- jacobk (QUIT: Quit: No Ping reply in 180 seconds.) (~quassel@47-186-65-73.dlls.tx.frontiernet.net)00:03
+ jacobk (~quassel@47-186-65-73.dlls.tx.frontiernet.net)00:05
- Gooberpatrol_66 (QUIT: Quit: Konversation terminated!) (~Gooberpat@user/gooberpatrol66)00:22
+ Gooberpatrol_66 (~Gooberpat@user/gooberpatrol66)00:23
- wickedshell (QUIT: Read error: Connection reset by peer) (~wickedshe@2601:8c0:800:4baa:7d17:d32d:96fe:ea0b)01:12
+ LainExperiments (~LainExper@user/LainExperiments)01:24
- mjw (QUIT: Ping timeout: 252 seconds) (~mjw@gnu.wildebeest.org)01:29
+ LainExperiments4 (~LainExper@user/LainExperiments)01:30
- LainExperiments4 (QUIT: Client Quit) (~LainExper@user/LainExperiments)01:30
- LainExperiments (QUIT: Ping timeout: 240 seconds) (~LainExper@user/LainExperiments)01:31
- paperManu (QUIT: Ping timeout: 260 seconds) (~paperManu@107.159.71.33)02:01
- talos (QUIT: Quit: The Lounge - https://thelounge.chat) (~talos@syn-068-186-150-133.res.spectrum.com)02:09
+ talos (~talos@2600:6c5d:0:4b06:b7ee:74be:9b4:fb82)02:10
+ wickedshell (~wickedshe@2601:8c0:800:4baa:7d17:d32d:96fe:ea0b)03:12
wickedshellI've been a bit out of the loop, but has anyone else noticed firefox taking an absolute dive on performance? Kinda noticed it first about 2 weeks ago, but kept attributing it to me using a bunch of CPU to compile stuff. (Pocket reform, original SOM, sway, debian unstable)03:12
- nsc (QUIT: Ping timeout: 248 seconds) (~nicolas@71-98-142-46.pool.kielnet.net)03:59
+ nsc (~nicolas@231-97-142-46.pool.kielnet.net)04:01
+ mtm (~textual@47.202.75.129)04:02
+ Gooberpatrol66 (~Gooberpat@user/gooberpatrol66)04:10
- Gooberpatrol_66 (QUIT: Ping timeout: 260 seconds) (~Gooberpat@user/gooberpatrol66)04:11
- Gooberpatrol66 (QUIT: Client Quit) (~Gooberpat@user/gooberpatrol66)04:12
+ Gooberpatrol66 (~Gooberpat@user/gooberpatrol66)04:13
joschwickedshell: yes, violet observed something similar a month ago: https://mntre.com/reform-irc-logs/2025-01-31.log.html#t12:05:3005:16
joschwickedshell: could you check which groups your user is in (by calling groups)05:16
wickedshelljosch: "wickedshell cdrom floppy sudo audio dip video plugdev users netdev wireshark"05:28
- robin (QUIT: Ping timeout: 260 seconds) (~robin@user/terpri)05:29
joschwickedshell: and if you add yourself to the group "render", is the problem gone?05:29
josch(you have to log out and log back in again for changes to your user's group to take effect)05:29
wickedshelljosch: yup, that fixed it05:31
joschwow05:32
joschwickedshell: thank you for trying this out!05:32
wickedshellI think you get the thanks here, you provided the fix!05:32
joschthank violet who came up with the fix :)05:33
joschi just search irc logs :)05:33
wickedshellAlthough interestingly glxgears is now vsynceed, and renders funky. I might need to drop the group and see if it reverts05:33
wickedshelljosch: https://imgur.com/a/HzwB91n05:39
wickedshellminetest looks fine when in group render though05:39
wickedshellBut neverball levels are messed up as well now05:40
joscho005:40
joschminute: ^05:40
wickedshell(firefox content, foot, tuba all seems fine)05:41
wickedshellKinda obvious in a way, when I'm not in group render llvmpipe is the graphics device, and when I am in render it's Vivante05:49
wickedshell(and llvmpipe has more capabilities as you might expect)05:50
joscharmbian seems to add new users to the render group by default since last year: https://github.com/armbian/build/pull/662105:50
joschi still wonder how all this plays together because on a311d i'm *not* in the render group and my /dev/dri/renderD128 is owned by root:render but i have no rendering slowness...05:51
wickedshellwhat's glxinfo say your device is?05:52
wickedshell(i realize that's asking x windows, not wayland directly)05:53
joschglxinfo says direct rendering: Yes and Device: Mali-G52 (Panfrost)05:56
joschaha!05:57
joschgetfacl /dev/dri/renderD12805:57
joschuser:josch:rw-05:57
joschI missed the "+" when running ls -lha /dev/dri/renderD12805:58
wickedshellhuh, I don't have getfacl before, nor have it installeed, but seeems useful!06:00
joschso the question becomes: why did your setup stop to set the right ACLs06:00
wickedshellUnstable vs stable?06:01
wickedshellgetfacl shows just root:render for me06:03
joschwickedshell: to test that hypothesis you could flash a vanilla system image to an sd-card and boot that and see if firefox runs smooth and what getfacl /dev/dri/renderD128 outputs on that one06:03
joschi have a311d and imx8mq reform where graphics are not a problem06:04
josch(both running unstable)06:04
wickedshellvanilla system image is unstable right? That's still what I'm on06:05
wickedshellOr do you just want to see if the image comes up with the problem?06:05
joschwickedshell: yes, vanilla system image is unstable06:07
joschwickedshell: i'm wondering whether this is a problem that is a regression in unstable (and then a vanilla system image should exhibit the same issues)06:07
joschor whether it's a problem in changed configuration or a package that got installed (and then the vanilla image should not show the problem)06:08
joschi just tested this with a vanilla system image on imx8mq classic reform and there, the default user indeed has access to /dev/dri/renderD128 via an ACL06:09
wickedshelljosch: makes sense. Might be a bit before I have a spare SD card sitting around, but I can try and do that test. (I'm assuming I can just pop the uSD card in, boot, test, pop it out and the emmc/nvme drive setup will be left alone)06:10
joschwickedshell: yes06:10
joschu-boot on eMMC will prefer loading a system from sd-card if it finds one06:11
joschbooting a system on sd-card does not touch the rest (unless of course you do dd if=/dev/zero ... from the system on sd-card :D)06:11
wickedshellCool, that was my assumption, but wanted to check (and confirm that it wasn't going to try and "fix" anything)06:12
joschindeed there are no such scripts doing funny things06:13
wickedshelljosch: one last dumb question: https://reform.debian.net/images/ is the appropriate place to get the image from, or is there an artifact from gitlab I should use?06:14
joschwickedshell: reform.debian.net does not serve you Debian unstable images, those you get from https://mnt.re/system-image 06:15
joschthere is a disclaimer about that on the front page06:15
wickedshelljosch: thanks! Will let you know once I've tested06:17
joschwickedshell: so what *should* happen (i think) is that the rule in /usr/lib/udev/rules.d/70-uaccess.rules fires when you log in06:21
joschthat file contains: SUBSYSTEM=="drm", KERNEL=="renderD*", TAG+="uaccess"06:21
joschwhen I run "udevadm info /dev/dri/renderD128" I get this: https://paste.debian.net/hidden/1e0dd68a/06:23
joschand at the bottom it says TAGS=:uaccess:seat: which is what gives it the right ACL for my user06:23
wickedshellI geet the same TAGS line at the end, do you want the whole output?06:25
wickedshelloh, wait I'm tired. Mine says seat:uacces06:26
joschshould be okay06:26
joschhrm...06:27
joschthen i wonder why your getfacl output looks different...06:27
wickedshelljosch: https://pastebin.com/7ehyS84q here's what I get06:28
+ aloo_shu (~aloo_shu@84.78.242.52)06:29
wickedshelland then getfacl: https://pastebin.com/YTKUQx4V06:29
- aloo_shu (QUIT: Remote host closed the connection) (~aloo_shu@84.78.242.52)06:30
joschi see no problem with the "udevadm info" output but indeed the getfacl output is missing your user for some reason :/06:30
joschwickedshell: it would be useful to test a vanilla unstable image at some point i think06:31
wickedshellyeah, I'll try and do that soon, but it's going to have to be another day as I'm falling asleep! Thaks for all your help though.06:32
joschwickedshell: thank you for helping with getting to the bottom of this :)06:32
+ colinsane (~colinunin@97-113-94-165.tukw.qwest.net)06:38
- colinsane (QUIT: Ping timeout: 260 seconds) (~colinunin@97-113-94-165.tukw.qwest.net)06:49
- mtm (QUIT: Read error: Connection reset by peer) (~textual@47.202.75.129)07:19
+ mtm (~textual@47.202.75.129)07:20
+ chomwitt (~chomwitt@2a02:587:7a13:5400:1ac0:4dff:fedb:a3f1)07:38
- GNUmoon (QUIT: Remote host closed the connection) (~GNUmoon@gateway/tor-sasl/gnumoon)07:43
+ GNUmoon (~GNUmoon@gateway/tor-sasl/gnumoon)07:44
+ Ar|stote|is (~linx@149.210.32.228)08:26
+ xandyv (xandyv@user/xandyv)09:05
- jacobk (QUIT: Ping timeout: 260 seconds) (~quassel@47-186-65-73.dlls.tx.frontiernet.net)10:04
+ jacobk (~quassel@47-186-65-73.dlls.tx.frontiernet.net)10:04
+ mjw (~mjw@gnu.wildebeest.org)10:37
- talos (QUIT: Quit: Konversation terminated!) (~talos@2600:6c5d:0:4b06:b7ee:74be:9b4:fb82)10:38
+ talos (~talos@2600:6c5d:0:4b06:c376:5e91:49f5:d1ec)10:39
- laumann (QUIT: Changing host) (~quassel@2a0a-e5c0-2-2-0-c8ff-fe68-bef1.loves.ipv6.at.ungleich.ch)10:41
+ laumann (~quassel@user/laumann)10:41
hramrachit would depend on how you log in - the display manager, logind, seatd, and such10:41
joschwickedshell: that would be interesting to know ^10:45
- anuejn_ (QUIT: Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) (~quassel@46.101.193.235)11:01
- BAndiT1983_ (QUIT: Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) (~quassel@46.101.193.235)11:01
- se6astian (QUIT: Quit: se6astian) (~quassel@46.101.193.235)11:01
+ se6astian (~quassel@46.101.193.235)11:11
+ BAndiT1983 (~quassel@46.101.193.235)11:11
+ anuejn (~quassel@46.101.193.235)11:11
- kensanata (QUIT: Quit: Ping timeout (120 seconds)) (~alex@user/kensanata)11:21
+ kensanata (~alex@user/kensanata)11:21
+ paperManu (~paperManu@107.159.71.33)11:43
- iank (QUIT: Quit: ZNC 1.8.2+deb2+deb11u1 - https://znc.in) (~iank@fsf/staff/iank)12:25
+ iank (~iank@fsf/staff/iank)12:29
grimmwarejosch, minute: where are we at with merging the removal of mipi_dsi_dcs_enter_sleep? I just had a reboot where I got the regression again because a newer kernel was installed.12:50
minutegrimmware: lets merge!12:54
minutei'll do it in a few12:54
grimmware\o/12:55
grimmwareIf I'm going to contribute upstream I need to get way better at putting package holds in place12:56
+ jfred-linode (quassel@libera/sponsor/jfred)12:58
- jfred-linode_ (QUIT: Ping timeout: 276 seconds) (quassel@libera/sponsor/jfred)12:58
+ gustav28 (~gustav@c-78-82-53-220.bbcust.telenor.se)13:02
- mtm (QUIT: Ping timeout: 260 seconds) (~textual@47.202.75.129)13:04
- mjw (QUIT: Ping timeout: 244 seconds) (~mjw@gnu.wildebeest.org)13:05
- GNUmoon (QUIT: Remote host closed the connection) (~GNUmoon@gateway/tor-sasl/gnumoon)13:05
+ mtm (~textual@47.202.75.129)13:05
+ GNUmoon (~GNUmoon@gateway/tor-sasl/gnumoon)13:05
joschokay, well here go the past five hours of my life i guess13:11
joschbut maybe to prevent this from happening to others, here my take-away message:13:12
joschtouching the otherwise unconnected TX cable to your reform's serial connector *at the insulation* wakes it up from suspend...13:12
* Guest805 -> mjw13:13
joschi really thought i had broken suspend/resume somehow in recent kernel and/or reform-tools uploads13:13
joschturns out, that the reason why the issue was so hard to bisect is, that even a slight touch to the uart tx cable's insulation would wake it up...13:13
joschor, if the cable (the insulation!) would touch the pipe to the room's heating13:14
joschsigh...13:14
hramrachEMF ..13:14
joschyup...13:16
joschelectricity is magic sometimes13:17
minutejosch: uff uff13:27
minutejosch: open wire = antenna ;/13:27
joschminute: didn't you recently say that you wanted to consult an antenna expert for the reform next? antennas are indeed scary!! XD13:28
chjosch signing up to become the antenna expert?13:30
joschi'm signing up as the negative expert13:30
joschask me to build you an antenna without noticing XD13:31
vkoskivI know what SWR means, where does that place me on the antenna expertise spectrum?13:31
- xandyv (QUIT: Ping timeout: 252 seconds) (xandyv@user/xandyv)14:14
+ xandyv (xandyv@user/xandyv)14:21
- L29Ah (PART: !!unknown attribute: msg!!) (~L29Ah@wikipedia/L29Ah)14:44
minutejosch: hehehe 15:06
minutequalcomm reform news https://mastodon.social/@mntmn/11420071838027607015:06
joschoh wow15:12
josch~15 years ago i was told by linux-on-mobile kernel hackers "der name ist programm" (the word "qual" in german means "torture")15:13
joschthat changed i guess?15:13
joschcongrats for the funding! \o/15:13
+ L29Ah (~L29Ah@wikipedia/L29Ah)15:17
minutejosch: haha well qualcomm really is another dimension of complexity, but there has been a lot of work on mainlining these qcs chips15:19
minutehttps://pkgs.postmarketos.org/package/master/postmarketos/aarch64/linux-postmarketos-qcom-sc728015:21
BoostisBetterminute: that is great although I am ignorant about how those chips perform compared to the current offerings. 15:29
+ bkeys1 (~Thunderbi@173.186.16.211)15:30
- bkeys (QUIT: Read error: Connection reset by peer) (~Thunderbi@h211.16.186.173.dynamic.ip.windstream.net)15:30
* bkeys1 -> bkeys15:30
- Ar|stote|is (QUIT: Ping timeout: 268 seconds) (~linx@149.210.32.228)15:51
- chomwitt (QUIT: Ping timeout: 265 seconds) (~chomwitt@2a02:587:7a13:5400:1ac0:4dff:fedb:a3f1)15:53
minutejosch: interesting, mesa patch failed here https://source.mnt.re/grimmware/reform-debian-packages/-/pipelines/360916:34
- L29Ah (PART: !!unknown attribute: msg!!) (~L29Ah@wikipedia/L29Ah)16:41
+ Ar|stote|is (~linx@149.210.12.121)16:45
wickedshellhramrach: using the default TUI login prompt on the pocket reform. Not even sure what one it is :)16:45
+ L29Ah (~L29Ah@wikipedia/L29Ah)16:51
hramrachso it's not changed in any obvious way17:04
minutewickedshell: that's greetd+tuigreet17:06
joschminute: thank you for the ping. mesa 25.0.2 was uploaded and the patch needs to be refreshed17:27
joschminute: did you ever see the problem of the user missing ACLs on /dev/dri/renderD128? That's the problem wickedshell reported this morning and violet was also bitten by that in the past.17:29
joschit doesn't happen on a vanilla imx8mq nor on a vanilla a311d system image, so maybe it's imx8m+ specific17:29
grimmwareminute: I didn't touch that patch :/ Is there a way I can see any more information on what failed?17:38
joschgrimmware, minute: problem should be taken care of17:38
grimmwarejosch: what was the problem?17:38
grimmwareoh newer mesa17:38
grimmwarenm17:38
joschgrimmware: can you rebase on main once this pipeline succeeded please: https://source.mnt.re/reform/reform-debian-packages/-/pipelines/361017:39
grimmwaresure17:39
joschgrimmware: hold on, more problems17:48
joschah i see17:49
- L29Ah (QUIT: Read error: Connection reset by peer) (~L29Ah@wikipedia/L29Ah)17:50
+ wytch (~wytch@user/wytch)17:50
joschgrimmware: the problem was that last week, Lukas added the x86 box as a gitlab CI runner and the scripts do assume that you build natively (which works fine if the gitlab runner is the ampere VPS)17:53
grimmwareah gotcha17:54
joschthough it seems i have sufficient privileges to pause a runner, so that's what i did17:55
joschminute: i looked in the logs but i think you didn't yet test the latest CI results for the multi-arch reform-debian-packages builder? (it was Sunday, so no worries) Here is the updated line for your /etc/apt/sources.list: deb [trusted=yes] https://source.mnt.re/reform/reform-debian-packages/-/jobs/8106/artifacts/raw/repo reform main17:59
joschthe version before that one had file conflicts because dch does not respect SOURCE_DATE_EPOCH18:00
joschif the latest version works as it should, we can merge https://source.mnt.re/reform/reform-debian-packages/-/merge_requests/4218:00
minutejosch: ahh i remember now... i can test it here in parallel18:15
+ L29Ah (~L29Ah@wikipedia/L29Ah)18:25
+ Guest28 (~Guest28@38.145.3.251)18:30
Guest28Hi, does anyone know if MNT Reform's battery are compatible with tabless 18650s?18:32
joschGuest28: Which tabless 18650s did you find that are not lithium-ion but LiFePO4 chemistry?18:37
+ mark_ (~mjw@gnu.wildebeest.org)18:37
Guest28https://www.licaptech.com/pdfs/datasheets/lithium-ion/LICAP_LIC_Summary.pdf lithium ion capacitor, neither lifepo4, but not lipolymer either18:42
minuteGuest28: very interesting, never heard about it. it looks kind of safe but idk if our charger will just charge it. 3.8v should work out though18:44
+ vagrantc (~vagrant@2600:3c01:e000:21:7:77:0:50)18:45
joschgrimmware: pipeline passed -- you can rebase now :)18:48
Guest28I am researching ways to design a PCB with solar power manager (https://www.waveshare.com/solar-power-manager.htm) and one 18650, for very low power consumption https://www.sparkfun.com/sparkfun-micromod-artemis-processor.html Since each battery slot of the MNT Reform is redundant, I am wondering if I can use the KiCad schematic and develop a19:00
Guest28carrier board that supports various system on a modules.19:00
+ chomwitt (~chomwitt@2a02:587:7a13:5400:1ac0:4dff:fedb:a3f1)19:27
minuteGuest28: classic reform battery slots are not redundant. only on the reform next, the 2 packs are redundant.19:31
Guest28minute ah ok. thanks19:32
grimmwarejos19:32
grimmwarewhoops hahah19:32
grimmwaresorry, still learning a new keyboard19:33
grimmwarejosch: rebased19:33
minutejosch: (re)install of mesa for arm64+armhf (i did it with the libegl1 package) worked on the next19:35
- chomwitt (QUIT: Ping timeout: 272 seconds) (~chomwitt@2a02:587:7a13:5400:1ac0:4dff:fedb:a3f1)19:36
joschgrimmware: i actually failed to spot anything U shaped in the photo you sent yesterday :D19:51
joschminute: nice! you think this MR should be merged then? it increases pipeline runtime from ~53 minutes to ~72 minutes19:53
grimmwareHahah, yeah that wasn’t the greatest photo19:54
joschgrimmware: i think the photo was cool (love the red) but i faild to spot the thing XD19:55
minutejosch: i386 also worked19:56
minutejosch: ok, lets merge. i hope we don't have to patch mesa too often ;/19:56
joschminute: i fear we will. The problem seems to be limited to bananapi a311d and thus it would be a regression for the other platforms to apply that fix in debian19:58
joschi pinked narmstrong in #panfrost about it a few hours ago19:58
josch*pinged19:59
- mjw (QUIT: Killed (tantalum.libera.chat (Nickname regained by services))) (~mjw@2001:1c06:2486:a800:7602:5eff:dc71:a72c)20:00
* mark_ -> mjw20:00
+ Guest2976 (~mjw@2001:1c06:2486:a800:7602:5eff:dc71:a72c)20:01
joschgrimmware: I set https://source.mnt.re/reform/reform-debian-packages/-/merge_requests/87 to auto-merge20:01
minutejosch: good to have infra for it!20:02
joschyes, having both arm64 and x86 runners really helps20:02
minutejosch: if narmstrong won't help, we could also wrap this in an ENV var or even propose a patch with an ENV var/quirk to mesa project so one could disable this feature at runtime20:02
minutethere are a few things like that in mesa (not many though)20:03
joschgood point. We could argue to the Debian mesa maintainers that the problem is unlikely to be fixed in mesa upstream before Trixie and that it would thus make sense to carry such a patch for those platforms that are affected in the next stable release.20:05
joschthe env-var hack doesn't have to end up in mesa upstream20:05
joschthen the next problem would be that we have currently no way to roll out env-var hacks to our users, no?20:06
minutehmm probably not, there is /etc/environment but we don't control it20:07
joschwe *could* by putting an evil sed into the reform-tools postinst but i'd consider such a hack very evil because of potenital unintended side-effects20:08
joschat least the problem is of the kind where you do not completely loose the display -- it's just an annoying flicker but not annoying enough to be unable to apply a fix like with the environment variable... hrm...20:12
- Gooberpatrol66 (QUIT: Quit: Konversation terminated!) (~Gooberpat@user/gooberpatrol66)20:14
+ Gooberpatrol66 (~Gooberpat@user/gooberpatrol66)20:15
hramrachalso can the quirk be applied by detecting the affected hardware?20:36
minutehramrach: yes i think so20:45
minutehttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2809/diffs20:46
minutehttps://gitlab.freedesktop.org/mesa/mesa/-/blob/mesa-21.1.7/src/panfrost/include/panfrost-quirks.h?ref_type=tags#L6620:47
minutecould probably be patched into panfrost_get_quirks(), we just need to know the gpu id20:47
minuteah, should be case 0x721220:48
minutebut that's probably too strong for debian because it will affect anything with g5220:48
+ ZylonMaster (~hjcs@syn-098-015-248-249.res.spectrum.com)20:49
grimmwarejosch: noice, thank you!21:01
+ chomwitt (~chomwitt@2a02:587:7a13:5400:1ac0:4dff:fedb:a3f1)21:10
- jacobk (QUIT: Ping timeout: 248 seconds) (~quassel@47-186-65-73.dlls.tx.frontiernet.net)21:13
+ jacobk (~quassel@47-186-65-73.dlls.tx.frontiernet.net)21:14
+ Gooberpatrol_66 (~Gooberpat@user/gooberpatrol66)21:27
- Gooberpatrol66 (QUIT: Ping timeout: 268 seconds) (~Gooberpat@user/gooberpatrol66)21:27
- xandyv (QUIT: Ping timeout: 244 seconds) (xandyv@user/xandyv)21:49
+ xandyv (xandyv@user/xandyv)21:51
- ZylonMaster (QUIT: Quit: Leaving) (~hjcs@syn-098-015-248-249.res.spectrum.com)21:55
- xandyv (QUIT: Ping timeout: 245 seconds) (xandyv@user/xandyv)21:55
- Guest28 (QUIT: Quit: Client closed) (~Guest28@38.145.3.251)21:56
+ xandyv (xandyv@user/xandyv)21:57
+ Guest28 (~Guest28@38.145.3.251)22:12
- gustav28 (QUIT: Quit: Quit) (~gustav@c-78-82-53-220.bbcust.telenor.se)22:15
Guest28in the MNT Reform Next, do 4 18650s need to be plugged in for one well to boot, or just one?22:18
Guest28one bank*22:19
BoostisBetterGuest28: I believe minute has already answered before that only one bank is needed. 22:20
minuteyep22:20
Guest28my mistake, i thought that in parallel, it would run at 3.7V.22:23
minute2x4S in parallel22:26
- Guest28 (QUIT: Quit: Client closed) (~Guest28@38.145.3.251)22:26
minutein my experience powering a computer from a low voltage isn't that great because of resistive losses, boosting etc22:26
wickedshellminute: agreed, sooooo PoE? :D22:42
wickedshellACTION ducks22:42
minute:D22:57
hramrachedgar allan?23:06
- xandyv (QUIT: Ping timeout: 276 seconds) (xandyv@user/xandyv)23:12
- Ar|stote|is (QUIT: Ping timeout: 260 seconds) (~linx@149.210.12.121)23:33

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!