2023/10/22

2023-10-22 00:03:09 +0200 <lally> :(
2023-10-22 00:07:20 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 00:18:54 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 272 seconds)
2023-10-22 00:32:53 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 00:38:05 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 00:51:56 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 00:57:52 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 252 seconds)
2023-10-22 01:10:16 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 01:19:52 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 252 seconds)
2023-10-22 01:21:48 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 01:29:38 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 01:39:42 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 01:44:07 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 264 seconds)
2023-10-22 02:13:15 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 02:19:05 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 02:32:11 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 02:38:21 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 02:46:50 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 02:54:04 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 248 seconds)
2023-10-22 02:58:09 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 03:02:45 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Max SendQ exceeded)
2023-10-22 03:03:11 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 03:09:46 +0200hrberg(~quassel@171.79-160-161.customer.lyse.net) (Remote host closed the connection)
2023-10-22 03:11:03 +0200hrberg(~quassel@171.79-160-161.customer.lyse.net)
2023-10-22 03:18:50 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 255 seconds)
2023-10-22 03:30:53 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 03:37:23 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 03:39:28 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 03:46:01 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 03:57:11 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 04:02:59 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 245 seconds)
2023-10-22 04:15:10 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 04:21:08 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds)
2023-10-22 04:30:39 +0200td_(~td@i5387091E.versanet.de) (Ping timeout: 240 seconds)
2023-10-22 04:32:41 +0200td_(~td@i53870939.versanet.de)
2023-10-22 04:34:02 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 04:40:16 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 04:43:04 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 04:49:03 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 05:00:24 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 05:06:22 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds)
2023-10-22 05:10:59 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 05:46:19 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 245 seconds)
2023-10-22 05:59:18 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 06:04:53 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 255 seconds)
2023-10-22 06:16:15 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 06:22:05 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 06:33:56 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 06:39:55 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 264 seconds)
2023-10-22 06:51:22 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 07:02:36 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 07:14:56 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 07:20:36 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 07:32:29 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 07:38:26 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 272 seconds)
2023-10-22 07:50:17 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 07:55:48 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 08:07:44 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 08:13:27 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 08:17:16 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 08:23:08 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 248 seconds)
2023-10-22 08:34:45 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 08:40:15 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 08:52:26 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 08:58:52 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 272 seconds)
2023-10-22 09:11:26 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 09:16:39 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 09:18:16 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 09:24:21 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds)
2023-10-22 09:33:38 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 09:35:43 +0200todi(~todi@p4fd1a3e6.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2023-10-22 09:39:31 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 09:51:17 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 09:57:08 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 09:59:39 +0200todi(~todi@p4fd1a3e6.dip0.t-ipconnect.de)
2023-10-22 10:09:12 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 10:15:06 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 10:19:18 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 10:25:16 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 248 seconds)
2023-10-22 10:37:28 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 10:43:26 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 255 seconds)
2023-10-22 10:55:19 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 11:01:00 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 248 seconds)
2023-10-22 11:11:24 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 11:16:56 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 11:19:57 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 11:26:16 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 11:33:51 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 11:39:35 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 11:51:42 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 11:57:41 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds)
2023-10-22 12:09:04 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 12:14:47 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 255 seconds)
2023-10-22 12:18:26 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 12:33:41 +0200 <haskellbridge> <T​ranquil Ity> Where is this room bridged to?
2023-10-22 13:01:21 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 13:09:45 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 13:20:06 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds)
2023-10-22 13:21:09 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 13:25:35 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 13:33:07 +0200 <liskin> #xmonad at irc.libera.chat
2023-10-22 13:55:07 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 14:01:00 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 14:14:52 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 14:20:36 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 14:21:58 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 14:27:48 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 14:40:35 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 14:46:05 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds)
2023-10-22 14:48:38 +0200 <xmonadtrack> New xmonad-contrib branch created: pull/837 (1 commit) https://github.com/xmonad/xmonad-contrib/pull/837
2023-10-22 14:49:13 +0200 <haskellbridge> <T​ranquil Ity> Ah, is that IRC channel the main comms place?
2023-10-22 14:58:22 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 15:04:19 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 252 seconds)
2023-10-22 15:16:30 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 15:22:28 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 252 seconds)
2023-10-22 15:22:58 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 15:29:04 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 252 seconds)
2023-10-22 15:30:46 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 15:33:25 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Client Quit)
2023-10-22 15:34:42 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 15:50:28 +0200 <haskellbridge> <S​olid> At least most maintainers seem to prefer IRC over matrix
2023-10-22 15:50:41 +0200 <haskellbridge> <S​olid> but since the channels are bridged it does not matter much, I think
2023-10-22 16:20:34 +0200 <liskin> It degrades the experience somewhat now that it's not a puppeting bridge, so tab completion and coloring of nicks doesn't work for those on the other side, but information flows both ways
2023-10-22 16:47:13 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 16:57:40 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 17:24:23 +0200 <haskellbridge> <T​ranquil Ity> Why is it not a puppeting bridge? Personally I'd connect over IRC if it was on smth decent like oftc.net, instead of libera.chat
2023-10-22 17:38:44 +0200 <geekosaur> because that would require me to be able to run a Matrix homeserver accessible over the Internet
2023-10-22 17:39:13 +0200 <geekosaur> the whole building I'm in is behind a firewall and they won't open holes in it for tenants
2023-10-22 17:39:32 +0200 <haskellbridge> <T​ranquil Ity> Ah, is a VPS proxy out of the question?
2023-10-22 17:39:40 +0200 <geekosaur> currently yes
2023-10-22 17:39:49 +0200 <haskellbridge> <T​ranquil Ity> (They cost around $5 per month)
2023-10-22 17:39:50 +0200 <haskellbridge> <T​ranquil Ity> Ah
2023-10-22 17:40:15 +0200 <geekosaur> really we're hoping the EMS bridge will come back at some point
2023-10-22 17:40:36 +0200 <haskellbridge> <T​ranquil Ity> EMS?
2023-10-22 17:41:02 +0200 <geekosaur> Element Matrix Services, who ran the old bridge
2023-10-22 17:41:39 +0200 <haskellbridge> <T​ranquil Ity> Ah
2023-10-22 17:41:50 +0200 <geekosaur> Libera staffers asked them to shut it down at the end of July because of security and privacy issues that needed to be fixed
2023-10-22 17:42:33 +0200 <haskellbridge> <T​ranquil Ity> What's the reason libera is in use, as opposed to more accessible and privacy friendly servers?
2023-10-22 17:43:29 +0200 <geekosaur> also there's more than just the VPS involved in setting that up, I would have to negotiate with both Libera and Matrix staff to get higher limits on e.g. identities per IP address so puppeting would work
2023-10-22 17:43:44 +0200 <geekosaur> and Matrix isn't real responsive right now
2023-10-22 17:44:03 +0200 <haskellbridge> <T​ranquil Ity> Wait, why would you need to discuss things with Matrix staff?
2023-10-22 17:44:44 +0200 <geekosaur> rate limiting, limits on Matrix IDs per address
2023-10-22 17:45:02 +0200 <haskellbridge> <T​ranquil Ity> I don't follow, what imposes those limits?
2023-10-22 17:45:25 +0200 <geekosaur> they limit these things so a rogue server can't take down all of Matrix by spamming homeservers
2023-10-22 17:45:50 +0200 <haskellbridge> <T​ranquil Ity> I am not aware of a limiting mechanism implemented in Matrix that the Matrix staff has access to
2023-10-22 17:46:18 +0200 <haskellbridge> <T​ranquil Ity> Is it maybe a matrix.org issue?
2023-10-22 17:48:24 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 245 seconds)
2023-10-22 17:50:08 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 17:52:39 +0200 <geekosaur> oh, hm, I'm looking at the matterbridge docs and it doesn't support this for matrix anyway
2023-10-22 17:52:51 +0200 <geekosaur> must have been one of the other bridges that supported being an appserver
2023-10-22 17:56:28 +0200 <haskellbridge> <T​ranquil Ity> Ah
2023-10-22 17:56:29 +0200 <haskellbridge> <T​ranquil Ity> It might've been a matrix.org issue, as matrix.org is known for being uncooperative with the rest of the userbase
2023-10-22 17:57:13 +0200 <geekosaur> I presume it is matrix.org, I can say for certain matterbridge periodically complains that it is being rate-limited
2023-10-22 17:57:46 +0200 <geekosaur> (I'm bridging 5 channels currently)
2023-10-22 17:58:26 +0200 <geekosaur> would apparently have to switch to heisenbridge to get appserver and puppeting functionality
2023-10-22 17:58:50 +0200 <geekosaur> I really hope to be out of this business by that point 🙂 running all of this on my little laptop
2023-10-22 19:42:48 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 19:47:44 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 19:57:11 +0200catman(~catman@user/catman)
2023-10-22 20:30:20 +0200 <haskellbridge> <T​ranquil Ity> Oh man, that sounds horrible
2023-10-22 20:30:21 +0200 <haskellbridge> <T​ranquil Ity> I host quite a few servers as I have the hardware for it, I could see if I can get a matrix <-> IRC puppet bridge as a service set up (though I would be unable to test on libera.chat as it doesn't allow me to connect with my regular IRC setup) that could be utilized here (would be a good way to test it) so that your poor laptop doesn't have to suffer anymore :D
2023-10-22 20:30:22 +0200 <haskellbridge> <T​ranquil Ity> The main reason I joined here was to ask about https://discourse.haskell.org/t/xmonad-for-wayland-call-for-help/7812 . Personally, I have experience with X11 development and low-level Linux stuff, and have a basic idea of how to make a wayland compositor. I would be interested in hearing about the details. I do not use XMonad personally, as I didn't have time to give it a
2023-10-22 20:30:22 +0200 <haskellbridge> proper <clipped message>
2023-10-22 20:30:23 +0200 <haskellbridge> <T​ranquil Ity> go, but I am a big fan of Haskell. I am unsure if I'd be helpful, but working on a WL compositor written and extensible by Haskell would be a really fun project for me, as it seems like the best way to explore the combo of Haskell + configurable WL compositor.
2023-10-22 20:31:58 +0200 <geekosaur> we'd actually expect that bindings to something like wlroots would be used; writing a whole compositor in Haskell seems like an even bigger job
2023-10-22 20:38:56 +0200 <haskellbridge> <g​alactic_starfish> Frankly, this is the thing we need! Not necessarily an entire compositor in haskell... Though that would be cool... But I'm starting to get nervous about using XMonad as my daily driver given all the wayland goodness I'm seeing out there, and applications are starting to move too...
2023-10-22 20:42:33 +0200 <haskellbridge> <T​ranquil Ity> I'd be happy to try! I think I would write low level modules in C, Rust, Zig or C++, and use Haskell to bind them together
2023-10-22 20:42:34 +0200 <haskellbridge> <T​ranquil Ity> I am unsure about the exact architecture that should be used. I really like an architecture of what I call "polytilers", aka nested layouts with containers. I think there's an Xmonad module to do that, but I am not sure how the Xmonad architecture works.
2023-10-22 20:42:35 +0200 <haskellbridge> <T​ranquil Ity> Since it would have to be a WL compositor, it would also need to include graphics configurations, such as shadow rendering, or blurring. I really, *REALLY* wanna write SPIR-V shaders (gonna use Vulkan for the renderer) in Haskell, though I do not know the compiler basically at all, so I have no clue how to approach that.
2023-10-22 20:47:04 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds)
2023-10-22 20:58:39 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 21:03:33 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds)
2023-10-22 21:09:38 +0200Benzi-Junior(~BenziJuni@88-149-64-112.du.xdsl.is) (Quit: ZNC 1.8.2 - https://znc.in)
2023-10-22 21:12:09 +0200Benzi-Junior(~BenziJuni@88-149-64-112.du.xdsl.is)
2023-10-22 21:14:27 +0200 <liskin> I'd actually prefer if the compositor part of things was Rust or Zig, and Haskell (its runtime) wasn't involved at all
2023-10-22 21:15:16 +0200 <liskin> what's wrong with libera btw? that's where most people went when freenode went under, so we didn't even consider moving anywhere else
2023-10-22 21:15:40 +0200 <geekosaur> the cool kids use discord
2023-10-22 21:16:05 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 21:16:47 +0200 <liskin> does that make me a cool kid?
2023-10-22 21:19:54 +0200 <haskellbridge> <T​ranquil Ity> Not sure I follow what do you mean by the compositor part, do you mean that Haskell should be used for config only, and the rest of the application should be written in smth else?
2023-10-22 21:19:55 +0200 <haskellbridge> <T​ranquil Ity> I am unable to connect to libera as they block Tor, which I use for IRC
2023-10-22 21:19:56 +0200 <haskellbridge> <T​ranquil Ity> I prefer Matrix over all else as it's a really competent protocol that still remains very simple (and in my opinion simpler to actually *interact with* than IRC, less ambiguity)
2023-10-22 21:21:42 +0200 <geekosaur> https://libera.chat/guides/connect#accessing-liberachat-via-tor
2023-10-22 21:22:24 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 272 seconds)
2023-10-22 21:22:34 +0200 <geekosaur> tl;dr: use their Tor endpoint and auth via SASL
2023-10-22 21:23:00 +0200 <geekosaur> MapAddress palladium.libera.chat libera75jm6of4wxpxt4aynol3xjmbtxgfyjpu34ss4d7r7q2v5zrpyd.onion
2023-10-22 21:23:18 +0200 <geekosaur> oh, specifically pubkey SASL, not PLAIN
2023-10-22 21:24:20 +0200 <haskellbridge> <T​ranquil Ity> Did they change something recently? Last time I tried it at the start of this year, it was a broken cycle of *if you want to register you need to register*
2023-10-22 21:26:41 +0200 <geekosaur> I think you need to do something silly like use webchat to initially connect and register
2023-10-22 21:28:08 +0200 <haskellbridge> <T​ranquil Ity> Iirc webchat blocked registration through Tor
2023-10-22 21:32:06 +0200 <geekosaur> hm. Guess you'll have to discuss it with them (in #libera); the instructions for setting up a cert indeed assume you have created an account some other way first, which would preclude Tor
2023-10-22 21:33:12 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 21:37:56 +0200 <haskellbridge> <T​ranquil Ity> Hard to access #libera without being able to access libera.chat :D
2023-10-22 21:37:57 +0200 <haskellbridge> <T​ranquil Ity> A few people told me "it's to prevent spam", or something like that, which, frankly, I do not think is a valid reason to prevent people from accessing the service fully anonymously, and only allowing it for users that at least once accessed it non anonymously.
2023-10-22 21:37:58 +0200 <haskellbridge> <T​ranquil Ity> Personally I find it a bit shady, especially the way it's not clear from their documentation that it's the case, and overall, I am not a fan of this way of doing things. Blocking Tor is always a huge red flag for any service. Why do they want my home IP? Why do they wanna know where I live?What do they need it for?
2023-10-22 21:39:21 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 21:50:14 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 21:56:11 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 255 seconds)
2023-10-22 22:09:53 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 22:15:14 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds)
2023-10-22 22:26:52 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 22:27:47 +0200 <liskin> They probably don't care about any of that.
2023-10-22 22:28:15 +0200 <liskin> It just makes it easier to fight spam if they don't go the extra mile to allow fully anonymous access.
2023-10-22 22:29:46 +0200 <liskin> Back to the Wayland question - no I don't mean just config in Haskell. I mean the whole window manager as a separate process, written in Haskell, talking to a compositor written in a non-GC language, using some sort of protocol we'd need to invent for it
2023-10-22 22:30:47 +0200 <liskin> Perhaps the non-GC thing isn't that I much of a requirement, dunno, but the separate process thing seems useful
2023-10-22 22:31:34 +0200 <liskin> You want to be able to restart the WM when tweaking your config without having to restart the compositor, and thus your entire graphical session
2023-10-22 22:31:36 +0200 <geekosaur> sadly I'm not sure that is possible in Wayland's permissions model. some things a WM needs are only accessible by the compositor, apparently
2023-10-22 22:31:53 +0200 <liskin> geekosaur: it's absolutely possible
2023-10-22 22:32:12 +0200 <liskin> If you program the compositor you can do literally everything you want
2023-10-22 22:32:30 +0200 <haskellbridge> <T​ranquil Ity> Hmm, I think it might be possible to dynamically load the config as a shared library rather than as a process
2023-10-22 22:32:52 +0200 <haskellbridge> <T​ranquil Ity> Would be faster to do things + would allow for quick reloads
2023-10-22 22:33:08 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds)
2023-10-22 22:33:19 +0200 <liskin> If you don't mind the occasional crash then yeah, you could do that
2023-10-22 22:33:20 +0200 <haskellbridge> <T​ranquil Ity> (Also the entire compositor can be replaced in in-place with some Wayland protocol apparently)
2023-10-22 22:33:39 +0200 <haskellbridge> <T​ranquil Ity> Can probably catch a crash I think
2023-10-22 22:33:45 +0200 <liskin> Oh, did they already solve the restart issue?
2023-10-22 22:34:00 +0200 <haskellbridge> <T​ranquil Ity> There's been talk about it last year
2023-10-22 22:34:09 +0200 <liskin> Yeah, talk I've seen
2023-10-22 22:34:42 +0200 <haskellbridge> <T​ranquil Ity> A protocol exists, which has been getting implemented into major DEs
2023-10-22 22:34:43 +0200 <haskellbridge> <T​ranquil Ity> I am unsure of the current state, I presume it's resolved, as sway can restart in place for example
2023-10-22 22:35:20 +0200 <liskin> That does make things easier then
2023-10-22 22:35:44 +0200 <haskellbridge> <T​ranquil Ity> I will look into that I guess, though I think the only use would be updating without needing to restart the session, as crashes should be catchable if I am not mistaken
2023-10-22 22:36:18 +0200catman(~catman@user/catman) (Quit: WeeChat 4.2.0-dev)
2023-10-22 22:36:41 +0200catman(~catman@user/catman)
2023-10-22 22:37:03 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 22:37:31 +0200 <liskin> You're not meant to catch a SEGV really
2023-10-22 22:38:23 +0200 <liskin> And what happens if you evaluate error/undefined in Haskell being called from C, I don't know. Presumably you could wrap everything in a wrapper that does catch that
2023-10-22 22:39:10 +0200 <liskin> I still don't quite understand why don't we just use a separate process. It's how Unix stuff was meant to work, for decades now
2023-10-22 22:39:40 +0200 <liskin> It just means using rpc instead of ffi
2023-10-22 22:40:23 +0200 <haskellbridge> <T​ranquil Ity> That is true, but I think it should be fine. It's worth a try, at least.
2023-10-22 22:40:25 +0200 <haskellbridge> <T​ranquil Ity> Unfortunately I never did FFI with HS yet, most of what I did was implementing random small programs.
2023-10-22 22:40:26 +0200 <haskellbridge> <T​ranquil Ity> Sure, but it has relatively high overhead, for something you want to have as little overhead as possible
2023-10-22 22:41:02 +0200 <haskellbridge> <T​ranquil Ity> It would restrict the protocol architecture quite a lot, without that much benefit, in my opinion
2023-10-22 22:48:55 +0200 <haskellbridge> <T​ranquil Ity> Uploading resources from the Haskell code to the compositor server, for example, would be quite slow, which would complicate the design and implementation of things. I think I want the thing to be as flexible as reasonably possible.
2023-10-22 22:51:31 +0200 <haskellbridge> <T​ranquil Ity> That is true, but I think it should be fine. It's worth a try, at least.
2023-10-22 22:51:31 +0200 <haskellbridge> <T​ranquil Ity> Unfortunately I never did FFI with HS yet, most of what I did was implementing random small programs (a socket server, a parser combinators "library", and two STLC inference algos)
2023-10-22 22:51:33 +0200 <haskellbridge> <T​ranquil Ity> Sure, but it has relatively high overhead, for something you want to have as little overhead as possible
2023-10-22 22:54:25 +0200 <geekosaur> of course these days the things one would think should have low overhead communicate via dbus…
2023-10-22 22:57:23 +0200 <haskellbridge> <T​ranquil Ity> I do not think dragging in any more dependencies than necessary, especially something as heavy and controversial as dbus, is wise
2023-10-22 22:57:24 +0200 <haskellbridge> <T​ranquil Ity> Besides, doesn't dbus use a socket?
2023-10-22 22:58:54 +0200 <liskin> I don't quite agree about the "slow" claim
2023-10-22 23:00:32 +0200 <liskin> In 2012 I implemented a thing that grabbed a full screen image from one X server and draw it on another, as that was the only way to support multi-GPU laptops where some outputs were wired to differents GPUs. You couldn't notice any slowdown.
2023-10-22 23:01:29 +0200 <liskin> Doing a similar thing 10 years later, and also definitely not for every frame, would be unnoticeable.
2023-10-22 23:01:44 +0200 <liskin> And also, shared memory exists.
2023-10-22 23:02:38 +0200 <liskin> Even if we used dbus for the protocol, I bet nobody would notice any slowdown.
2023-10-22 23:02:50 +0200 <liskin> But we could just use the Wayland protocol itself...
2023-10-22 23:03:14 +0200 <liskin> (although that would mean we'd need a Haskell impl of it)
2023-10-22 23:05:10 +0200 <haskellbridge> <T​ranquil Ity> It's slower than direct calls or shm, as it all has to go through the kernel's network stack afaik, and only has access to the ancient read/write.
2023-10-22 23:05:10 +0200 <haskellbridge> <T​ranquil Ity> Ofc it'd need benchmarks and testing.
2023-10-22 23:05:12 +0200 <haskellbridge> <T​ranquil Ity> X11 has shm facilities now, which afaik are used for a lot of things now (high performance rendering included)
2023-10-22 23:05:13 +0200 <haskellbridge> <T​ranquil Ity> Yea, I also thought if that, which is why I think it's better to do a shared lib load. Doing the impl in Haskell is going back to core modules in C, compositor in Haskell. Which will need the in place restart interface I guess. I don't think it should have to be brought down for that though.
2023-10-22 23:05:14 +0200 <haskellbridge> <T​ranquil Ity> Well, I dunno :P
2023-10-22 23:05:16 +0200 <haskellbridge> <T​ranquil Ity> I'll have to head offline now, I'll read any messages in the morning! Was very nice talking, and I am looking forward to this!
2023-10-22 23:07:32 +0200td_(~td@i53870939.versanet.de) (Ping timeout: 272 seconds)
2023-10-22 23:21:45 +0200 <geekosaur> there's a deprecated binding of the C Wayland protocol library, but it's deprecated because the author started on (and apparently never finished) a newer version
2023-10-22 23:22:14 +0200 <geekosaur> of course ideally we'd have a native implementation à la xhb
2023-10-22 23:24:10 +0200td_(~td@i5387091E.versanet.de)
2023-10-22 23:24:13 +0200 <geekosaur> (it looks like waymonad-scanner might generate such bindings? is ongy still around?)
2023-10-22 23:24:21 +0200 <geekosaur> (last commit was in August)
2023-10-22 23:28:40 +0200td_(~td@i5387091E.versanet.de) (Ping timeout: 255 seconds)
2023-10-22 23:42:55 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 264 seconds)
2023-10-22 23:45:23 +0200td_(~td@i5387090E.versanet.de)
2023-10-22 23:50:15 +0200defjam(~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666)
2023-10-22 23:50:56 +0200td_(~td@i5387090E.versanet.de) (Ping timeout: 255 seconds)
2023-10-22 23:52:37 +0200td_(~td@i53870910.versanet.de)