2023-10-22 00:03:09 +0200 | <lally> | :( |
2023-10-22 00:07:20 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 00:18:54 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 272 seconds) |
2023-10-22 00:32:53 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 00:38:05 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds) |
2023-10-22 00:51:56 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 00:57:52 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 252 seconds) |
2023-10-22 01:10:16 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 01:19:52 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 252 seconds) |
2023-10-22 01:21:48 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 01:29:38 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 01:39:42 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 01:44:07 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 264 seconds) |
2023-10-22 02:13:15 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 02:19:05 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds) |
2023-10-22 02:32:11 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 02:38:21 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 02:46:50 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 02:54:04 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 248 seconds) |
2023-10-22 02:58:09 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 03:02:45 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Max SendQ exceeded) |
2023-10-22 03:03:11 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 03:09:46 +0200 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) (Remote host closed the connection) |
2023-10-22 03:11:03 +0200 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) |
2023-10-22 03:18:50 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 255 seconds) |
2023-10-22 03:30:53 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 03:37:23 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 03:39:28 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 03:46:01 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 03:57:11 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 04:02:59 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 245 seconds) |
2023-10-22 04:15:10 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 04:21:08 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds) |
2023-10-22 04:30:39 +0200 | td_ | (~td@i5387091E.versanet.de) (Ping timeout: 240 seconds) |
2023-10-22 04:32:41 +0200 | td_ | (~td@i53870939.versanet.de) |
2023-10-22 04:34:02 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 04:40:16 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 04:43:04 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 04:49:03 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds) |
2023-10-22 05:00:24 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 05:06:22 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds) |
2023-10-22 05:10:59 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 05:46:19 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 245 seconds) |
2023-10-22 05:59:18 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 06:04:53 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 255 seconds) |
2023-10-22 06:16:15 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 06:22:05 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds) |
2023-10-22 06:33:56 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 06:39:55 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 264 seconds) |
2023-10-22 06:51:22 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 07:02:36 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds) |
2023-10-22 07:14:56 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 07:20:36 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds) |
2023-10-22 07:32:29 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 07:38:26 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 272 seconds) |
2023-10-22 07:50:17 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 07:55:48 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 08:07:44 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 08:13:27 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds) |
2023-10-22 08:17:16 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 08:23:08 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 248 seconds) |
2023-10-22 08:34:45 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 08:40:15 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds) |
2023-10-22 08:52:26 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 08:58:52 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 272 seconds) |
2023-10-22 09:11:26 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 09:16:39 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds) |
2023-10-22 09:18:16 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 09:24:21 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds) |
2023-10-22 09:33:38 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 09:35:43 +0200 | todi | (~todi@p4fd1a3e6.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2023-10-22 09:39:31 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 09:51:17 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 09:57:08 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 09:59:39 +0200 | todi | (~todi@p4fd1a3e6.dip0.t-ipconnect.de) |
2023-10-22 10:09:12 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 10:15:06 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 10:19:18 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 10:25:16 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 248 seconds) |
2023-10-22 10:37:28 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 10:43:26 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 255 seconds) |
2023-10-22 10:55:19 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 11:01:00 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 248 seconds) |
2023-10-22 11:11:24 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 11:16:56 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 11:19:57 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 11:26:16 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 11:33:51 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 11:39:35 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds) |
2023-10-22 11:51:42 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 11:57:41 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds) |
2023-10-22 12:09:04 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 12:14:47 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 255 seconds) |
2023-10-22 12:18:26 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 12:33:41 +0200 | <haskellbridge> | <Tranquil Ity> Where is this room bridged to? |
2023-10-22 13:01:21 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 13:09:45 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 13:20:06 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds) |
2023-10-22 13:21:09 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 13:25:35 +0200 | defjam | (~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 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 14:01:00 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds) |
2023-10-22 14:14:52 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 14:20:36 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds) |
2023-10-22 14:21:58 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 14:27:48 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 240 seconds) |
2023-10-22 14:40:35 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 14:46:05 +0200 | defjam | (~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> | <Tranquil Ity> Ah, is that IRC channel the main comms place? |
2023-10-22 14:58:22 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 15:04:19 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 252 seconds) |
2023-10-22 15:16:30 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 15:22:28 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 252 seconds) |
2023-10-22 15:22:58 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 15:29:04 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 252 seconds) |
2023-10-22 15:30:46 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 15:33:25 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Client Quit) |
2023-10-22 15:34:42 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 15:50:28 +0200 | <haskellbridge> | <Solid> At least most maintainers seem to prefer IRC over matrix |
2023-10-22 15:50:41 +0200 | <haskellbridge> | <Solid> 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 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 16:57:40 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 17:24:23 +0200 | <haskellbridge> | <Tranquil 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> | <Tranquil 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> | <Tranquil Ity> (They cost around $5 per month) |
2023-10-22 17:39:50 +0200 | <haskellbridge> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil Ity> Is it maybe a matrix.org issue? |
2023-10-22 17:48:24 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 245 seconds) |
2023-10-22 17:50:08 +0200 | defjam | (~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> | <Tranquil Ity> Ah |
2023-10-22 17:56:29 +0200 | <haskellbridge> | <Tranquil 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 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 19:47:44 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 19:57:11 +0200 | catman | (~catman@user/catman) |
2023-10-22 20:30:20 +0200 | <haskellbridge> | <Tranquil Ity> Oh man, that sounds horrible |
2023-10-22 20:30:21 +0200 | <haskellbridge> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <galactic_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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds) |
2023-10-22 20:58:39 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 21:03:33 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds) |
2023-10-22 21:09:38 +0200 | Benzi-Junior | (~BenziJuni@88-149-64-112.du.xdsl.is) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-10-22 21:12:09 +0200 | Benzi-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 +0200 | defjam | (~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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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 +0200 | defjam | (~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> | <Tranquil 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> | <Tranquil 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 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 21:37:56 +0200 | <haskellbridge> | <Tranquil Ity> Hard to access #libera without being able to access libera.chat :D |
2023-10-22 21:37:57 +0200 | <haskellbridge> | <Tranquil 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> | <Tranquil 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 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 260 seconds) |
2023-10-22 21:50:14 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 21:56:11 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 255 seconds) |
2023-10-22 22:09:53 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 22:15:14 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 258 seconds) |
2023-10-22 22:26:52 +0200 | defjam | (~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> | <Tranquil 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> | <Tranquil Ity> Would be faster to do things + would allow for quick reloads |
2023-10-22 22:33:08 +0200 | defjam | (~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> | <Tranquil Ity> (Also the entire compositor can be replaced in in-place with some Wayland protocol apparently) |
2023-10-22 22:33:39 +0200 | <haskellbridge> | <Tranquil 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> | <Tranquil 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> | <Tranquil Ity> A protocol exists, which has been getting implemented into major DEs |
2023-10-22 22:34:43 +0200 | <haskellbridge> | <Tranquil 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> | <Tranquil 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 +0200 | catman | (~catman@user/catman) (Quit: WeeChat 4.2.0-dev) |
2023-10-22 22:36:41 +0200 | catman | (~catman@user/catman) |
2023-10-22 22:37:03 +0200 | defjam | (~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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil 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> | <Tranquil Ity> Ofc it'd need benchmarks and testing. |
2023-10-22 23:05:12 +0200 | <haskellbridge> | <Tranquil 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> | <Tranquil 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> | <Tranquil Ity> Well, I dunno :P |
2023-10-22 23:05:16 +0200 | <haskellbridge> | <Tranquil 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 +0200 | td_ | (~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 +0200 | td_ | (~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 +0200 | td_ | (~td@i5387091E.versanet.de) (Ping timeout: 255 seconds) |
2023-10-22 23:42:55 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) (Ping timeout: 264 seconds) |
2023-10-22 23:45:23 +0200 | td_ | (~td@i5387090E.versanet.de) |
2023-10-22 23:50:15 +0200 | defjam | (~defjam@2a02:c7e:2807:b900:50f8:a906:7e67:c666) |
2023-10-22 23:50:56 +0200 | td_ | (~td@i5387090E.versanet.de) (Ping timeout: 255 seconds) |
2023-10-22 23:52:37 +0200 | td_ | (~td@i53870910.versanet.de) |