2025/01/29

2025-01-29 00:04:15 +0100weary-traveler(~user@user/user363627) user363627
2025-01-29 00:07:30 +0100mulk(~mulk@pd9514894.dip0.t-ipconnect.de) mulk
2025-01-29 00:09:59 +0100Ranhir(~Ranhir@157.97.53.139) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2025-01-29 00:10:35 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-01-29 00:11:58 +0100lythieme(~lythieme@209.214.83.194)
2025-01-29 00:13:37 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-01-29 00:14:43 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-29 00:17:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-01-29 00:17:43 +0100Ranhir(~Ranhir@157.97.53.139) Ranhir
2025-01-29 00:19:29 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 260 seconds)
2025-01-29 00:20:08 +0100lythieme(~lythieme@209.214.83.194) (Quit: Client closed)
2025-01-29 00:24:05 +0100 <haskellbridge> <Bowuigi> foldr/build-like theorems are pretty interesting. On Mendler-encoded data it holds for mcata/mbuild by beta reduction (mbuild is just id but fancy)
2025-01-29 00:24:45 +0100 <haskellbridge> <Bowuigi> Not sure how a paramorphism can be encoded in the same style tho, probably some messing around with the parameters
2025-01-29 00:26:26 +0100 <haskellbridge> <Bowuigi> Histomorphisms can be encoded Mendler-style but not in a total language. Some subset might be able to be encoded tho, haven't checked
2025-01-29 00:26:50 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-01-29 00:28:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-01-29 00:28:45 +0100 <haskellbridge> <Bowuigi> I'm actually really interested in those because they are essential in my lang. It's the best lambda encoding without recursive types that I've found
2025-01-29 00:29:54 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2025-01-29 00:29:54 +0100ljdarj1ljdarj
2025-01-29 00:33:29 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-01-29 00:33:41 +0100emmanuelux(~emmanuelu@user/emmanuelux) emmanuelux
2025-01-29 00:44:23 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-29 00:49:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2025-01-29 00:50:08 +0100acidjnk_new3(~acidjnk@p200300d6e7283f203076ec74f0f78e66.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2025-01-29 00:50:13 +0100 <EvanR_> mendler-encoding ?
2025-01-29 00:55:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-01-29 00:56:15 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 276 seconds)
2025-01-29 01:00:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-01-29 01:03:47 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-29 01:05:48 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-01-29 01:08:04 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-01-29 01:11:03 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-01-29 01:14:38 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Remote host closed the connection)
2025-01-29 01:16:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-01-29 01:16:36 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) TheCoffeMaker
2025-01-29 01:26:51 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-01-29 01:31:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-01-29 01:32:59 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-01-29 01:38:14 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-01-29 01:42:04 +0100xff0x(~xff0x@ai096095.d.east.v6connect.net) (Ping timeout: 272 seconds)
2025-01-29 01:47:26 +0100Inst_(~Inst_@2600:1006:b039:8e06:348d:59cb:8a80:2e01)
2025-01-29 01:47:54 +0100 <Inst_> Is Haskell still relevant in the age of LLM programmers?
2025-01-29 01:48:10 +0100 <haskellbridge> <Axman6> No
2025-01-29 01:48:15 +0100 <haskellbridge> <Axman6> we're all dead
2025-01-29 01:48:29 +0100 <Inst_> To some extent, I suspect its susceptibility to formal verification actually makes it quite suited.
2025-01-29 01:48:39 +0100 <Inst_> Actually, I'm dead inside, Axman6.
2025-01-29 01:49:17 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2025-01-29 01:49:24 +0100 <haskellbridge> <Axman6> I sae someone say yesterday that they couldn't convince one of the LLMs that "addOne = (+ 1)" was valid haskell, so there's still hope
2025-01-29 01:49:40 +0100 <geekosaur> LLMs don't understand Haskell. Maybe if someone had fed them Wadler, SPJ, ekmett, Conor McBride, etc. instead of random blogs, they'd do a good job with it
2025-01-29 01:50:22 +0100 <Inst_> I used to be pro-Simple Haskell, now I'm pro-fancy types because when LLMs end up spitting code and the job of the developer is to validate it, the type system helps
2025-01-29 01:50:36 +0100 <geekosaur> (there's more where those 4 came from; sadly nobody's asking me for a bibliography to feed LLMs)
2025-01-29 01:50:56 +0100 <Inst_> I'm actually on WeChat with a segment of the Chinese Haskell community
2025-01-29 01:51:17 +0100 <Inst_> Let me get you the GitHub links for the game snake, someone complained it wasn't using classy MTL
2025-01-29 01:51:29 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-29 01:51:33 +0100 <Inst_> Produced via both deepseek and 1.o
2025-01-29 01:51:52 +0100Inst_(~Inst_@2600:1006:b039:8e06:348d:59cb:8a80:2e01) (Client Quit)
2025-01-29 01:52:37 +0100Inst__(~Inst__@2600:1006:b039:8e06:348d:59cb:8a80:2e01)
2025-01-29 01:52:42 +0100 <Inst__> https://gist.github.com/yihuang/7344984aed9a13099146dc55dd4249e3
2025-01-29 01:52:51 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-29 01:54:46 +0100 <Inst__> The MTL one is a screenshot, can't link
2025-01-29 01:55:28 +0100 <Inst__> Other complaint is that the code deepseek / 1.o are producing are too imperative
2025-01-29 01:56:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2025-01-29 01:57:28 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2025-01-29 01:57:29 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 260 seconds)
2025-01-29 01:57:45 +0100euleritian(~euleritia@77.23.250.232)
2025-01-29 01:58:46 +0100euleritian(~euleritia@77.23.250.232) (Remote host closed the connection)
2025-01-29 01:59:03 +0100euleritian(~euleritia@77.23.250.232)
2025-01-29 02:00:12 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-01-29 02:04:04 +0100Googulator(~Googulato@2a01-036d-0106-1666-e945-fd21-b920-9aa7.pool6.digikabel.hu)
2025-01-29 02:07:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-01-29 02:07:26 +0100 <Inst__> :( I thought the code would be fun to tear apart
2025-01-29 02:07:55 +0100 <Inst__> It technically works, I mean, I haven't had a machine for a while, but it doesn't provide a concept of a loop, and the code is ugly
2025-01-29 02:15:25 +0100sprotte24(~sprotte24@p200300d16f3179007dc10aa53878022c.dip0.t-ipconnect.de) (Quit: Leaving)
2025-01-29 02:16:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-01-29 02:19:14 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 260 seconds)
2025-01-29 02:22:44 +0100otto_s(~user@p4ff270b9.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2025-01-29 02:24:06 +0100otto_s(~user@p5b044c4b.dip0.t-ipconnect.de)
2025-01-29 02:27:55 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-29 02:28:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-01-29 02:30:24 +0100Inst__(~Inst__@2600:1006:b039:8e06:348d:59cb:8a80:2e01) (Quit: Client closed)
2025-01-29 02:32:09 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 246 seconds)
2025-01-29 02:32:21 +0100Inst_(~Inst_@2600:1006:b039:8e06:348d:59cb:8a80:2e01)
2025-01-29 02:33:07 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-01-29 02:33:14 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-01-29 02:35:47 +0100 <Inst_> Let me babble a bit more: Haskell is still relevant because the readability, maintainability, purity, and comprehensibility of Haskell helps in a future age where most code is generated, because security from strong types is now paramount; you do not want the LLM to have its training data poisoned and accidentally expose your data, or worse, launch
2025-01-29 02:35:48 +0100 <Inst_> ze missiles, and only functional programming can provide that level of security
2025-01-29 02:35:48 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Ping timeout: 245 seconds)
2025-01-29 02:35:54 +0100 <Inst_> Sorry about this
2025-01-29 02:36:26 +0100Inst_(~Inst_@2600:1006:b039:8e06:348d:59cb:8a80:2e01) (Client Quit)
2025-01-29 02:38:36 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds)
2025-01-29 02:43:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-01-29 02:44:32 +0100alx741(~alx741@186.33.188.229) (Ping timeout: 244 seconds)
2025-01-29 02:47:18 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-01-29 02:48:33 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
2025-01-29 02:48:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-01-29 02:49:37 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 248 seconds)
2025-01-29 02:51:07 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
2025-01-29 02:51:38 +0100ljdarj(~Thunderbi@user/ljdarj) (Quit: ljdarj)
2025-01-29 02:59:14 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-01-29 03:06:03 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-01-29 03:13:19 +0100 <haskellbridge> <Bowuigi> EvanR_ https://www.researchgate.net/publication/269080460_A_hierarchy_of_mendler_style_recursion_combinat…
2025-01-29 03:14:04 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 260 seconds)
2025-01-29 03:15:54 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-01-29 03:17:17 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-29 03:17:20 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-29 03:17:34 +0100 <haskellbridge> <Bowuigi> Inst already left but an LLM would be bad (or at least harder to train) at type level magic because it is logic, not a freeform language. Something with reinforcement learning (or similar) would be better, since the problem is more similar to playing chess
2025-01-29 03:19:02 +0100Tikosh(~quassel@user/Tikosh) Tikosh
2025-01-29 03:20:26 +0100eL_Bart0(eL_Bart0@dietunichtguten.org) (Ping timeout: 252 seconds)
2025-01-29 03:22:04 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 260 seconds)
2025-01-29 03:22:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2025-01-29 03:22:59 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2025-01-29 03:30:42 +0100tavare(~tavare@user/tavare) tavare
2025-01-29 03:33:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-01-29 03:35:56 +0100AvengingFemme(~avengingf@syn-074-076-186-205.res.spectrum.com)
2025-01-29 03:37:59 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-01-29 03:47:44 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 260 seconds)
2025-01-29 03:49:11 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-01-29 03:56:18 +0100sarna(~sarna@d224-221.icpnet.pl) (Ping timeout: 276 seconds)
2025-01-29 03:56:36 +0100sarna(~sarna@d224-221.icpnet.pl) sarna
2025-01-29 04:05:14 +0100Square(~Square@user/square) Square
2025-01-29 04:05:28 +0100Square2(~Square4@user/square) (Remote host closed the connection)
2025-01-29 04:05:45 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-29 04:08:19 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
2025-01-29 04:10:09 +0100 <monochrom> Haskell will be relevant again after the LLM fad dies.
2025-01-29 04:10:09 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 248 seconds)
2025-01-29 04:10:19 +0100 <monochrom> or rather, s/fad/bubble/
2025-01-29 04:10:57 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan
2025-01-29 04:10:57 +0100 <monochrom> Not to say that LLM per se will die, but all bubbles and overhypes die. Then LLM will shrink back to what it's really worth, which is still a lot.
2025-01-29 04:11:39 +0100forell(~forell@user/forell) (Ping timeout: 260 seconds)
2025-01-29 04:12:09 +0100 <monochrom> For example, see how C became relevant again after the interweb bubble bursted.
2025-01-29 04:13:49 +0100 <monochrom> Although, I heard that DeepSeek is both LLM and reinforcement learning. It may yet do something.
2025-01-29 04:29:20 +0100forell(~forell@user/forell) forell
2025-01-29 04:32:04 +0100 <hololeap> deepseq `compare` DeepSeek = ...
2025-01-29 04:32:22 +0100 <monochrom> :)
2025-01-29 04:32:53 +0100 <hololeap> jk
2025-01-29 04:32:59 +0100 <hololeap> I'm just in it for the puns
2025-01-29 04:33:22 +0100 <monochrom> rnf = reinforcement network form >:)
2025-01-29 04:33:36 +0100forell(~forell@user/forell) (Ping timeout: 246 seconds)
2025-01-29 04:38:09 +0100forell(~forell@user/forell) forell
2025-01-29 04:39:01 +0100 <hololeap> understanding natural language is really valuable for a coding AI, but it should at least be trained to never write invalid code, and ideally write code that experienced programmers would like
2025-01-29 04:54:13 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 244 seconds)
2025-01-29 04:54:29 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-29 04:55:23 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-01-29 04:55:59 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-01-29 04:56:55 +0100weary-traveler(~user@user/user363627) user363627
2025-01-29 04:58:52 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-01-29 05:02:36 +0100Tikosh(~quassel@user/Tikosh) (Remote host closed the connection)
2025-01-29 05:07:49 +0100tavare(~tavare@user/tavare) (Ping timeout: 248 seconds)
2025-01-29 05:09:21 +0100Square(~Square@user/square) (Ping timeout: 248 seconds)
2025-01-29 05:21:04 +0100tabaqui1(~root@87.200.129.102) (Ping timeout: 260 seconds)
2025-01-29 05:23:01 +0100tavare(~tavare@150.129.88.189)
2025-01-29 05:23:01 +0100tavare(~tavare@150.129.88.189) (Changing host)
2025-01-29 05:23:01 +0100tavare(~tavare@user/tavare) tavare
2025-01-29 05:25:07 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-01-29 05:25:19 +0100forell(~forell@user/forell) (Ping timeout: 260 seconds)
2025-01-29 05:30:51 +0100lockywolf(~lockywolf@coconut.lockywolf.net) lockywolf
2025-01-29 05:39:47 +0100comonad(~comonad@p200300d027182d00bcfd40be9d94d2dc.dip0.t-ipconnect.de)
2025-01-29 05:41:02 +0100forell(~forell@user/forell) forell
2025-01-29 05:42:53 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-29 05:47:19 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 260 seconds)
2025-01-29 05:50:14 +0100euleritian(~euleritia@77.23.250.232) (Ping timeout: 260 seconds)
2025-01-29 05:51:11 +0100euleritian(~euleritia@dynamic-176-006-140-151.176.6.pool.telefonica.de)
2025-01-29 05:53:07 +0100forell(~forell@user/forell) (Ping timeout: 244 seconds)
2025-01-29 05:58:54 +0100AvengingFemme(~avengingf@syn-074-076-186-205.res.spectrum.com) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-01-29 05:59:12 +0100m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 272 seconds)
2025-01-29 05:59:39 +0100Inst_(~Inst_@2601:6c1:786:fb0:f1f1:b264:d1dc:e467)
2025-01-29 06:00:20 +0100forell(~forell@user/forell) forell
2025-01-29 06:00:41 +0100 <Inst_> monochrom: the practitioners on WeChat, I forget if they're doing Haskell, have already swapped to LLM / reinforcement learning AI for smaller coding tasks, with developer validation to guarantee coherency
2025-01-29 06:03:25 +0100 <Inst_> It does seem harder, however, to get the architecture right, especially for a language like Haskell when the software architecture can be rather subjective
2025-01-29 06:06:48 +0100m5zs7k(aquares@web10.mydevil.net) m5zs7k
2025-01-29 06:09:30 +0100 <monochrom> I am not surprised that Haskell is harder to learn, but this is just due to having fewer examples to learn from. Even humans complain that there are not enough learning resources, so nevermind machines. This is just networking effect again (pun intended!).
2025-01-29 06:14:10 +0100Inst_(~Inst_@2601:6c1:786:fb0:f1f1:b264:d1dc:e467) (Ping timeout: 240 seconds)
2025-01-29 06:15:26 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2025-01-29 06:18:54 +0100michalz(~michalz@185.246.207.222)
2025-01-29 06:22:16 +0100Inst_(~Inst_@2601:6c1:786:fb0:f1f1:b264:d1dc:e467)
2025-01-29 06:22:46 +0100 <Inst_> In the Haskell case, I think it's because there's so much variation in style
2025-01-29 06:28:56 +0100alp_(~alp@2001:861:8ca0:4940:7256:930c:e9bd:85d0) (Remote host closed the connection)
2025-01-29 06:29:14 +0100alp_(~alp@2001:861:8ca0:4940:e12c:836d:ea5e:ec4e)
2025-01-29 06:31:36 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-01-29 06:34:02 +0100Inst_(~Inst_@2601:6c1:786:fb0:f1f1:b264:d1dc:e467) (Quit: Client closed)
2025-01-29 06:35:42 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-01-29 06:37:51 +0100forell_(~forell@host-178-216-90-220.sta.tvknaszapraca.pl)
2025-01-29 06:38:14 +0100forell(~forell@user/forell) (Ping timeout: 260 seconds)
2025-01-29 06:43:06 +0100Inst_(~Inst_@2601:6c1:786:fb0:f1f1:b264:d1dc:e467)
2025-01-29 06:46:30 +0100Guest62(~Guest62@c-73-217-79-154.hsd1.co.comcast.net)
2025-01-29 06:47:41 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2025-01-29 06:47:58 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 252 seconds)
2025-01-29 06:47:58 +0100tnt2tnt1
2025-01-29 06:51:52 +0100alp_(~alp@2001:861:8ca0:4940:e12c:836d:ea5e:ec4e) (Remote host closed the connection)
2025-01-29 06:52:09 +0100alp_(~alp@2001:861:8ca0:4940:3a35:f14:2955:91dd)
2025-01-29 06:52:40 +0100Inst_(~Inst_@2601:6c1:786:fb0:f1f1:b264:d1dc:e467) (Ping timeout: 240 seconds)
2025-01-29 06:55:04 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) lisbeths
2025-01-29 06:56:11 +0100alp_(~alp@2001:861:8ca0:4940:3a35:f14:2955:91dd) (Remote host closed the connection)
2025-01-29 06:56:29 +0100alp_(~alp@2001:861:8ca0:4940:f8f:81fa:f83b:c58)
2025-01-29 06:59:58 +0100ft(~ft@p3e9bcd97.dip0.t-ipconnect.de) (Quit: leaving)