2025/10/30

2025-10-30 00:01:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 00:01:28 +0100Zemy_(~Zemy@2600:100c:b0ad:1c64:9808:dbff:fe81:e9ff) (Ping timeout: 256 seconds)
2025-10-30 00:02:14 +0100Zemy_(~Zemy@2600:100c:b0ad:1c64:88d4:f6ff:fee9:8fef)
2025-10-30 00:04:31 +0100Zemy(~Zemy@mobile-107-80-206-70.mycingular.net) (Ping timeout: 264 seconds)
2025-10-30 00:05:37 +0100tromp(~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-10-30 00:08:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-30 00:19:20 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 00:22:38 +0100trickard_trickard
2025-10-30 00:24:17 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-10-30 00:35:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 00:39:59 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 00:42:34 +0100jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-10-30 00:43:43 +0100pavonia(~user@user/siracusa) siracusa
2025-10-30 00:45:40 +0100Zemy(~Zemy@72.178.108.235)
2025-10-30 00:49:38 +0100Zemy_(~Zemy@2600:100c:b0ad:1c64:88d4:f6ff:fee9:8fef) (Ping timeout: 256 seconds)
2025-10-30 00:52:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 00:53:35 +0100Shark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
2025-10-30 00:56:25 +0100Dhark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 256 seconds)
2025-10-30 00:56:54 +0100ttybitnik(~ttybitnik@user/wolper) (Quit: "¯_(ツ)_/¯")
2025-10-30 00:57:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 01:02:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 01:07:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 01:10:47 +0100Dhark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
2025-10-30 01:12:15 +0100Dhark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Remote host closed the connection)
2025-10-30 01:13:03 +0100Dhark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
2025-10-30 01:13:31 +0100Shark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 264 seconds)
2025-10-30 01:14:45 +0100Dhark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Remote host closed the connection)
2025-10-30 01:15:33 +0100Dhark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
2025-10-30 01:17:50 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 01:19:25 +0100LainIwakura(~LainIwaku@user/LainIwakura) LainIwakura
2025-10-30 01:22:45 +0100OWS(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
2025-10-30 01:23:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 01:24:11 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 250 seconds)
2025-10-30 01:25:19 +0100Dhark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 256 seconds)
2025-10-30 01:28:46 +0100pavonia_(~user@user/siracusa) siracusa
2025-10-30 01:30:28 +0100Eoco(~ian@128.101.131.218) (Remote host closed the connection)
2025-10-30 01:30:39 +0100Googulator52(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 01:30:40 +0100Googulator99(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 01:30:57 +0100Eoco(~ian@128.101.131.218) Eoco
2025-10-30 01:31:35 +0100ft_(~ft@p4fc2aaeb.dip0.t-ipconnect.de) ft
2025-10-30 01:31:46 +0100raym_(~ray@user/raym) raym
2025-10-30 01:32:06 +0100GdeVolpi1(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2025-10-30 01:32:29 +0100connrs_(~connrs@conners.plus.com)
2025-10-30 01:33:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 01:36:37 +0100pavonia(~user@user/siracusa) (*.net *.split)
2025-10-30 01:36:37 +0100haltingsolver(~cmo@2604:3d09:207f:8000::d1dc) (*.net *.split)
2025-10-30 01:36:37 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (*.net *.split)
2025-10-30 01:36:37 +0100ouilemur(~jgmerritt@user/ouilemur) (*.net *.split)
2025-10-30 01:36:37 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (*.net *.split)
2025-10-30 01:36:37 +0100bggd(~bgg@2a01:e0a:819:1510:f314:af0a:6c28:12ae) (*.net *.split)
2025-10-30 01:36:37 +0100wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) (*.net *.split)
2025-10-30 01:36:37 +0100Wbooze(~wboozE@2a02:8071:57a1:dc0:188e:cf5c:af12:b243) (*.net *.split)
2025-10-30 01:36:37 +0100ft(~ft@p4fc2aaeb.dip0.t-ipconnect.de) (*.net *.split)
2025-10-30 01:36:37 +0100ZLima12(~zlima12@user/meow/ZLima12) (*.net *.split)
2025-10-30 01:36:37 +0100raym(~ray@user/raym) (*.net *.split)
2025-10-30 01:36:37 +0100synchromesh(~john@2406:5a00:2412:2c00:1168:9cdd:93d7:e6c6) (*.net *.split)
2025-10-30 01:36:37 +0100craunts795335385(~craunts@136.158.7.194) (*.net *.split)
2025-10-30 01:36:37 +0100connrs(~connrs@user/connrs) (*.net *.split)
2025-10-30 01:36:37 +0100elenril(~elenril@tutturu.khirnov.net) (*.net *.split)
2025-10-30 01:36:37 +0100sp1ff(~user@2601:1c2:4c00:6820::8bad) (*.net *.split)
2025-10-30 01:36:37 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (*.net *.split)
2025-10-30 01:36:37 +0100phma(~phma@2605:59c8:6211:ff08:7181:51cb:35db:c6be) (*.net *.split)
2025-10-30 01:36:37 +0100tuxpaint(~a@2600:3c06::f03c:93ff:fea6:ef0e) (*.net *.split)
2025-10-30 01:36:37 +0100arahael(~wetfoot@user/arahael) (*.net *.split)
2025-10-30 01:36:37 +0100ycp(~znc@user/dragestil) (*.net *.split)
2025-10-30 01:36:37 +0100xal_(~xal@mx1.xal.systems) (*.net *.split)
2025-10-30 01:36:38 +0100ft_ft
2025-10-30 01:36:38 +0100connrs_connrs
2025-10-30 01:37:09 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Remote host closed the connection)
2025-10-30 01:37:25 +0100emmanuelux(~emmanuelu@user/emmanuelux) emmanuelux
2025-10-30 01:37:44 +0100a_fantom(~fantom@212.228.181.156)
2025-10-30 01:37:45 +0100OWS(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Remote host closed the connection)
2025-10-30 01:38:38 +0100OWS(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
2025-10-30 01:38:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 01:38:55 +0100FANTOM(~fantom@212.228.181.156) (Ping timeout: 256 seconds)
2025-10-30 01:40:09 +0100Dhark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
2025-10-30 01:41:10 +0100qqe(~qqq@185.54.23.200)
2025-10-30 01:42:14 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-10-30 01:42:14 +0100haltingsolver(~cmo@2604:3d09:207f:8000::d1dc)
2025-10-30 01:42:14 +0100ouilemur(~jgmerritt@user/ouilemur) ouilemur
2025-10-30 01:42:14 +0100bggd(~bgg@2a01:e0a:819:1510:f314:af0a:6c28:12ae)
2025-10-30 01:42:14 +0100ZLima12(~zlima12@user/meow/ZLima12) ZLima12
2025-10-30 01:42:14 +0100synchromesh(~john@2406:5a00:2412:2c00:1168:9cdd:93d7:e6c6) synchromesh
2025-10-30 01:42:14 +0100elenril(~elenril@tutturu.khirnov.net) elenril
2025-10-30 01:42:14 +0100sp1ff(~user@2601:1c2:4c00:6820::8bad) sp1ff
2025-10-30 01:42:14 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) tcard
2025-10-30 01:42:14 +0100phma(~phma@2605:59c8:6211:ff08:7181:51cb:35db:c6be)
2025-10-30 01:42:14 +0100tuxpaint(~a@2600:3c06::f03c:93ff:fea6:ef0e) firesquidwao
2025-10-30 01:42:14 +0100arahael(~wetfoot@user/arahael) arahael
2025-10-30 01:42:14 +0100ycp(~znc@user/dragestil) dragestil
2025-10-30 01:42:14 +0100xal_(~xal@mx1.xal.systems) xal
2025-10-30 01:42:18 +0100ZLima12(~zlima12@user/meow/ZLima12) (Max SendQ exceeded)
2025-10-30 01:42:18 +0100ouilemur(~jgmerritt@user/ouilemur) (Max SendQ exceeded)
2025-10-30 01:42:26 +0100ZLima12(~zlima12@user/meow/ZLima12) ZLima12
2025-10-30 01:42:41 +0100ouilemur(~jgmerritt@user/ouilemur) ouilemur
2025-10-30 01:43:25 +0100OWS(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 265 seconds)
2025-10-30 01:43:27 +0100wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) wbrawner
2025-10-30 01:44:35 +0100Dhark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 256 seconds)
2025-10-30 01:44:41 +0100Wbooze(~wboozE@2a02:8071:57a1:dc0:3827:9244:6b75:269a) Inline
2025-10-30 01:46:18 +0100Guest34(~Guest34@2601:14d:4d7e:8f0:f916:ca93:9bc9:f49f)
2025-10-30 01:49:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 01:49:40 +0100wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 246 seconds)
2025-10-30 01:49:49 +0100wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) wbrawner
2025-10-30 01:53:07 +0100aku(aku@65.108.245.241) (Quit: Lost terminal)
2025-10-30 01:53:28 +0100GdeVolpi1(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 255 seconds)
2025-10-30 01:55:40 +0100Googulator52(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 01:55:48 +0100Googulator65(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 01:55:58 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-10-30 02:00:50 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2025-10-30 02:03:43 +0100xff0x(~xff0x@2405:6580:b080:900:e827:de8b:d736:8bef) (Ping timeout: 265 seconds)
2025-10-30 02:03:52 +0100aku(aku@65.108.245.241) eagleflo
2025-10-30 02:05:00 +0100haltingsolver(~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 256 seconds)
2025-10-30 02:06:15 +0100haltingsolver(~cmo@2604:3d09:207f:8000::d1dc)
2025-10-30 02:07:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 02:11:29 +0100LainIwakura(~LainIwaku@user/LainIwakura) (Ping timeout: 250 seconds)
2025-10-30 02:12:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-10-30 02:15:38 +0100Googulator12(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 02:15:49 +0100Googulator65(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 02:17:01 +0100acidjnk(~acidjnk@p200300d6e7171950c80ae7d706fe6efe.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2025-10-30 02:20:31 +0100otto_s(~user@p5b044037.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2025-10-30 02:20:47 +0100Googulator31(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 02:20:47 +0100Googulator12(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 02:22:18 +0100otto_s(~user@p4ff27477.dip0.t-ipconnect.de)
2025-10-30 02:23:17 +0100haltingsolver(~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 260 seconds)
2025-10-30 02:27:04 +0100qqe(~qqq@185.54.23.200) (Remote host closed the connection)
2025-10-30 02:30:48 +0100Googulator31(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 02:31:03 +0100Googulator31(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 02:32:19 +0100Tuplanolla(~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) (Quit: Leaving.)
2025-10-30 02:35:33 +0100pavonia_pavonia
2025-10-30 02:35:39 +0100Googulator31(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
2025-10-30 02:35:43 +0100Googulator59(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 02:37:11 +0100trickard(~trickard@cpe-52-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-30 02:39:43 +0100trickard_(~trickard@cpe-52-98-47-163.wireline.com.au)
2025-10-30 03:02:11 +0100meinside-meinside
2025-10-30 03:07:41 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-10-30 03:08:51 +0100LainIwakura(~LainIwaku@user/LainIwakura) LainIwakura
2025-10-30 03:10:44 +0100Googulator22(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 03:11:18 +0100Googulator59(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 03:11:36 +0100LainIwakura(~LainIwaku@user/LainIwakura) (Write error: Broken pipe)
2025-10-30 03:30:43 +0100Googulator97(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 03:30:45 +0100Googulator22(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 03:36:35 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2025-10-30 03:36:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 03:41:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 03:42:37 +0100Shark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
2025-10-30 03:45:40 +0100Googulator60(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 03:45:43 +0100Googulator97(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 03:52:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 03:57:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-30 04:00:12 +0100gorignak(~gorignak@user/gorignak) gorignak
2025-10-30 04:08:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 04:08:16 +0100trickard_(~trickard@cpe-52-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-30 04:08:29 +0100trickard_(~trickard@cpe-52-98-47-163.wireline.com.au)
2025-10-30 04:13:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-30 04:16:47 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
2025-10-30 04:18:53 +0100rekahsoft(~rekahsoft@70.51.99.245) (Remote host closed the connection)
2025-10-30 04:20:38 +0100Googulator6(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 04:20:40 +0100Googulator60(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 04:24:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 04:25:38 +0100Googulator6(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 04:25:45 +0100Googulator6(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 04:28:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 04:34:28 +0100Googulator6(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 04:34:45 +0100Googulator6(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 04:39:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 04:41:57 +0100td_(~td@i53870937.versanet.de) (Ping timeout: 256 seconds)
2025-10-30 04:43:27 +0100td_(~td@i53870927.versanet.de)
2025-10-30 04:45:37 +0100Googulator6(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 04:45:38 +0100Googulator37(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 04:46:30 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 04:54:01 +0100annamalai(~annamalai@157.32.128.210) annamalai
2025-10-30 04:57:48 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 05:00:55 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2025-10-30 05:01:11 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-10-30 05:02:30 +0100Lord_of_Life_Lord_of_Life
2025-10-30 05:02:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 05:13:36 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 05:13:53 +0100Googulator62(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 05:17:03 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-10-30 05:17:43 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2025-10-30 05:17:45 +0100trickard_(~trickard@cpe-52-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-30 05:17:49 +0100Googulator37(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Ping timeout: 250 seconds)
2025-10-30 05:17:58 +0100trickard_(~trickard@cpe-52-98-47-163.wireline.com.au)
2025-10-30 05:18:48 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 05:19:21 +0100Lord_of_Life_Lord_of_Life
2025-10-30 05:19:42 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-10-30 05:20:29 +0100ezzieygu1wuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 256 seconds)
2025-10-30 05:29:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 05:34:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 05:35:08 +0100bgt32(~keutoi@106.222.232.60)
2025-10-30 05:36:15 +0100aforemny_(~aforemny@i577B137A.versanet.de) aforemny
2025-10-30 05:37:31 +0100aforemny(~aforemny@2001:9e8:6cf0:1a00:b20d:95e8:54ba:6338) (Ping timeout: 264 seconds)
2025-10-30 05:37:31 +0100synchromesh(~john@2406:5a00:2412:2c00:1168:9cdd:93d7:e6c6) (Read error: Connection reset by peer)
2025-10-30 05:38:45 +0100synchromesh(~john@2406:5a00:2412:2c00:a151:32b5:2959:c671) synchromesh
2025-10-30 05:45:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 05:49:58 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 05:50:45 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 252 seconds)
2025-10-30 05:51:59 +0100Guest34(~Guest34@2601:14d:4d7e:8f0:f916:ca93:9bc9:f49f) (Quit: Client closed)
2025-10-30 06:00:59 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 06:05:50 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 06:07:58 +0100craunts795335385(~craunts@136.158.7.194)
2025-10-30 06:11:21 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-10-30 06:15:45 +0100Googulator44(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 06:15:45 +0100Googulator62(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 06:16:47 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 06:22:23 +0100Googulator44(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 06:22:39 +0100Googulator44(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 06:22:49 +0100craunts795335385(~craunts@136.158.7.194) (Ping timeout: 256 seconds)
2025-10-30 06:22:50 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 06:25:34 +0100Googulator44(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
2025-10-30 06:25:45 +0100Googulator44(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 06:31:55 +0100Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-10-30 06:34:20 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 06:39:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-30 06:50:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 06:54:15 +0100trickard_(~trickard@cpe-52-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-30 06:54:29 +0100trickard_(~trickard@cpe-52-98-47-163.wireline.com.au)
2025-10-30 06:55:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-10-30 06:55:43 +0100Googulator69(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 06:55:44 +0100Googulator44(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 07:03:29 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-10-30 07:05:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 07:09:17 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 256 seconds)
2025-10-30 07:11:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-30 07:14:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 07:18:56 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 07:21:00 +0100Googulator69(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 07:21:05 +0100Googulator52(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 07:21:06 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-10-30 07:22:23 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2025-10-30 07:23:42 +0100img(~img@user/img) img
2025-10-30 07:25:42 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 07:25:42 +0100Googulator52(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
2025-10-30 07:29:56 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 07:36:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-30 07:37:38 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 256 seconds)
2025-10-30 07:39:24 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-10-30 07:43:00 +0100Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-10-30 07:47:25 +0100trickard_(~trickard@cpe-52-98-47-163.wireline.com.au) (Ping timeout: 264 seconds)
2025-10-30 07:47:59 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 07:48:20 +0100trickard_(~trickard@cpe-52-98-47-163.wireline.com.au)
2025-10-30 07:49:15 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-10-30 07:50:29 +0100trickard_trickard
2025-10-30 07:50:45 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 07:50:52 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 07:52:51 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-10-30 07:56:50 +0100Square2(~Square4@user/square) Square
2025-10-30 08:01:20 +0100jreicher(~user@user/jreicher) (Quit: Beer)
2025-10-30 08:02:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 08:02:51 +0100peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-10-30 08:07:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 08:07:49 +0100annamalai(~annamalai@157.32.128.210) (Ping timeout: 264 seconds)
2025-10-30 08:11:04 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 256 seconds)
2025-10-30 08:16:20 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-10-30 08:17:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 08:18:30 +0100annamalai(~annamalai@2409:4042:2595:bd4d::195e:70b1) annamalai
2025-10-30 08:22:58 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 08:27:42 +0100jreicher(~user@user/jreicher) jreicher
2025-10-30 08:33:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 08:38:23 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2025-10-30 08:41:05 +0100peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 256 seconds)
2025-10-30 08:45:25 +0100monty(~user@2601:646:300:83b0:b942:d9b0:5ff4:a7eb)
2025-10-30 08:45:58 +0100monty(~user@2601:646:300:83b0:b942:d9b0:5ff4:a7eb) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.2))
2025-10-30 08:45:59 +0100ft(~ft@p4fc2aaeb.dip0.t-ipconnect.de) (Quit: leaving)
2025-10-30 08:49:21 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 08:52:24 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-10-30 08:54:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 08:57:01 +0100Arsen(arsen@gentoo/developer/managarm.dev.Arsen) (Ping timeout: 264 seconds)
2025-10-30 08:57:35 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
2025-10-30 08:57:57 +0100Frostillicus(~Frostilli@71.174.119.69)
2025-10-30 08:57:59 +0100Arsen(arsen@gentoo/developer/managarm.dev.Arsen) Arsen
2025-10-30 09:03:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 09:04:25 +0100Sgeo_(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-10-30 09:04:53 +0100bgt32(~keutoi@106.222.232.60) (Ping timeout: 256 seconds)
2025-10-30 09:05:40 +0100Googulator3(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 09:05:40 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 09:06:53 +0100bgt32(~keutoi@106.222.233.20)
2025-10-30 09:09:37 +0100Fijxu(~Fijxu@user/fijxu) (Ping timeout: 246 seconds)
2025-10-30 09:09:39 +0100srazkvt(~sarah@user/srazkvt) srazkvt
2025-10-30 09:10:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 09:13:56 +0100tromp(~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f)
2025-10-30 09:16:01 +0100trickard(~trickard@cpe-52-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-30 09:16:16 +0100trickard_(~trickard@cpe-52-98-47-163.wireline.com.au)
2025-10-30 09:19:30 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-10-30 09:20:03 +0100jreicher(~user@user/jreicher) (Read error: Connection reset by peer)
2025-10-30 09:20:41 +0100qqe(~qqq@185.54.23.200)
2025-10-30 09:22:05 +0100jreicher(~user@user/jreicher) jreicher
2025-10-30 09:25:41 +0100Googulator3(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 09:25:42 +0100Googulator48(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 09:28:59 +0100trickard__(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-10-30 09:29:22 +0100trickard_(~trickard@cpe-52-98-47-163.wireline.com.au) (Ping timeout: 244 seconds)
2025-10-30 09:42:19 +0100trickard__(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-30 09:42:32 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-10-30 09:45:41 +0100Googulator36(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 09:45:46 +0100Googulator48(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 09:47:53 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Remote host closed the connection)
2025-10-30 09:53:58 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-30 09:54:11 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-10-30 09:56:02 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) kuribas
2025-10-30 09:56:02 +0100connrs(~connrs@conners.plus.com) (Read error: Connection reset by peer)
2025-10-30 09:56:04 +0100Googulator11(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 09:56:16 +0100Googulator36(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 09:58:34 +0100connrs(~connrs@user/connrs) connrs
2025-10-30 09:59:21 +0100merijn(~merijn@77.242.116.146) merijn
2025-10-30 10:00:30 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2025-10-30 10:00:30 +0100 <kuribas> Let's say I have a TimeSeries as a functor and applicative, so fmap :: (a -> b) -> TimeSeries a -> TimeSeries b, and <*> :: TimeSeries (a -> b) -> TimeSeries a -> TimeSeries b. Can I lift this into an expression AST, where Fmap :: Formula (a -> b) -> Expr a -> Expr b, App :: Expr (a -> b) -> Expr (b)?
2025-10-30 10:00:40 +0100Googulator11(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
2025-10-30 10:00:43 +0100 <kuribas> Is there an abstraction for this?
2025-10-30 10:00:46 +0100Googulator88(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 10:00:54 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2025-10-30 10:01:17 +0100 <kuribas> Basically I want to describe the timeseries as an abstract expression.
2025-10-30 10:01:48 +0100 <kuribas> For example, to compile this from a set of expressions to a set database queries.
2025-10-30 10:03:10 +0100qqe(~qqq@185.54.23.200) (Quit: Lost terminal)
2025-10-30 10:04:14 +0100 <tomsmeding> kuribas: sounds like what you're looking for is a free applicative, analogous to a "free monad" for Monad
2025-10-30 10:04:27 +0100 <tomsmeding> this claims to be one encoding of that https://hackage.haskell.org/package/free-5.2/docs/Control-Applicative-Free.html
2025-10-30 10:05:01 +0100divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2025-10-30 10:05:20 +0100divlamir(~divlamir@user/divlamir) divlamir
2025-10-30 10:05:34 +0100 <tomsmeding> but what you wrote would work fine too, I think, as long as 1. you add an `Expr a` field to App, and you add some additional constructor for actual operations to be done
2025-10-30 10:05:56 +0100 <tomsmeding> (plus some Pure :: a -> Expr a)
2025-10-30 10:08:06 +0100 <kuribas> tomsmeding: then "f" is the Formula language?
2025-10-30 10:08:21 +0100 <tomsmeding> with that Control.Applicative.Free?
2025-10-30 10:08:35 +0100 <tomsmeding> f is your underlying Applicative of operations that you want the expression to be able to perform
2025-10-30 10:08:40 +0100 <tomsmeding> Ap is the expression language
2025-10-30 10:09:03 +0100 <tomsmeding> f itself can be an expression language too if you wish to make the whole thing symbolic
2025-10-30 10:10:38 +0100 <tomsmeding> kuribas: have you seen free monads before?
2025-10-30 10:11:28 +0100Frostillicus(~Frostilli@71.174.119.69) (Remote host closed the connection)
2025-10-30 10:11:50 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-10-30 10:12:54 +0100annamalai(~annamalai@2409:4042:2595:bd4d::195e:70b1) (Ping timeout: 256 seconds)
2025-10-30 10:18:01 +0100 <kuribas> a bit.
2025-10-30 10:18:57 +0100 <kuribas> So it becomes (data Expr f a)?
2025-10-30 10:19:24 +0100 <kuribas> Then the abstract version is "Expr Formula a" over some formula language.
2025-10-30 10:19:27 +0100 <tomsmeding> kuribas: if you want to roll your own, then yes
2025-10-30 10:19:39 +0100 <kuribas> If I don't?
2025-10-30 10:19:47 +0100 <tomsmeding> you would use Ap f a :p
2025-10-30 10:20:01 +0100 <tomsmeding> but if you want to understand what's going on, I do kind of recommend rolling your own
2025-10-30 10:20:10 +0100 <tomsmeding> it's not hard and makes it more transparent what you're doing precisely
2025-10-30 10:20:28 +0100 <kuribas> How does my expression language fit in Ap?
2025-10-30 10:20:32 +0100 <tomsmeding> and then, if you will only ever instantiate f to Formula anyway, you don't even need to parametrise the thing on f
2025-10-30 10:20:40 +0100 <kuribas> True
2025-10-30 10:20:43 +0100Googulator32(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 10:20:45 +0100Googulator88(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 10:20:55 +0100 <tomsmeding> kuribas: that Ap is a little expression language that expresses fmap, pure and <*>
2025-10-30 10:20:57 +0100 <kuribas> Though I can have a cheap evaluator to test the language.
2025-10-30 10:21:08 +0100 <tomsmeding> it doesn't express anything else
2025-10-30 10:21:25 +0100 <tomsmeding> if you want the language to express anything else than those things, that's what f is for
2025-10-30 10:22:04 +0100 <tomsmeding> if you want to see _how_ it expresses fmap, pure and <*> (though pure is rather obvious), you can look at the Functor and Applicative instance definitions
2025-10-30 10:22:57 +0100 <tomsmeding> kuribas: what makes me a little unsure about this is that you use "Formula" for the underlying effect. f is supposed to be some kind of effect; "formula" sounds pure
2025-10-30 10:23:29 +0100 <tomsmeding> from what you initially said, the standard approach would be to have f describe a database query in some sense
2025-10-30 10:23:57 +0100 <tomsmeding> then Ap grants you the ability to perform multiple database queries and post-process their results with pure functions
2025-10-30 10:24:16 +0100 <tomsmeding> all while keeping the individual queries performed available in the Ap data structure as f values
2025-10-30 10:24:20 +0100Fijxu(~Fijxu@user/fijxu) fijxu
2025-10-30 10:24:45 +0100 <tomsmeding> now f doesn't need to be an actual "do the query" effect, it could (e.g.) also just be f ~ Const String, where the String is some SQL
2025-10-30 10:25:07 +0100 <tomsmeding> (I expect you to want more typing than that, but just as an example)
2025-10-30 10:25:51 +0100 <kuribas> tomsmeding: well, this language is supposed to be pure.
2025-10-30 10:26:02 +0100 <tomsmeding> then why are you using applicative functors?
2025-10-30 10:26:05 +0100 <kuribas> Translation to effects and database queries is done as a later step.
2025-10-30 10:26:11 +0100 <tomsmeding> oh right
2025-10-30 10:26:18 +0100 <kuribas> because you suggested it?
2025-10-30 10:26:19 +0100 <tomsmeding> it's a pure language _modelling_ a semantics which has effects
2025-10-30 10:26:31 +0100 <tomsmeding> kuribas: well you started with Fmap and App :)
2025-10-30 10:26:33 +0100 <kuribas> well, computation always has effects.
2025-10-30 10:26:43 +0100 <tomsmeding> 1 + 1 does not, in the sense in which we usually mean it in haskell
2025-10-30 10:26:46 +0100 <kuribas> But a SQL query is also pure in semantics.
2025-10-30 10:26:50 +0100 <kuribas> (excluding insert)
2025-10-30 10:27:02 +0100 <tomsmeding> no, because it depends on the current state of the database, which is external to the program
2025-10-30 10:27:06 +0100 <kuribas> tomsmeding: indeed
2025-10-30 10:27:31 +0100 <tomsmeding> okay, I guess it is pure if you consider the DB's state to be internal to the program state, but since we're doing Haskell and it isn't, it makes sense to consider it external here too
2025-10-30 10:27:48 +0100 <tomsmeding> okay good I now understand what you mean with Formula then
2025-10-30 10:28:07 +0100 <tomsmeding> a pure, syntactic representation of an effectful query
2025-10-30 10:28:10 +0100 <tomsmeding> that works
2025-10-30 10:28:39 +0100 <kuribas> like data Formula a where AddSeries :: Formula (TimeSeries Double -> TimeSeries Double -> TimeSeries Double)
2025-10-30 10:29:00 +0100tromp(~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-10-30 10:29:06 +0100 <tomsmeding> and FromTable :: String -> Formula (TimeSeries Double) ?
2025-10-30 10:29:12 +0100 <tomsmeding> or something like it
2025-10-30 10:30:55 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2025-10-30 10:30:56 +0100 <kuribas> ToQuery :: Ap (TimeSeries Formula a) -> SqlQuery
2025-10-30 10:31:33 +0100 <kuribas> More likely ToQueries :: [HashMap Text (Ap (TimSeries Formula a))] -> [SqlQuery]
2025-10-30 10:32:42 +0100 <tomsmeding> okay so here's my confusion, and I think the resolution to it: especially now that you present AddSeries -- a function-typed primitive in your little language -- having a functor-style interface to it feels weird to me, because 1. AddSeries by itself doesn't encode any kind of effect, and 2. being able to inspect that the query does AddSeries by itself is not particularly helpful. Instead, here I
2025-10-30 10:32:44 +0100 <tomsmeding> would expect you to just have a custom AST that models your query language, with no mention of fmap or such. However, if you want to subsequently embed that little language in Haskell, you'll have to introduce an operator for embedded function application, and lo, perhaps <*> typechecks nicely
2025-10-30 10:33:03 +0100 <tomsmeding> it would be Ap (TimeSeries Formula) a, but yeah
2025-10-30 10:33:21 +0100 <tomsmeding> I think I would recommend you roll your own expression data type here instead of reusing Ap
2025-10-30 10:33:36 +0100 <kuribas> Ah I see. No, I don't want fmap or <*>, but something similar on AST level.
2025-10-30 10:33:40 +0100 <tomsmeding> right
2025-10-30 10:34:13 +0100 <tomsmeding> perhaps your custom expression data type ends up having a little substructure that looks a lot like Ap, and if you really want, you can later extract that
2025-10-30 10:34:47 +0100 <tomsmeding> but the convenience offered by the functions on Ap are probably not worth the semantical overhead of bringing in a free applicative when it "doesn't make any sense" because it's not the standard usage of a free applicative
2025-10-30 10:35:19 +0100finsternis(~X@23.226.237.192) (Ping timeout: 240 seconds)
2025-10-30 10:35:21 +0100 <tomsmeding> now you can still offer fmap and <*> as user API to your library if you want, that's independent from all this
2025-10-30 10:35:42 +0100Googulator85(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 10:35:45 +0100Googulator32(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 10:36:32 +0100 <tomsmeding> data Expr a where { Constant :: a -> Expr a ; App :: Expr (a -> b) -> Expr a -> Expr b ; AddSeries :: Expr (TS D -> TS D -> TS D) ; ... }
2025-10-30 10:37:12 +0100 <tomsmeding> instance Functor Expr where fmap f e = App (Constant f) e
2025-10-30 10:37:16 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 256 seconds)
2025-10-30 10:37:28 +0100 <tomsmeding> instance Applicative Expr where { pure = Constant ; (<*>) = App }
2025-10-30 10:38:01 +0100 <tomsmeding> from my best understanding of what you want to do, I think this is the most understandable
2025-10-30 10:38:14 +0100 <kuribas> tomsmeding: the problem with fmap is that it introduces lambdas in my AST, which I cannot transform or inspect.
2025-10-30 10:38:21 +0100 <tomsmeding> well, yeah
2025-10-30 10:38:21 +0100finsternis(~X@23.226.237.192) finsternis
2025-10-30 10:38:38 +0100 <kuribas> I want some "lifted fmap", which works over (Formula (a -> b)), not (a -> b)
2025-10-30 10:38:44 +0100 <tomsmeding> kuribas: but you know that those introduced functions do not perform any query operations
2025-10-30 10:39:15 +0100 <tomsmeding> kuribas: then presumably you also don't want a general `pure`
2025-10-30 10:39:19 +0100 <kuribas> Which introduced functions?
2025-10-30 10:39:25 +0100 <tomsmeding> because `fmap f x = pure f <*> x`
2025-10-30 10:39:36 +0100 <kuribas> yeah, pure would introduce lambdas.
2025-10-30 10:39:38 +0100bgt32(~keutoi@106.222.233.20) (Ping timeout: 244 seconds)
2025-10-30 10:39:46 +0100 <tomsmeding> kuribas: you say "lambdas", I say "functions" because not every function is a literal lambda expression :)
2025-10-30 10:39:50 +0100 <tomsmeding> "closures" is also correct
2025-10-30 10:39:55 +0100 <kuribas> sure
2025-10-30 10:40:03 +0100 <kuribas> I did too much Python :)
2025-10-30 10:40:20 +0100 <kuribas> Though lambdas in python are thorougly broken...
2025-10-30 10:40:23 +0100 <tomsmeding> right, so if you want <*> but no general pure and no fmap at all, then define your own <*>-like operator
2025-10-30 10:40:28 +0100 <tomsmeding> $* or something
2025-10-30 10:40:32 +0100 <tomsmeding> kuribas: they are
2025-10-30 10:40:47 +0100 <tomsmeding> and forget about Functor and Applicative at all
2025-10-30 10:41:26 +0100 <tomsmeding> and if you have some `Constant :: ... => a -> Expr a` operation, don't forget to constrain it sufficiently that only constants you actually know how to deal with fit in there :)
2025-10-30 10:41:38 +0100 <kuribas> I am currently using python for this project, but the language is not very expressive for this timeseries language. I wanted to model it in haskell first.
2025-10-30 10:42:00 +0100 <kuribas> tomsmeding: indeed, Constant should be limited to some types.
2025-10-30 10:42:08 +0100 <tomsmeding> doesn't python allow you to override function application on class instances?
2025-10-30 10:42:22 +0100 <kuribas> yes it does.
2025-10-30 10:42:36 +0100 <kuribas> I can build a formula language. But I cannot statically type id.
2025-10-30 10:42:39 +0100 <kuribas> it
2025-10-30 10:42:44 +0100 <tomsmeding> so that removes the need for a special-purpose application operator (my $*, modelled after <*>)
2025-10-30 10:42:49 +0100 <tomsmeding> right
2025-10-30 10:43:16 +0100srazkvt(~sarah@user/srazkvt) (Quit: Konversation terminated!)
2025-10-30 10:43:20 +0100merijn(~merijn@77.242.116.146) merijn
2025-10-30 10:43:26 +0100 <tomsmeding> kuribas: ok so the answer to your initial question is just "yes"
2025-10-30 10:43:31 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-10-30 10:43:48 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-30 10:43:55 +0100 <tomsmeding> except that the fact that TimeSeries has fmap and <*> is irrelevant here
2025-10-30 10:44:01 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-10-30 10:44:07 +0100 <tomsmeding> Expr will _not_ have fmap and <*>
2025-10-30 10:44:16 +0100 <kuribas> Maybe I just to Expr f a where PureDouble :: Double -> Expr Double; FMap :: f (a -> b) -> Expr a -> Expr b; FApp :: Expr (a -> b) -> Expr a -> Expr b; ...
2025-10-30 10:44:29 +0100 <tomsmeding> remove the f argument to Expr
2025-10-30 10:44:32 +0100 <tomsmeding> but yes, that
2025-10-30 10:44:49 +0100 <tomsmeding> oh you're using f; why have FMap too?
2025-10-30 10:44:53 +0100 <kuribas> ah, but I liked the idea that I can use this to reduce to value...
2025-10-30 10:44:54 +0100 <tomsmeding> isn't FApp enough?
2025-10-30 10:45:10 +0100 <tomsmeding> what will you instantiate f to?
2025-10-30 10:45:47 +0100 <kuribas> "Formula" for the AST, "Identity" for the result.
2025-10-30 10:46:01 +0100 <tomsmeding> how is Formula different from Expr?
2025-10-30 10:46:10 +0100 <kuribas> maybe not :)
2025-10-30 10:46:23 +0100 <tomsmeding> I feel like you want your evaluator to be Expr a -> IO a
2025-10-30 10:46:48 +0100 <kuribas> so FormulaExpr :: Formula a -> Expr a ?
2025-10-30 10:46:54 +0100 <tomsmeding> what even is Formula lol
2025-10-30 10:47:09 +0100 <kuribas> tomsmeding: just a finite set of functions.
2025-10-30 10:47:14 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
2025-10-30 10:47:24 +0100 <kuribas> For example operations supported by a database.
2025-10-30 10:47:34 +0100 <kuribas> as a GADT
2025-10-30 10:47:36 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-10-30 10:47:39 +0100 <tomsmeding> I would call that Operation, or Function, perhaps
2025-10-30 10:47:44 +0100 <tomsmeding> PrimOp, maybe
2025-10-30 10:47:45 +0100 <kuribas> right
2025-10-30 10:47:58 +0100 <kuribas> It's called formula in our current lisp system :)
2025-10-30 10:48:03 +0100 <tomsmeding> but in that case: yes
2025-10-30 10:48:08 +0100 <tomsmeding> ah
2025-10-30 10:48:28 +0100 <tomsmeding> a "formula", to me, is an expression involving functions and arguments and stuff
2025-10-30 10:48:52 +0100 <tomsmeding> x^2 + sqrt(y) is a formula; sqrt is a function
2025-10-30 10:49:10 +0100 <kuribas> Formula a where SumSeries :: Formula ([Series Double] -> Series Double); ...
2025-10-30 10:50:13 +0100 <tomsmeding> right, so I'll just read DbOperation where you write Formula
2025-10-30 10:50:34 +0100 <kuribas> No, because it should be abstracted from DB.
2025-10-30 10:50:39 +0100Googulator85(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 10:50:43 +0100Googulator95(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 10:50:46 +0100 <merijn> kuribas: So you're just trying to defunctionalize your timeseries operations?
2025-10-30 10:50:48 +0100 <tomsmeding> okay but it's still an operation, not a combination of operations
2025-10-30 10:50:49 +0100 <kuribas> And it's pure, not an operation.
2025-10-30 10:50:57 +0100 <tomsmeding> sqrt is an operation, not a formula
2025-10-30 10:51:05 +0100 <tomsmeding> sqrt(x) is a formula
2025-10-30 10:51:20 +0100 <tomsmeding> your Formula has sqrt, not sqrt(x), hence I call it Operation, not Formula :p
2025-10-30 10:51:35 +0100 <kuribas> But then this is more like a formula, since it doesn't have actual operations?
2025-10-30 10:51:55 +0100 <kuribas> Anyway, let's call it Function then :)
2025-10-30 10:52:06 +0100 <tomsmeding> https://github.com/AccelerateHS/accelerate/blob/master/src/Data/Array/Accelerate/AST.hs#L661-L753
2025-10-30 10:52:56 +0100 <kuribas> What the difference between operation and function?
2025-10-30 10:53:04 +0100 <tomsmeding> opinion
2025-10-30 10:53:14 +0100 <tomsmeding> i.e. I don't care
2025-10-30 10:53:54 +0100 <tomsmeding> I personally like "operation" a little bit more for this because "function" kind of implies to my brain that it's any general function, which it isn't, it's one from a specified set of functions
2025-10-30 10:54:08 +0100 <kuribas> "From Wikipedia, the free encyclopedia: In mathematics, an operation is a function from a set to itself. For example, an operation on real numbers will take in real numbers and return a real number. An operation can take zero or more input values (also called "operands" or "arguments") to a well-defined output value. The number of operands is the arity of the operation. "
2025-10-30 10:54:09 +0100 <tomsmeding> but that's details and subjective
2025-10-30 10:54:14 +0100 <kuribas> Guess they are operations then :)
2025-10-30 10:54:48 +0100 <kuribas> Because I have a fixed set of supported types.
2025-10-30 10:54:51 +0100 <tomsmeding> I expect you to also have things like ConvertSeries :: TimeSeries Double -> TimeSeries Float though; is that "from a set to itself"? :p
2025-10-30 10:55:04 +0100 <kuribas> The set of all supported types.
2025-10-30 10:55:13 +0100 <kuribas> (timeseries, scalars, ...)
2025-10-30 10:55:16 +0100 <tomsmeding> that's not what "from a set to itself" means, but I'm okay with it :p
2025-10-30 10:55:28 +0100 <tomsmeding> (mathematics' "set" is essentially haskell's "type")
2025-10-30 10:55:39 +0100 <tomsmeding> (insert hand-wave here)
2025-10-30 10:56:06 +0100 <tomsmeding> but this is all messing around about terminology, are we clear that your original question has been answered?
2025-10-30 10:56:28 +0100 <kuribas> Sort of :)
2025-10-30 10:56:34 +0100 <kuribas> I got some good ideas, thanks.
2025-10-30 10:57:02 +0100chele(~chele@user/chele) chele
2025-10-30 10:59:07 +0100bgt32(~keutoi@106.222.233.20)
2025-10-30 11:01:38 +0100Arsen(arsen@gentoo/developer/managarm.dev.Arsen) (Ping timeout: 256 seconds)
2025-10-30 11:02:33 +0100Arsen(arsen@gentoo/developer/managarm.dev.Arsen) Arsen
2025-10-30 11:02:52 +0100Googulator95(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 11:03:09 +0100Googulator95(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 11:03:20 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 256 seconds)
2025-10-30 11:03:54 +0100trickard_trickard
2025-10-30 11:05:28 +0100ru0mad(~ru0mad@titan.ruomad.net) ru0mad
2025-10-30 11:05:35 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-10-30 11:05:38 +0100 <kuribas> I can do all this in python, using dataclasses like "class Apply()", but it kind of makes my head hurt ...
2025-10-30 11:05:41 +0100Googulator95(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
2025-10-30 11:05:48 +0100Googulator95(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 11:06:01 +0100 <kuribas> Maybe it's a bit better now that python has pattern matching.
2025-10-30 11:08:25 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 256 seconds)
2025-10-30 11:08:27 +0100ru0mad(~ru0mad@titan.ruomad.net) (Client Quit)
2025-10-30 11:10:01 +0100 <kuribas> Also, with the lack of GADTs and higher kinded types, I cannot statically type this in python.
2025-10-30 11:10:56 +0100acidjnk(~acidjnk@p200300d6e717193069949166e2561304.dip0.t-ipconnect.de) acidjnk
2025-10-30 11:17:05 +0100 <kuribas> tomsmeding: we have a lot of weirder terminology that "formula". Our "raw timeseries information struct" is called DPar, and our "non-compounded indicators" are called "IMPoint".
2025-10-30 11:18:39 +0100jreicher(~user@user/jreicher) (Quit: In transit)
2025-10-30 11:18:43 +0100annamalai(~annamalai@157.32.135.74) annamalai
2025-10-30 11:20:40 +0100haskellbridge(~hackager@96.28.224.214) (Remote host closed the connection)
2025-10-30 11:23:44 +0100haskellbridge(~hackager@96.28.224.214) hackager
2025-10-30 11:23:44 +0100ChanServ+v haskellbridge
2025-10-30 11:24:52 +0100 <kuribas> tomsmeding: and "a collection of indicators related to some device" is called DPoint
2025-10-30 11:25:15 +0100 <kuribas> I used to be very confused by all those terms.
2025-10-30 11:25:23 +0100Googulator95(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 11:25:41 +0100Googulator95(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 11:27:45 +0100 <tomsmeding> kuribas: likely impossible to change now that everyone has been Stockholmed into them :)
2025-10-30 11:28:04 +0100 <kuribas> very true :)
2025-10-30 11:35:17 +0100annamalai(~annamalai@157.32.135.74) (Remote host closed the connection)
2025-10-30 11:35:31 +0100annamalai(~annamalai@2409:4042:2595:bd4d::195e:70b1) annamalai
2025-10-30 11:40:18 +0100 <kuribas> I feel we are stockholm syndromed in all the complexity of the system.
2025-10-30 11:40:49 +0100 <kuribas> But then that's probably the same for any legacy production system, where the focus is on delivering new features, rather than keeping the code clean.
2025-10-30 11:42:55 +0100 <kuribas> I still think we can improve efficiency of development by 10X, by refactoring and cleaning stuff up.
2025-10-30 11:45:46 +0100Googulator70(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 11:45:48 +0100Googulator95(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 11:48:07 +0100 <kuribas> It's so monolythic, you cannot understand a small part, without getting the whole system.
2025-10-30 11:48:28 +0100jreicher(~user@user/jreicher) jreicher
2025-10-30 11:48:39 +0100 <kuribas> Which is also not documented anywhere, since it is proprietary, and created by mostly a single person.
2025-10-30 11:49:13 +0100qqe(~qqq@185.54.23.200)
2025-10-30 11:51:32 +0100tremon(~tremon@83.80.159.219) tremon
2025-10-30 11:52:06 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-10-30 11:54:29 +0100 <haskellbridge> <Morj> Over the last 6 months I, in a big hurry, solo wrote a monolithic, badly documented system. And now a second guy is working on this, and they are copy-pasting my design mistakes as patterns >_<
2025-10-30 11:56:28 +0100merijn(~merijn@77.242.116.146) merijn
2025-10-30 11:56:56 +0100 <kuribas> lol
2025-10-30 11:57:06 +0100 <kuribas> At least you are honest about those design mistakes :)
2025-10-30 12:07:46 +0100Wbooze(~wboozE@2a02:8071:57a1:dc0:3827:9244:6b75:269a) (Quit: Leaving)
2025-10-30 12:12:22 +0100wbrawner(~wbrawner@static.56.224.132.142.clients.your-server.de) (Remote host closed the connection)
2025-10-30 12:13:47 +0100 <dutchie> do i need a newtype to get a Monoid instance for Map a [k] that appends the lists at matching keys?
2025-10-30 12:16:26 +0100 <jackdk> Yes, or be sure to write `unionWith (<>)` unless you're specifically interfacing with code that uses the `Monoid` interface. There's one in package monoidal-containers.
2025-10-30 12:16:43 +0100xff0x(~xff0x@2405:6580:b080:900:85d0:1426:7d14:fc4d)
2025-10-30 12:20:06 +0100 <dutchie> yeah I'm using foldMap so unionWith isn't helpful
2025-10-30 12:23:11 +0100 <jackdk> You could also try https://hackage.haskell.org/package/reflection-2.1.9/docs/Data-Reflection.html#v:foldMapBy which uses Dark Magic™
2025-10-30 12:26:53 +0100 <[exa]> Morj: "welcome to production quality" <3
2025-10-30 12:30:36 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-10-30 12:31:46 +0100nerdychip(~nerdychip@212.129.72.100)
2025-10-30 12:31:46 +0100nerdychip(~nerdychip@212.129.72.100) (Changing host)
2025-10-30 12:31:46 +0100nerdychip(~nerdychip@user/nerdychip) nerdychip
2025-10-30 12:36:24 +0100trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-30 12:38:55 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-10-30 12:40:49 +0100bgt32(~keutoi@106.222.233.20) (Ping timeout: 264 seconds)
2025-10-30 12:42:14 +0100merijn(~merijn@77.242.116.146) merijn
2025-10-30 12:48:01 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2025-10-30 12:48:55 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 264 seconds)
2025-10-30 12:51:21 +0100craunts795335385(~craunts@136.158.7.194)
2025-10-30 12:54:55 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 250 seconds)
2025-10-30 12:57:18 +0100merijn(~merijn@77.242.116.146) merijn
2025-10-30 13:04:11 +0100srazkvt(~sarah@user/srazkvt) srazkvt
2025-10-30 13:05:43 +0100Googulator70(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 13:05:46 +0100Googulator91(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 13:10:16 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-10-30 13:14:30 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-10-30 13:15:19 +0100__monty__(~toonn@user/toonn) toonn
2025-10-30 13:22:54 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-10-30 13:24:33 +0100wbrawner(~wbrawner@129.146.105.153) wbrawner
2025-10-30 13:27:01 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
2025-10-30 13:34:03 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-10-30 13:34:15 +0100bggd(~bgg@2a01:e0a:819:1510:f314:af0a:6c28:12ae) (Remote host closed the connection)
2025-10-30 13:35:41 +0100Googulator87(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 13:35:47 +0100Googulator91(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 13:37:01 +0100merijn(~merijn@77.242.116.146) merijn
2025-10-30 13:37:46 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-10-30 13:39:31 +0100trickard_trickard
2025-10-30 13:44:32 +0100FirefoxDeHuk(~FirefoxDe@109.108.69.106)
2025-10-30 13:44:51 +0100bgt32(~keutoi@106.222.233.20)
2025-10-30 13:45:07 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 244 seconds)
2025-10-30 13:47:56 +0100trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-30 13:48:09 +0100trickard(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-10-30 13:49:12 +0100AlexZenon(~alzenon@85.174.182.61) (Quit: ;-)
2025-10-30 13:49:59 +0100AlexNoo(~AlexNoo@85.174.182.61) (Quit: Leaving)
2025-10-30 13:51:19 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-10-30 13:54:49 +0100robobub(uid248673@id-248673.uxbridge.irccloud.com) robobub
2025-10-30 13:55:18 +0100trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Ping timeout: 252 seconds)
2025-10-30 13:58:11 +0100trickard(~trickard@cpe-50-98-47-163.wireline.com.au)
2025-10-30 14:00:45 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 14:00:45 +0100Googulator87(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 14:07:26 +0100qqe(~qqq@185.54.23.200) (Remote host closed the connection)
2025-10-30 14:10:15 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 14:10:48 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 14:13:33 +0100nerdychip(~nerdychip@user/nerdychip) (Ping timeout: 265 seconds)
2025-10-30 14:14:45 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-10-30 14:16:01 +0100Googulator12(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 14:16:23 +0100AlexNoo(~AlexNoo@85.174.182.61)
2025-10-30 14:16:31 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 14:19:13 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 264 seconds)
2025-10-30 14:20:37 +0100Googulator12(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
2025-10-30 14:20:43 +0100Googulator3(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 14:35:29 +0100AlexZenon(~alzenon@85.174.182.61)
2025-10-30 14:35:40 +0100FirefoxDeHuk(~FirefoxDe@109.108.69.106) (Quit: Client closed)
2025-10-30 14:45:37 +0100Googulator3(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 14:45:40 +0100Houlton(~Houlton@user/Houlton) Houlton
2025-10-30 14:45:44 +0100Googulator63(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 14:45:56 +0100 <kuribas> I did open-source first for a long time, and was shocked about industry.
2025-10-30 14:46:14 +0100 <kuribas> It's more about kissing peoples asses and churning out features quick, don't mind quality.
2025-10-30 14:47:12 +0100 <kuribas> If you create code that has little bugs, people don't see it, when it has lots of bugs, people go "look how fast this guy solves bugs"!.
2025-10-30 14:48:13 +0100Houlton(~Houlton@user/Houlton) (Client Quit)
2025-10-30 14:48:32 +0100 <kuribas> Sorry, feeling sarcastic today.
2025-10-30 14:53:02 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-10-30 14:54:17 +0100inline(~inline@2a02:8071:57a1:dc0:680d:95f1:5489:2954) Inline
2025-10-30 14:59:23 +0100 <TMA> kuribas: it is the same with plumbers... bad plumbers display more effort and are tipped more than competent ones. custom software is a service, performative aspects are therefore much more important there
2025-10-30 15:05:51 +0100inline(~inline@2a02:8071:57a1:dc0:680d:95f1:5489:2954) (Quit: Leaving)
2025-10-30 15:08:01 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
2025-10-30 15:09:14 +0100trickard__(~trickard@cpe-54-98-47-163.wireline.com.au)
2025-10-30 15:09:46 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-10-30 15:10:33 +0100trickard(~trickard@cpe-50-98-47-163.wireline.com.au) (Ping timeout: 250 seconds)
2025-10-30 15:12:52 +0100inline(~inline@2a02:8071:57a1:dc0:680d:95f1:5489:2954) Inline
2025-10-30 15:13:18 +0100 <kuribas> TMA: they do?
2025-10-30 15:13:28 +0100srazkvt(~sarah@user/srazkvt) (Ping timeout: 244 seconds)
2025-10-30 15:15:28 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2025-10-30 15:15:43 +0100Googulator70(~Googulato@84-236-65-182.pool.digikabel.hu)
2025-10-30 15:15:44 +0100Googulator63(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 15:16:38 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-10-30 15:17:31 +0100 <kuribas> I suppose I don't know if a plumber did a good job in my home, unless the pipes break some time later.
2025-10-30 15:17:40 +0100 <TMA> kuribas: it is the theatrical performance that makes the difference. the client needs to see the worker expending the effort
2025-10-30 15:18:48 +0100 <kuribas> right
2025-10-30 15:19:56 +0100 <TMA> kuribas: if you don't see the performance, the effect vanishes. I have much lower opinion of the plumber that did some fixing in my mother's flat because I did not see him doing it. my mother has seen him doing it and considered the fix be of higher quality than I would assess
2025-10-30 15:21:08 +0100 <TMA> software development service is the same: no bugs == no opportunity to show effort fixing them fast == lower perceived value of the service
2025-10-30 15:21:33 +0100noctux(~noctux@user/noctux) (Read error: Connection reset by peer)
2025-10-30 15:22:17 +0100 <tomsmeding> TMA: well spoken
2025-10-30 15:22:34 +0100 <lortabac> kuribas: it depends on the company and also which industry you are in
2025-10-30 15:22:37 +0100 <TMA> it is like the LLMs spitting out nonsense and then going "good catch, I goofed"
2025-10-30 15:23:23 +0100 <tomsmeding> (not sure about that one; that's just annoying)
2025-10-30 15:23:41 +0100 <lortabac> I can tell you from experience that there are companies where quality is recognized and valued
2025-10-30 15:23:58 +0100noctux(~noctux@user/noctux) noctux
2025-10-30 15:24:34 +0100 <tomsmeding> what TMA describes fundamentally comes from a non-knowledgeable person being tasked with assessing value
2025-10-30 15:26:45 +0100 <kuribas> sadly management are often non-knowledgeable.
2025-10-30 15:27:00 +0100 <kuribas> It least on technical details of the product.
2025-10-30 15:28:25 +0100srazkvt(~sarah@user/srazkvt) srazkvt
2025-10-30 15:28:43 +0100 <tomsmeding> and perhaps it is that part that most depends on the company, resulting also in lortabac's experience
2025-10-30 15:30:28 +0100 <lortabac> yes, in my experience a manager with technical competency helps a lot
2025-10-30 15:30:43 +0100Googulator12(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 15:30:55 +0100 <lortabac> *competence
2025-10-30 15:31:22 +0100Googulator70(~Googulato@84-236-65-182.pool.digikabel.hu) (Quit: Client closed)
2025-10-30 15:35:19 +0100 <TMA> I have experienced managers that were proud of their domain incompetence. Not being "tainted" by understanding the domain was a virtue to them.
2025-10-30 15:36:00 +0100 <TMA> Business/economic school graduates, all of them
2025-10-30 15:43:08 +0100foo3(~Square@user/square) Square
2025-10-30 15:43:25 +0100 <kuribas> Or the domain is not software development. The managers understand their domain, but not how to manage a software team.
2025-10-30 15:48:01 +0100Square2(~Square4@user/square) (Ping timeout: 264 seconds)
2025-10-30 15:57:32 +0100catties(~catties@user/meow/catties) (Quit: n_n)
2025-10-30 15:57:52 +0100catties(~catties@user/meow/catties) catties
2025-10-30 16:00:44 +0100Googulator69(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 16:00:45 +0100Googulator12(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 16:08:16 +0100jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-10-30 16:08:43 +0100 <haskellbridge> <Morj> Who is administering the bridge? Since some time ago I don't get @-ed when someone mentions my name on irc, it stays as regular text. I remember it used to work, did something change?
2025-10-30 16:15:00 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 256 seconds)
2025-10-30 16:16:39 +0100 <tomsmeding> geekosaur: ^
2025-10-30 16:17:39 +0100 <geekosaur> it's possible, I update the docker container weekly and heisenbridge has introduced bugs before
2025-10-30 16:17:45 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 252 seconds)
2025-10-30 16:20:36 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-10-30 16:20:50 +0100 <geekosaur> although I note that I got pinged Matrix-side by Tom's ping; that may mean it only pings if it's the first thing on the line (which mismatches most but not all IRC clients)
2025-10-30 16:21:47 +0100 <geekosaur> Morj: testing
2025-10-30 16:21:54 +0100 <tomsmeding> testing for geekosaur
2025-10-30 16:22:23 +0100 <geekosaur> that one pinged me too
2025-10-30 16:22:24 +0100 <tomsmeding> I think, by default (not sure to what extent that depends on the client being Element), one's nick is recognised on matrix anywhere in a message
2025-10-30 16:22:45 +0100 <tomsmeding> to the point that it's even recognised when it occurs in the header of the quote in the plain-text version of a standard reply!
2025-10-30 16:22:53 +0100 <geekosaur> yes, but the client has to send mentions as part of the message
2025-10-30 16:22:55 +0100 <tomsmeding> which is why replies ping you
2025-10-30 16:23:13 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-10-30 16:23:14 +0100 <tomsmeding> oh really?
2025-10-30 16:23:17 +0100 <tomsmeding> oh _mentions_, yes
2025-10-30 16:23:35 +0100 <geekosaur> you can see this if you look at the original message (don't recall how you do this in Element, it's in the right-click menu in Nheko)
2025-10-30 16:23:40 +0100 <geekosaur> "view raw message"
2025-10-30 16:24:36 +0100 <tomsmeding> TIL
2025-10-30 16:25:19 +0100 <tomsmeding> (it's three-dots menu on a message -> view source)
2025-10-30 16:30:34 +0100srazkvt(~sarah@user/srazkvt) (Quit: Konversation terminated!)
2025-10-30 16:30:37 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 264 seconds)
2025-10-30 16:35:56 +0100Maxdamantus(~Maxdamant@user/maxdamantus) Maxdamantus
2025-10-30 16:36:23 +0100 <geekosaur> hm, silence suggests Morj didn't get pinged. but they seem to be working in general
2025-10-30 16:36:48 +0100 <geekosaur> unless it's somehow related to my being on both sides of the bridge (maybe using the wrong side's member list?)
2025-10-30 16:36:55 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 264 seconds)
2025-10-30 16:37:54 +0100 <geekosaur> 21it: around?
2025-10-30 16:41:27 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2025-10-30 16:42:44 +0100 <haskellbridge> <geekosaur> mmm, raw message shows nothing ☹️
2025-10-30 16:42:46 +0100img(~img@user/img) img
2025-10-30 16:45:43 +0100 <haskellbridge> <geekosaur> right, but it does for your pings of me. I'll ask upstream
2025-10-30 16:46:20 +0100Zemy_(~Zemy@2600:100c:b05a:6015:cc82:41ff:feec:ee96)
2025-10-30 16:46:43 +0100michalz(~michalz@185.246.207.221)
2025-10-30 16:47:28 +0100Zemy(~Zemy@72.178.108.235) (Read error: Connection reset by peer)
2025-10-30 16:47:55 +0100Zemy(~Zemy@72.178.108.235)
2025-10-30 16:50:42 +0100Zemy_(~Zemy@2600:100c:b05a:6015:cc82:41ff:feec:ee96) (Ping timeout: 256 seconds)
2025-10-30 16:51:19 +0100inline(~inline@2a02:8071:57a1:dc0:680d:95f1:5489:2954) (Quit: Leaving)
2025-10-30 16:53:32 +0100chele(~chele@user/chele) (Remote host closed the connection)
2025-10-30 16:55:04 +0100 <geekosaur> there wasn't a bug filed for it, so I filed one (https://github.com/hifi/heisenbridge/issues/310)
2025-10-30 16:55:08 +0100inline(~inline@2a02:8071:57a1:dc0:5389:5413:4fcb:de9f) Inline
2025-10-30 16:56:28 +0100Googulator69(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 16:56:50 +0100Googulator69(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 16:59:12 +0100Arsen(arsen@gentoo/developer/managarm.dev.Arsen) (Ping timeout: 256 seconds)
2025-10-30 17:05:27 +0100FirefoxDeHuk(~FirefoxDe@109.108.69.106)
2025-10-30 17:05:42 +0100FirefoxDeHuk(~FirefoxDe@109.108.69.106) (Client Quit)
2025-10-30 17:09:50 +0100Arsen(arsen@gentoo/developer/managarm.dev.Arsen) Arsen
2025-10-30 17:14:30 +0100Arsen(arsen@gentoo/developer/managarm.dev.Arsen) (Ping timeout: 256 seconds)
2025-10-30 17:15:37 +0100Googulator69(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 17:15:40 +0100Googulator76(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 17:15:55 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 264 seconds)
2025-10-30 17:17:21 +0100Maxdamantus(~Maxdamant@user/maxdamantus) Maxdamantus
2025-10-30 17:20:42 +0100Googulator76(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 17:20:49 +0100Googulator9(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 17:21:39 +0100Arsen(arsen@gentoo/developer/managarm.dev.Arsen) Arsen
2025-10-30 17:27:19 +0100Square2(~Square4@user/square) Square
2025-10-30 17:27:41 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-10-30 17:29:07 +0100turlando(~turlando@user/turlando) turlando
2025-10-30 17:29:18 +0100turlando_(~turlando@user/turlando) (Ping timeout: 265 seconds)
2025-10-30 17:30:19 +0100foo3(~Square@user/square) (Ping timeout: 264 seconds)
2025-10-30 17:37:59 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-10-30 17:40:50 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
2025-10-30 17:40:58 +0100ljdarj1ljdarj
2025-10-30 17:42:41 +0100ljdarj(~Thunderbi@user/ljdarj) (Client Quit)
2025-10-30 17:43:11 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-10-30 17:45:41 +0100Googulator9(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 17:45:45 +0100Googulator28(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 17:45:57 +0100ljdarj(~Thunderbi@user/ljdarj) (Client Quit)
2025-10-30 17:46:10 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-10-30 17:46:26 +0100ljdarj(~Thunderbi@user/ljdarj) (Client Quit)
2025-10-30 17:46:58 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-10-30 17:52:32 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2025-10-30 17:53:36 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
2025-10-30 17:54:02 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-10-30 17:55:21 +0100YoungFrog(~youngfrog@2a02:a03f:ca07:f900:3c4e:fa7a:e07a:5a51) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
2025-10-30 17:55:41 +0100YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) youngfrog
2025-10-30 17:55:56 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-10-30 17:57:50 +0100ljdarj2(~Thunderbi@user/ljdarj) ljdarj
2025-10-30 17:58:49 +0100ljdarj1(~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds)
2025-10-30 17:59:44 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-10-30 18:00:24 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
2025-10-30 18:01:17 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-10-30 18:02:06 +0100ljdarj2(~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
2025-10-30 18:04:04 +0100ljdarj2(~Thunderbi@user/ljdarj) ljdarj
2025-10-30 18:04:22 +0100ljdarj1(~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
2025-10-30 18:05:30 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
2025-10-30 18:05:30 +0100ljdarj2ljdarj
2025-10-30 18:05:42 +0100Googulator14(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 18:05:46 +0100Googulator28(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 18:08:29 +0100RehAal(~RehAal@2a02:3035:669:8f77:85c3:537a:8f03:5d54)
2025-10-30 18:09:55 +0100jcarpenter2(~lol@96.78.87.197) (Ping timeout: 264 seconds)
2025-10-30 18:14:19 +0100RehAal(~RehAal@2a02:3035:669:8f77:85c3:537a:8f03:5d54) (Quit: Client closed)
2025-10-30 18:15:10 +0100ft(~ft@p4fc2aaeb.dip0.t-ipconnect.de) ft
2025-10-30 18:17:02 +0100bgt32(~keutoi@106.222.233.20) (Ping timeout: 260 seconds)
2025-10-30 18:23:09 +0100 <haskellbridge> <Morj> geekosaur: I didn't get pinged when you were testing. But geekosаur's ping I see was transformed. So it might just be my nick that's misbehaving, huh
2025-10-30 18:24:16 +0100 <haskellbridge> <Morj> I have an irc identity with a similar nick, but it's mostly offline. Though I don't remeber getting pinged for it when it was online
2025-10-30 18:24:39 +0100 <haskellbridge> <Morj> Thanks for testing
2025-10-30 18:25:37 +0100Googulator96(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 18:25:44 +0100Googulator14(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 18:26:14 +0100 <geekosaur> "similar" wouldn't do it; the only way it has to relate them is exact matches between IRC nick and Matrix display name
2025-10-30 18:26:28 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-10-30 18:26:47 +0100trickard__(~trickard@cpe-54-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-30 18:27:01 +0100trickard_(~trickard@cpe-54-98-47-163.wireline.com.au)
2025-10-30 18:27:27 +0100 <geekosaur> (although in fact it doesn't relate them at all; when that's a problem it's possible to turn on including the Matrix ID for IRC (Matrix already provides ways to get that)
2025-10-30 18:28:04 +0100 <geekosaur> anyway I reported it, including my suspicion it's passing the wrong side's member list
2025-10-30 18:30:39 +0100Googulator96(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 18:30:44 +0100Googulator7(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 18:31:58 +0100pr1sm(~pr1sm@24.91.163.31)
2025-10-30 18:45:31 +0100Googulator7(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 18:45:43 +0100Googulator7(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 18:49:33 +0100inline(~inline@2a02:8071:57a1:dc0:5389:5413:4fcb:de9f) (Quit: Leaving)
2025-10-30 18:55:13 +0100nerdychip(~nerdychip@212.129.72.100)
2025-10-30 18:55:13 +0100nerdychip(~nerdychip@212.129.72.100) (Changing host)
2025-10-30 18:55:13 +0100nerdychip(~nerdychip@user/nerdychip) nerdychip
2025-10-30 19:10:42 +0100foo3(~Square@user/square) Square
2025-10-30 19:10:44 +0100Googulator54(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 19:10:49 +0100Googulator7(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 19:11:19 +0100inline(~inline@2a02:8071:57a1:dc0:c33:90af:2d70:1d1d) Inline
2025-10-30 19:11:48 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3))
2025-10-30 19:13:19 +0100Square2(~Square4@user/square) (Ping timeout: 240 seconds)
2025-10-30 19:18:15 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2025-10-30 19:18:34 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-10-30 19:20:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 19:25:40 +0100Googulator55(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 19:25:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 19:25:46 +0100Googulator54(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 19:31:47 +0100poscat(~poscat@user/poscat) poscat
2025-10-30 19:33:33 +0100poscat0x04(~poscat@user/poscat) (Ping timeout: 252 seconds)
2025-10-30 19:36:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 19:40:56 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
2025-10-30 19:41:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-30 19:43:56 +0100pr1sm(~pr1sm@24.91.163.31) (Remote host closed the connection)
2025-10-30 19:46:37 +0100Tuplanolla(~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) Tuplanolla
2025-10-30 19:47:50 +0100haltingsolver(~cmo@2604:3d09:207f:8000::d1dc)
2025-10-30 19:52:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 19:55:08 +0100tromp(~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f)
2025-10-30 19:55:50 +0100tromp(~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f) (Client Quit)
2025-10-30 19:56:58 +0100ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-10-30 19:57:04 +0100tromp(~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f)
2025-10-30 19:58:50 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 20:07:34 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-10-30 20:08:13 +0100synchromesh(~john@2406:5a00:2412:2c00:a151:32b5:2959:c671) (Read error: Connection reset by peer)
2025-10-30 20:08:16 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2025-10-30 20:09:26 +0100synchromesh(~john@2406:5a00:2412:2c00:a151:32b5:2959:c671) synchromesh
2025-10-30 20:10:03 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 20:10:07 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-10-30 20:14:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-10-30 20:17:50 +0100rvalue-(~rvalue@about/hackers/rvalue) rvalue
2025-10-30 20:18:55 +0100rvalue(~rvalue@about/hackers/rvalue) (Ping timeout: 264 seconds)
2025-10-30 20:18:58 +0100tromp(~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-10-30 20:20:22 +0100haltingsolver(~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 256 seconds)
2025-10-30 20:23:38 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 20:27:16 +0100rvalue-rvalue
2025-10-30 20:28:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-30 20:35:34 +0100opencircuit_(~quassel@user/opencircuit) (Remote host closed the connection)
2025-10-30 20:36:44 +0100opencircuit(~quassel@user/opencircuit) opencircuit
2025-10-30 20:39:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 20:44:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 20:45:25 +0100segfaultfizzbuzz(~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) segfaultfizzbuzz
2025-10-30 20:46:04 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-10-30 20:48:52 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-10-30 20:55:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 20:56:33 +0100peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-10-30 20:57:01 +0100 <segfaultfizzbuzz> what are the norms these days regarding using "ai" to code among good quality professional programmers. is it fine to use or do i need to type everything into my keyboard myself
2025-10-30 20:59:08 +0100 <EvanR> you will be ridiculed for using your keyboard at all. Voice input to an LLM is the only way to signal how up to date you are
2025-10-30 21:00:06 +0100 <segfaultfizzbuzz> hahaha... but seriously...?
2025-10-30 21:00:08 +0100 <EvanR> in the same way that handwriting is not a thing anymore
2025-10-30 21:00:10 +0100 <haskellbridge> <sm> it varies a lot
2025-10-30 21:00:14 +0100 <haskellbridge> <loonycyborg> Direct neural uplink better
2025-10-30 21:00:19 +0100 <geekosaur> ai gets haskell very wrong still
2025-10-30 21:00:22 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-10-30 21:00:27 +0100 <segfaultfizzbuzz> lol yeah sorry i forgot to mention using neuralink while using tesla self driving
2025-10-30 21:00:31 +0100 <geekosaur> even js needs to be checked
2025-10-30 21:00:36 +0100 <segfaultfizzbuzz> geekosaur: oh? nice :-)
2025-10-30 21:00:43 +0100 <haskellbridge> <sm> I don't think you can generalise, it depends what you're doing
2025-10-30 21:00:44 +0100 <segfaultfizzbuzz> js is awful,... rust is like,... not bad i find
2025-10-30 21:01:02 +0100 <EvanR> I use it for C and it still needs to be checked, obviously
2025-10-30 21:01:22 +0100 <geekosaur> the question is what it was trained on. if you have a lot of blog posts by people who're still learning the language, the code the AI will produce will mostly be at their level
2025-10-30 21:01:57 +0100 <haskellbridge> <sm> yes also the model, the ai-based coding tool, the context, the prompts all matter
2025-10-30 21:01:57 +0100 <segfaultfizzbuzz> geekosaur: there also is how you prompt,... if your language is better you get better results i think
2025-10-30 21:02:04 +0100 <geekosaur> keep in mind that current AI still doesn't understand anything; it's a Markov bot with a smarter notion of how language fits together
2025-10-30 21:02:24 +0100 <haskellbridge> <sm> the coding tools and chat bots are no longer just that
2025-10-30 21:02:30 +0100 <segfaultfizzbuzz> and then there is architecting your application so that you can kind of limit the damage that can happen, but i would imagine that's the same as structuring code for writing on a team
2025-10-30 21:02:34 +0100 <geekosaur> which means it's only as good as the Markov chains it can build from its training data
2025-10-30 21:02:47 +0100 <segfaultfizzbuzz> hahaha markov chains :-) you might not be wrong there
2025-10-30 21:03:10 +0100 <EvanR> if you start pasting large amounts of code generated by the LLM into the project without understanding any of it, well, it will start to break down, and there's plenty of memes about where this leads
2025-10-30 21:03:23 +0100 <geekosaur> seriously, it explains a lot of things, including why LLMs in the first place
2025-10-30 21:03:35 +0100 <segfaultfizzbuzz> geekosaur: why LLMs in the first place? explain?
2025-10-30 21:03:43 +0100 <geekosaur> and makes a lot of sense if you think about it
2025-10-30 21:04:11 +0100 <segfaultfizzbuzz> EvanR: yeah i would say that "without understanding any of it" isn't what i do, but it can save me a lot of round trips back and forth from documentation and also it can sometimes stich things nicely (type conversions, etc)
2025-10-30 21:04:17 +0100 <geekosaur> why large language models are what led to something that comes across as "actual AI"
2025-10-30 21:04:54 +0100 <segfaultfizzbuzz> roughly speaking if you can write the type signature of your function then ai seems like it can do decently at filling in the rest 50% to 75% of the time...
2025-10-30 21:05:00 +0100 <EvanR> lol
2025-10-30 21:05:01 +0100 <segfaultfizzbuzz> or at least that's what i find
2025-10-30 21:05:13 +0100 <EvanR> no
2025-10-30 21:05:21 +0100 <segfaultfizzbuzz> EvanR: oh?
2025-10-30 21:05:44 +0100 <EvanR> the type signature is usually not enough to judge what you want it to do
2025-10-30 21:05:52 +0100 <EvanR> maybe you mean the carefully chosen name of the function
2025-10-30 21:05:56 +0100 <segfaultfizzbuzz> type signature plus a description/comment
2025-10-30 21:06:17 +0100 <segfaultfizzbuzz> yeah sorry, not type signature in isolation, i meant type signature as a hard restriction on the validity of the LLM output, given a reasonable prompt
2025-10-30 21:07:35 +0100 <EvanR> yeah, trying its own output against the type checker before producing anything, and retrying until it works, explains a lot of the performance I've seen
2025-10-30 21:07:45 +0100 <EvanR> but I'm not sure if that's a thing
2025-10-30 21:07:53 +0100 <segfaultfizzbuzz> EvanR: can you elaborate on "a lot of the performance I've seen"
2025-10-30 21:08:14 +0100 <EvanR> on a particular product preview I was working with
2025-10-30 21:08:19 +0100 <EvanR> integrated into the IDE
2025-10-30 21:08:30 +0100 <segfaultfizzbuzz> by performance do you mean like memory and cpu usage?
2025-10-30 21:08:32 +0100 <EvanR> the haskell code generator started slowing down to unusable after a while
2025-10-30 21:09:14 +0100 <EvanR> I'm sure cpu usage and memory usage was high but no
2025-10-30 21:09:33 +0100 <EvanR> code per minute
2025-10-30 21:10:00 +0100 <fgidim> haskell code into an LLM? :O
2025-10-30 21:10:07 +0100 <segfaultfizzbuzz> oh you think people are calling some centralized resource over the web at a high rate...?
2025-10-30 21:10:12 +0100 <EvanR> into, and out of
2025-10-30 21:10:25 +0100 <segfaultfizzbuzz> what is "the haskell code generator" otherwise?
2025-10-30 21:10:27 +0100 <geekosaur> I hear of a lot of people using Claude…
2025-10-30 21:10:34 +0100 <EvanR> I'm not sure how much this product was dependent on remote resources
2025-10-30 21:10:37 +0100 <geekosaur> Or Copilot
2025-10-30 21:10:38 +0100 <segfaultfizzbuzz> geekosaur: yep, i do... more specifically claude code
2025-10-30 21:10:43 +0100 <EvanR> it was more like copilot
2025-10-30 21:10:54 +0100 <EvanR> but some proprietary thing
2025-10-30 21:10:54 +0100 <segfaultfizzbuzz> copilot used to be pretty bad, it improved more recently... claude code is better
2025-10-30 21:11:03 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 21:11:38 +0100 <segfaultfizzbuzz> i would say like, ignore LLM generated code unless it (1) comes through claude code (2) has some kidn of decent type system which rejects really bad programs and (3) is reasonably well-prompted
2025-10-30 21:12:00 +0100 <EvanR> and how do you know any of this from the code itself
2025-10-30 21:13:32 +0100 <segfaultfizzbuzz> EvanR: i don't know, i'm probably not a good enough programmer to tell 75% of the time. there do tend to be high level inconsistencies in how the project concepts work, failures to compose, ... failure to do the right thing,... but yeah i'm not good enough to tell
2025-10-30 21:14:14 +0100 <segfaultfizzbuzz> that's why i was asking about social norms rather than the code itself :-)
2025-10-30 21:14:36 +0100 <haskellbridge> <sm> I have experimented a little with claude code; it's super useful including in haskell projects, and definitely not just a markov chain
2025-10-30 21:14:57 +0100annamalai(~annamalai@2409:4042:2595:bd4d::195e:70b1) (Ping timeout: 260 seconds)
2025-10-30 21:15:32 +0100 <haskellbridge> <sm> also probably super bad for the planet until we fix the economic model
2025-10-30 21:15:33 +0100Guest25(~Guest24@2803:9800:94c0:9a3b:d823:7586:d4c3:43b8)
2025-10-30 21:15:43 +0100 <haskellbridge> <sm> (AI generally, not claude code)
2025-10-30 21:15:51 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-10-30 21:16:19 +0100 <EvanR> certain usage for haskell really makes sense. In haskell you tend to accept and support code that is really big and dumb, like translation functions between simple things. They're annoying to type yourself but easy for the LLM. And then it's haskell so such "repeating yourself" code is not bad
2025-10-30 21:17:14 +0100 <EvanR> a local macro system or something could also do it without requiring said planetary killing engines
2025-10-30 21:17:16 +0100 <segfaultfizzbuzz> i encountered terrence tao doing vibe proving in lean and that kind of encouraged me to use LLMs more in coding without being quite so shy
2025-10-30 21:17:23 +0100target_i(~target_i@user/target-i/x-6023099) target_i
2025-10-30 21:17:30 +0100 <omentic> hi. cabal build has apparently triggered hardware protections for cpu overheating that i didn't even know my computer had. how can i make cabal throttle its builds?
2025-10-30 21:17:45 +0100 <segfaultfizzbuzz> omentic: out of curiousity are you on AMD?
2025-10-30 21:17:59 +0100 <omentic> no, intel laptop from 2020
2025-10-30 21:18:01 +0100 <EvanR> if your CPU can't run at 100% then that's another problem
2025-10-30 21:18:18 +0100 <EvanR> ventilate the room
2025-10-30 21:18:39 +0100 <omentic> i've never seen this before in my life. it's very strange... no other build system has done this, not nix, not cargo, not clang
2025-10-30 21:18:43 +0100 <segfaultfizzbuzz> omentic: i don't know,... thermal paste, maybe BIOS or operating system settings for power efficient mode?
2025-10-30 21:18:50 +0100 <omentic> and i've compiled chromium on this thing lmao
2025-10-30 21:19:00 +0100 <segfaultfizzbuzz> i saved a buddy's thinkpad once by re-pasting it after about five years
2025-10-30 21:19:02 +0100 <EvanR> cabal can't make your CPU more hot than running 100%
2025-10-30 21:19:14 +0100 <segfaultfizzbuzz> omentic: is this a thinkpad?
2025-10-30 21:19:17 +0100 <omentic> yeah
2025-10-30 21:19:17 +0100 <EvanR> though maybe you don't often use all your cores
2025-10-30 21:19:29 +0100haltingsolver(~cmo@2604:3d09:207f:8000::d1dc)
2025-10-30 21:19:31 +0100 <segfaultfizzbuzz> yeah, repaste it, get a good thermal paste
2025-10-30 21:19:35 +0100 <omentic> hmm
2025-10-30 21:19:40 +0100 <omentic> i think i will not do that lmao
2025-10-30 21:19:50 +0100 <segfaultfizzbuzz> my buddy's thinkpad would shut down after about an hour's worth of ordinary moderate use like playing videos and stuff
2025-10-30 21:20:00 +0100Guest25hedgehog99
2025-10-30 21:20:02 +0100 <segfaultfizzbuzz> omentic: a good thermal paste is like $10
2025-10-30 21:20:27 +0100 <segfaultfizzbuzz> DM me and i'll tell you how to do it, you also need some isopropyl alcohol and a roll of paper towels,... total cost might be $15 or $20
2025-10-30 21:20:56 +0100 <omentic> i do not think i want to re-thermal paste my ultrabook to cabal to build
2025-10-30 21:20:59 +0100 <yushyin> use ptm7950 instead of a paste
2025-10-30 21:21:35 +0100 <segfaultfizzbuzz> yushyin: yeah thermal pads are cool too but i don't have experience with them
2025-10-30 21:21:50 +0100Guest24(~Guest24@2803:9800:94c0:9a3b:d823:7586:d4c3:43b8)
2025-10-30 21:22:00 +0100 <segfaultfizzbuzz> omentic: the paste will continue to degrade and your problems will get worse
2025-10-30 21:22:04 +0100chiselfuse(~chiselfus@user/chiselfuse) (Ping timeout: 272 seconds)
2025-10-30 21:22:28 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-10-30 21:22:47 +0100chiselfuse(~chiselfus@user/chiselfuse) chiselfuse
2025-10-30 21:23:14 +0100 <segfaultfizzbuzz> omentic: or do what i did and get a desktop :-) i've concluded that the laptop form factor is only useful for SSH
2025-10-30 21:23:16 +0100ttybitnik(~ttybitnik@user/wolper) (Ping timeout: 256 seconds)
2025-10-30 21:23:26 +0100Guest24(~Guest24@2803:9800:94c0:9a3b:d823:7586:d4c3:43b8) (Client Quit)
2025-10-30 21:23:53 +0100 <omentic> segfault: i really **do not** want to re-thermal paste my laptop to fix a cabal build issue that is only present with cabal and no other build system, lol
2025-10-30 21:24:05 +0100 <EvanR> it's not cabal's fault
2025-10-30 21:24:35 +0100 <EvanR> just make sure you get proper air flow to the laptop
2025-10-30 21:24:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 21:24:48 +0100 <omentic> hmm
2025-10-30 21:25:27 +0100hedgehog99(~Guest24@2803:9800:94c0:9a3b:d823:7586:d4c3:43b8) (Ping timeout: 250 seconds)
2025-10-30 21:25:32 +0100 <haskellbridge> <loonycyborg> I doubt that exact buildsystem matters
2025-10-30 21:26:00 +0100 <haskellbridge> <loonycyborg> they all eat lot less cpu cycles than actual compile commands
2025-10-30 21:26:00 +0100 <haskellbridge> <sm> cabal efficiently maximising your processors, eh ? Point a fan at the laptop or build at night ?
2025-10-30 21:26:33 +0100 <segfaultfizzbuzz> omentic: how much $ do you have for a desktop
2025-10-30 21:26:45 +0100 <haskellbridge> <sm> blast it with compressed air, maybe you can dislodge some dust :)
2025-10-30 21:27:08 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Remote host closed the connection)
2025-10-30 21:27:24 +0100 <haskellbridge> <sm> or, limit how many processors cabal uses at once with -j
2025-10-30 21:27:28 +0100 <omentic> dude i am not buying a new computer it is beyond reasonable for me to want to compile a project with three dependencies on my laptop
2025-10-30 21:27:30 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-10-30 21:28:06 +0100Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-10-30 21:28:06 +0100 <omentic> sm: i'm thinking that's my problem, yeah. i suspect cargo/clang etc don't use all cores and i've accidentally passed a flag to GHC that's telling it to do so
2025-10-30 21:28:11 +0100 <omentic> time to read the manual on -threaded
2025-10-30 21:28:28 +0100 <haskellbridge> <sm> it'll build packages in parallel by default, add -j1 to stop that
2025-10-30 21:29:00 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-10-30 21:30:21 +0100 <haskellbridge> <sm> I think -threaded is something different, affecting how the program you're building runs
2025-10-30 21:30:22 +0100 <monochrom> cabal by default looks at your number of cores (even hyperthreads) and potentially builds that many packages in parallel. That can push your CPU. (For me, RAM is my bottleneck, I get thrashing.) So yeah use an explicit -j to limit it. (I use -j2.)
2025-10-30 21:30:33 +0100 <haskellbridge> <sm> while -j affects cabal build itself
2025-10-30 21:31:07 +0100 <monochrom> NB. "builds that many packages in parallel" = runs that many instances of GHC in parallel. (You know how much memory that takes, right? :) )
2025-10-30 21:31:09 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-10-30 21:31:36 +0100 <haskellbridge> <sm> also, if it's just three dependencies it's going to be finished relatively soon. Then it's just rebuilding some of your own modules when needed.
2025-10-30 21:31:48 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
2025-10-30 21:31:48 +0100ljdarj1ljdarj
2025-10-30 21:33:09 +0100 <haskellbridge> <sm> for a more general solution, there must be some kind of linux quota system you could use (rlimit ?)
2025-10-30 21:33:37 +0100 <monochrom> (Hell, I don't add -j2 by hand, I put in ~/.cabal/config "jobs: 2".)
2025-10-30 21:34:49 +0100 <monochrom> rlimit causes killing processes. as opposed to informing processes to behave.
2025-10-30 21:34:59 +0100 <haskellbridge> <sm> ack
2025-10-30 21:35:18 +0100 <haskellbridge> <sm> and I suppose nice doesn't prevent it using 100%
2025-10-30 21:35:48 +0100 <monochrom> nice prevents it using 100% iff something else of higher priority uses 100%. >:)
2025-10-30 21:36:50 +0100 <monochrom> You can always run it in VirtualBox. VirtualBox can lie about # of CPUs and speed.
2025-10-30 21:37:03 +0100 <haskellbridge> <sm> by the way I'll guess those other build systems also use multiple processors, but probably they finish sooner
2025-10-30 21:37:08 +0100 <omentic> monochrom: re: memory, gulp
2025-10-30 21:37:25 +0100peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 256 seconds)
2025-10-30 21:38:43 +0100 <haskellbridge> <sm> also does swapping contribute to cpu activity / heat ? building haskell is probably using more memory
2025-10-30 21:38:56 +0100 <haskellbridge> <sm> avoid swapping
2025-10-30 21:39:34 +0100 <omentic> what is the -N argument to RTS opts? this page references it, but doesn't define it: https://ghc.gitlab.haskell.org/ghc/doc/users_guide/runtime_control.html
2025-10-30 21:40:10 +0100 <omentic> i do kind of wonder if fucked-up swap is contributing to only seeing this with cabal
2025-10-30 21:40:28 +0100 <omentic> if it is using up a bunch of memory and swapping a lot...
2025-10-30 21:40:28 +0100 <haskellbridge> <sm> you should definitely check, with [h]top
2025-10-30 21:40:40 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 21:40:45 +0100Googulator55(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 21:41:11 +0100 <haskellbridge> <sm> +RTS -N is essentially a suggestion of how many cores the program should use, IIRC. But for cabal commands, -j is easier
2025-10-30 21:42:25 +0100 <monochrom> Telling cabal -N does not limit its -j
2025-10-30 21:42:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 21:45:41 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 21:45:54 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 21:46:30 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 256 seconds)
2025-10-30 21:47:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 21:48:06 +0100myme1(~myme@2a01:799:d5e:5f00:ffab:db87:b0e2:97dd) myme
2025-10-30 21:48:18 +0100myme(~myme@2a01:799:d5e:5f00:dea7:7da2:d01d:b0f1) (Ping timeout: 244 seconds)
2025-10-30 21:48:38 +0100 <omentic> hmm, and -j 2 in ghc-options should limit the maximum no. of threads to 2?
2025-10-30 21:50:19 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-10-30 21:50:38 +0100 <omentic> mmm. neither the no. of parallel modules nor the no. of threads in use appears to be limited by -j 2 or -j2. weird. maybe -with-rtsopts=-N is overwriting that?
2025-10-30 21:51:26 +0100ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-10-30 21:52:10 +0100 <geekosaur> something else to keep in mind is that limiting GHC's threads will only work if you either limit cabal to one thread or use ghc semaphores (in sufficiently recent ghc)
2025-10-30 21:52:33 +0100 <omentic> uhhhh, oh that is good to know
2025-10-30 21:52:49 +0100 <geekosaur> because cabal will spawn as many ghcs as it's allowed to run threads, each of which will use the number of threads you tell it
2025-10-30 21:53:16 +0100 <geekosaur> with job semaphores the number of concurrently running ghc threads will be limited across the entire build
2025-10-30 21:53:45 +0100 <omentic> why would you want cabal to use more than one thread if ghc can spawn multiple threads by itself?
2025-10-30 21:54:03 +0100 <omentic> legacy behavior? or is there an improvement wrt. linking or something
2025-10-30 21:54:05 +0100 <geekosaur> building multiple dependencies concurrently
2025-10-30 21:54:14 +0100myme1myme
2025-10-30 21:55:12 +0100peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-10-30 21:55:18 +0100 <geekosaur> but then you need to arrange for each dependency to use ghc-options
2025-10-30 21:55:29 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 21:55:37 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 21:55:46 +0100 <omentic> hm. okay. with ghc-options containing -threaded -j2 -rtsopts -with-rtsopts=-N2 and jobs: 1, i still see cabal building five or six things in parallel and all my cores spinning up...
2025-10-30 21:55:50 +0100 <geekosaur> if job semaphores are supported, all the ghcs will "check out" threads as available
2025-10-30 21:56:07 +0100 <geekosaur> check your cabal configuration
2025-10-30 21:56:18 +0100 <geekosaur> oh wait, you said jobs: 1, sorry
2025-10-30 21:56:48 +0100 <omentic> looks like jobs: $ncpus in my global cabal config but yeah i've got a line here locally
2025-10-30 21:56:51 +0100 <geekosaur> I don't normally see things building in parallel with that situation (but I also don't run into it much, I have enough cores that I set jobs: fairly high)
2025-10-30 21:58:09 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 21:58:21 +0100 <omentic> urgh
2025-10-30 21:58:29 +0100 <omentic> okay i will deal with this later, thanks for the pointers
2025-10-30 21:59:06 +0100 <omentic> oh -- actually before i head out, do you know: is it possible to get some sort of caching working with cabal (or stack) if i've got a package that's not on stackage?
2025-10-30 21:59:47 +0100 <davean> caching? What caching do you want that cabal doesn't default to doing>
2025-10-30 22:00:16 +0100 <omentic> well, not building pandoc
2025-10-30 22:00:48 +0100Googulator29(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 22:01:04 +0100Googulator98(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 22:01:20 +0100 <monochrom> -j is not a ghc-option
2025-10-30 22:01:22 +0100 <omentic> this might be a haskell limitation, i'm not sure. but i don't have to build anything locally when all the packages i want are in stackage. that's nice. except right now i've got one package not on stackage
2025-10-30 22:02:29 +0100 <omentic> monochrom: oh? i saw it in the ghc manual so i thought it'd go in ghc-options. is there another place to put it or is it unsupported with cabal?
2025-10-30 22:02:42 +0100 <monochrom> jobs: is probably something you should put in the global config because it is about your computer not a particular package or project
2025-10-30 22:02:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 22:03:06 +0100 <davean> omentic: are you on POSIX or windows? Because POSIX doesn't standardize that as working and its known to be funky.
2025-10-30 22:03:23 +0100 <omentic> posix. that is very good to know. lmao
2025-10-30 22:03:51 +0100 <davean> So providing it or not is a matter of how conservitive you are and sure you'll get the ABI stuff matched up right
2025-10-30 22:03:52 +0100 <omentic> huh, weird the manual does not mention that...
2025-10-30 22:04:19 +0100 <davean> Like I assure you it 100% breaks every time for my Linux system, but mine isn't the same as yours
2025-10-30 22:04:27 +0100 <davean> if you're on Debian it'll probably work great
2025-10-30 22:05:29 +0100 <davean> stackage leans on the "make it easy" side over "get it right" you can provide such a cache for cabal but cabal leans on the "get it right" side
2025-10-30 22:05:53 +0100 <davean> er, not stackage
2025-10-30 22:05:55 +0100 <davean> but yah
2025-10-30 22:06:19 +0100 <davean> So anyway, no one actively provides such a cache for cabal+hackage in general. Its not hard to do but it would be very large.
2025-10-30 22:06:48 +0100 <omentic> do you know if it is possible to get a partial cache? i.e. cache pandoc but not cache the other dependency i need. or is this impossible wrt. how ghc builds things
2025-10-30 22:06:51 +0100 <davean> and then sometimes, rarely but it will happen, it'll spit out a binary that doesn't work
2025-10-30 22:07:12 +0100 <davean> You can only cache it in respect to the otehr things you build so I'm nto sure what the use would be
2025-10-30 22:07:29 +0100 <monochrom> I don't know how to tell cabal to use stack's cache, or stack to use cabal's cache.
2025-10-30 22:07:59 +0100 <monochrom> Hell even Thunderbird and Firefox probably don't use each other's cache...
2025-10-30 22:09:06 +0100 <davean> omentic: very specificly POSIX is a source code level compatability standard, not a binary compatability standard, and distros can and do break binary compatability between them, and some even inside them.
2025-10-30 22:09:19 +0100 <omentic> i'm surprised that breaks -j
2025-10-30 22:09:33 +0100 <davean> no I'm talking about a cache
2025-10-30 22:10:05 +0100 <davean> Like its not actually that much of a deal for most users
2025-10-30 22:10:07 +0100 <omentic> oh yeah that tracks. but your distinction for a cache would be by cpu architecture + os, right
2025-10-30 22:10:24 +0100 <davean> Thats not enough, thats just enough MOST of the time
2025-10-30 22:11:00 +0100 <davean> It can be specific to a given install of an os
2025-10-30 22:11:06 +0100 <omentic> but also from what you said earlier sounds like ghc needs all dependencies and such for the compiler to do its thing
2025-10-30 22:11:26 +0100 <davean> GHC works with a consistent set of dependencies
2025-10-30 22:11:42 +0100 <davean> so it only needs the dependencies of pandoc and your overall project to match
2025-10-30 22:11:48 +0100 <davean> but it needs an equality match
2025-10-30 22:12:07 +0100 <davean> I think a *binary result equality match* I THINK but I'm not sure there
2025-10-30 22:13:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 22:14:36 +0100 <omentic> interesting ok
2025-10-30 22:14:51 +0100 <davean> You CAN build this cache
2025-10-30 22:15:02 +0100 <davean> and if you're layering it on top of stackage, the size explosion isn't so bad
2025-10-30 22:15:05 +0100 <omentic> well, i'll try to fix the parallelism, then try to get caching working, but i'll have to do it a bit later
2025-10-30 22:15:17 +0100 <omentic> thx for the help here yall
2025-10-30 22:15:40 +0100Googulator97(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 22:15:45 +0100 <davean> omentic: BTW what makes build times so bad for you? (I didn't read up)
2025-10-30 22:16:08 +0100Googulator29(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 22:16:09 +0100Googulator97(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
2025-10-30 22:16:18 +0100Googulator97(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 22:18:34 +0100nerdychip(~nerdychip@user/nerdychip) (Read error: Connection reset by peer)
2025-10-30 22:18:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-10-30 22:19:06 +0100ljdarj(~Thunderbi@user/ljdarj) (Quit: ljdarj)
2025-10-30 22:19:55 +0100peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 256 seconds)
2025-10-30 22:20:45 +0100 <haskellbridge> <sm> 2020 intel thinkpad possibly swapping
2025-10-30 22:21:25 +0100nerdychip(~nerdychip@212.129.72.100)
2025-10-30 22:21:25 +0100nerdychip(~nerdychip@212.129.72.100) (Changing host)
2025-10-30 22:21:25 +0100nerdychip(~nerdychip@user/nerdychip) nerdychip
2025-10-30 22:25:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 22:30:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 22:32:24 +0100haltingsolver(~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 256 seconds)
2025-10-30 22:34:20 +0100haltingsolver(~cmo@2604:3d09:207f:8000:d250:ea0c:366a:6e73)
2025-10-30 22:35:30 +0100Googulator97(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 22:35:44 +0100Googulator97(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 22:41:26 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 22:44:35 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
2025-10-30 22:44:51 +0100michalz(~michalz@185.246.207.221) (Remote host closed the connection)
2025-10-30 22:46:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2025-10-30 22:49:11 +0100nerdychip(~nerdychip@user/nerdychip) (Read error: Connection reset by peer)
2025-10-30 22:51:51 +0100nerdychip(~nerdychip@212.129.72.100)
2025-10-30 22:51:51 +0100nerdychip(~nerdychip@212.129.72.100) (Changing host)
2025-10-30 22:51:51 +0100nerdychip(~nerdychip@user/nerdychip) nerdychip
2025-10-30 22:52:55 +0100weary-traveler(~user@user/user363627) user363627
2025-10-30 22:54:45 +0100 <segfaultfizzbuzz> https://discourse.haskell.org/t/ghc-now-runs-in-your-browser/13169 oh nice :-)
2025-10-30 22:55:40 +0100 <segfaultfizzbuzz> it needs a dropdown box with some demo programs
2025-10-30 22:55:42 +0100Googulator78(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 22:55:47 +0100Googulator97(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 22:57:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 22:58:46 +0100fp(~Thunderbi@216-165-247-67.championbroadband.com) fp
2025-10-30 23:01:20 +0100 <segfaultfizzbuzz> i made it render a stierpinski triangle! pretty nice work folks!
2025-10-30 23:01:24 +0100Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-10-30 23:02:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-10-30 23:04:25 +0100foo3Square2
2025-10-30 23:12:23 +0100gehmehgeh(~user@user/gehmehgeh) gehmehgeh
2025-10-30 23:12:57 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 23:13:04 +0100gmg(~user@user/gehmehgeh) (Killed (NickServ (Forcing logout gmg -> gehmehgeh)))
2025-10-30 23:13:04 +0100gehmehgehgmg
2025-10-30 23:13:56 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-10-30 23:19:34 +0100comonad(~comonad@p200300d02741a000c6934c09e8b46dfd.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2025-10-30 23:19:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-10-30 23:20:42 +0100Googulator95(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
2025-10-30 23:20:43 +0100Googulator78(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 23:21:37 +0100Square2(~Square@user/square) (Ping timeout: 264 seconds)
2025-10-30 23:26:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-30 23:26:52 +0100tromp(~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f)
2025-10-30 23:29:35 +0100jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-10-30 23:31:32 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-10-30 23:38:46 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds)
2025-10-30 23:40:43 +0100Googulator95(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
2025-10-30 23:40:56 +0100Googulator95(~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)