2025-10-11 00:02:25 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
2025-10-11 00:04:10 +0200 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
2025-10-11 00:05:15 +0200 | ttybitnik | (~ttybitnik@user/wolper) (Ping timeout: 244 seconds) |
2025-10-11 00:07:56 +0200 | ttybitnik | (~ttybitnik@user/wolper) ttybitnik |
2025-10-11 00:09:36 +0200 | Zemy | (~Zemy@syn-072-176-124-082.res.spectrum.com) |
2025-10-11 00:11:22 +0200 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
2025-10-11 00:12:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 00:18:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 00:24:37 +0200 | peterbecich | (~Thunderbi@syn-172-222-148-214.res.spectrum.com) (Ping timeout: 264 seconds) |
2025-10-11 00:28:45 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 00:33:40 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-10-11 00:34:00 +0200 | <haskellbridge> | <Kyle Butt> Tri: It would be more normal to connect and then pass the connection to "testGetRow" |
2025-10-11 00:34:42 +0200 | <haskellbridge> | <Kyle Butt> Tri: If you want the connection to be in a helper, you could do something like "conn <- testConnect" |
2025-10-11 00:35:43 +0200 | <EvanR> | Tri, yes there are standard ways to make your code more modular and useful in more places. Stuff takes a conn as an argument for example |
2025-10-11 00:37:07 +0200 | <EvanR> | any database access is relative to a database connection after all |
2025-10-11 00:38:08 +0200 | <EvanR> | worst case scenario you need a top level helper for a test that access then same code your main app uses |
2025-10-11 00:39:27 +0200 | <haskellbridge> | <Kyle Butt> Tri You could use "bracket" to write a "withConnection" helper that keeps the connection open only inside the body function that accepts the connection as an argument. Similar to "with" in python. |
2025-10-11 00:39:33 +0200 | <EvanR> | as a defacto rule, many programming styles that work in imperative languages or side effecting languages don't work in haskell. Because laziness would make that insane |
2025-10-11 00:40:09 +0200 | <EvanR> | yeah bracket pattern is great, i.e. withConnection |
2025-10-11 00:44:30 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 00:48:41 +0200 | Tri | (~Tri@69.74.159.34) (Ping timeout: 250 seconds) |
2025-10-11 00:48:43 +0200 | weary-traveler | (~user@user/user363627) user363627 |
2025-10-11 00:48:49 +0200 | trickard_ | (~trickard@cpe-50-98-47-163.wireline.com.au) (Ping timeout: 255 seconds) |
2025-10-11 00:49:08 +0200 | trickard_ | (~trickard@cpe-50-98-47-163.wireline.com.au) |
2025-10-11 00:49:33 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-10-11 01:00:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 01:03:08 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-10-11 01:07:02 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 01:10:36 +0200 | Googulator16 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) |
2025-10-11 01:10:38 +0200 | Googulator29 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) (Quit: Client closed) |
2025-10-11 01:12:20 +0200 | Tuplanolla | (~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) (Quit: Leaving.) |
2025-10-11 01:24:34 +0200 | malte | (~malte@mal.tc) (Ping timeout: 260 seconds) |
2025-10-11 01:33:47 +0200 | malte | (~malte@mal.tc) malte |
2025-10-11 01:33:53 +0200 | 040AAE6OC | (~{-d0t-}@user/-d0t-/x-7915216) (Remote host closed the connection) |
2025-10-11 01:34:46 +0200 | _d0t | (~{-d0t-}@user/-d0t-/x-7915216) {-d0t-} |
2025-10-11 01:51:34 +0200 | ttybitnik | (~ttybitnik@user/wolper) (Quit: Fading out...) |
2025-10-11 01:54:21 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 01:59:27 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 02:01:54 +0200 | Inline | (~inline@2a02:8071:57a1:1260:249e:867e:200a:1fb1) (Quit: Leaving) |
2025-10-11 02:06:56 +0200 | <haskellbridge> | <dxtr> Is it possible to move the head of a NonEmpty to the end without too much hassle? |
2025-10-11 02:10:10 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 02:13:46 +0200 | <geekosaur> | it's still a list underneath, so not really. maybe you want a Seq? |
2025-10-11 02:14:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 02:15:37 +0200 | Googulator16 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) (Quit: Client closed) |
2025-10-11 02:15:50 +0200 | Googulator16 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) |
2025-10-11 02:15:58 +0200 | acidjnk | (~acidjnk@p200300d6e71719813d7e95faed4791ef.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2025-10-11 02:16:09 +0200 | <Leary> | % (\(x:|xs) -> prependList xs (singleton x)) (0:|[1,2,3]) |
2025-10-11 02:16:09 +0200 | <yahb2> | 1 :| [2,3,0] |
2025-10-11 02:16:41 +0200 | <Leary> | O(n), but can't be helped. |
2025-10-11 02:17:09 +0200 | <geekosaur> | that's essentially what I meant by "not really" |
2025-10-11 02:17:15 +0200 | <Leary> | I figured. |
2025-10-11 02:25:56 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 02:28:55 +0200 | Zemy | (~Zemy@syn-072-176-124-082.res.spectrum.com) (Remote host closed the connection) |
2025-10-11 02:29:26 +0200 | <haskellbridge> | <iqubic (she/her)> Seq can be empty, but I think there are NonEmpty versions on Hackage |
2025-10-11 02:29:44 +0200 | Zemy | (~Zemy@syn-072-176-124-082.res.spectrum.com) |
2025-10-11 02:29:57 +0200 | <haskellbridge> | <iqubic (she/her)> https://hackage.haskell.org/package/nonempty-containers |
2025-10-11 02:30:16 +0200 | <haskellbridge> | <iqubic (she/her)> jle` wrote that! |
2025-10-11 02:30:31 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 02:32:25 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2025-10-11 02:35:26 +0200 | Googulator16 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) (Quit: Client closed) |
2025-10-11 02:35:40 +0200 | Googulator16 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) |
2025-10-11 02:41:04 +0200 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2025-10-11 02:43:30 +0200 | califax | (~califax@user/califx) califx |
2025-10-11 02:43:44 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 02:45:03 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds) |
2025-10-11 02:45:06 +0200 | ljdarj1 | ljdarj |
2025-10-11 02:48:11 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 02:51:19 +0200 | otto_s | (~user@p5b044f57.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2025-10-11 02:53:20 +0200 | otto_s | (~user@p4ff276b1.dip0.t-ipconnect.de) |
2025-10-11 02:59:06 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 03:05:45 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 03:08:35 +0200 | Zemy_ | (~Zemy@2600:100c:b034:f314:bcd2:e8ff:fec9:ee2f) |
2025-10-11 03:08:41 +0200 | Zemy | (~Zemy@syn-072-176-124-082.res.spectrum.com) (Read error: Connection reset by peer) |
2025-10-11 03:09:25 +0200 | Zemy | (~Zemy@syn-072-176-124-082.res.spectrum.com) |
2025-10-11 03:09:59 +0200 | chenjf | (~chenjf@vmi2417424.contaboserver.net) |
2025-10-11 03:10:35 +0200 | Googulator32 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) |
2025-10-11 03:10:42 +0200 | Googulator16 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) (Quit: Client closed) |
2025-10-11 03:12:49 +0200 | Zemy_ | (~Zemy@2600:100c:b034:f314:bcd2:e8ff:fec9:ee2f) (Ping timeout: 255 seconds) |
2025-10-11 03:15:06 +0200 | califax | (~califax@user/califx) (Ping timeout: 272 seconds) |
2025-10-11 03:15:40 +0200 | califax | (~califax@user/califx) califx |
2025-10-11 03:17:10 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 03:17:31 +0200 | trickard___ | (~trickard@cpe-49-98-47-163.wireline.com.au) |
2025-10-11 03:17:39 +0200 | trickard_ | (~trickard@cpe-50-98-47-163.wireline.com.au) (Ping timeout: 256 seconds) |
2025-10-11 03:22:11 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 03:22:16 +0200 | trickard___ | (~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-10-11 03:27:07 +0200 | <monochrom> | Hrm I've forgotten Seq! I have been coding up operations on polynomials (e.g. multiply two polynomials), I have been using list of coefficients. Maybe I can use Seq of coefficients. |
2025-10-11 03:27:47 +0200 | chenjf | (~chenjf@vmi2417424.contaboserver.net) (Remote host closed the connection) |
2025-10-11 03:28:22 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) |
2025-10-11 03:32:57 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 03:37:44 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 03:38:23 +0200 | Fijxu | (~Fijxu@user/fijxu) (Quit: XD!!) |
2025-10-11 03:39:28 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-10-11 03:39:33 +0200 | <Leary> | monochrom: The advantage of `[]` is that it actually gives you formal power series, not just polynomials. Otherwise, `Vector` should be much better than `Seq`. |
2025-10-11 03:41:10 +0200 | poscat0x04 | (~poscat@user/poscat) (Ping timeout: 256 seconds) |
2025-10-11 03:41:48 +0200 | Fijxu | (~Fijxu@user/fijxu) fijxu |
2025-10-11 03:48:45 +0200 | <monochrom> | Yeah. But my application is finite fields, so I really have finite polynomials. |
2025-10-11 03:48:45 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 03:49:19 +0200 | peterbecich | (~Thunderbi@syn-172-222-148-214.res.spectrum.com) peterbecich |
2025-10-11 03:49:31 +0200 | <monochrom> | So badly finite-field that I can't use hmatrix or LAPACK when I want Gaussian elimination. I don't have floating point numbers, I have integers mod 5 or something. |
2025-10-11 03:53:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 03:54:07 +0200 | Square2 | (~Square@user/square) (Ping timeout: 240 seconds) |
2025-10-11 03:56:34 +0200 | chenjf | (~chenjf@vmi2417424.contaboserver.net) |
2025-10-11 03:57:48 +0200 | chenjf | (~chenjf@vmi2417424.contaboserver.net) (Client Quit) |
2025-10-11 04:04:32 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 04:07:28 +0200 | craunts795335 | (~craunts@136.158.7.194) (Quit: The Lounge - https://thelounge.chat) |
2025-10-11 04:09:07 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-10-11 04:10:45 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out) |
2025-10-11 04:16:35 +0200 | peterbecich | (~Thunderbi@syn-172-222-148-214.res.spectrum.com) (Ping timeout: 256 seconds) |
2025-10-11 04:20:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 04:24:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 04:25:52 +0200 | FANTOM | (~fantom@87.75.184.126) (Ping timeout: 256 seconds) |
2025-10-11 04:27:16 +0200 | FANTOM | (~fantom@87.75.184.126) |
2025-10-11 04:27:33 +0200 | a_fantom | (~fantom@87.75.184.126) |
2025-10-11 04:28:29 +0200 | otto_s | (~user@p4ff276b1.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2025-10-11 04:28:36 +0200 | otto_s | (~user@p4ff276b1.dip0.t-ipconnect.de) |
2025-10-11 04:30:17 +0200 | hololeap_ | hololeap |
2025-10-11 04:30:45 +0200 | FANTOM | (~fantom@87.75.184.126) (Ping timeout: 256 seconds) |
2025-10-11 04:31:51 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) (Ping timeout: 244 seconds) |
2025-10-11 04:33:51 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) |
2025-10-11 04:34:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 04:35:37 +0200 | Googulator32 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) (Quit: Client closed) |
2025-10-11 04:35:38 +0200 | Googulator67 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) |
2025-10-11 04:38:55 +0200 | td_ | (~td@i5387093C.versanet.de) (Ping timeout: 240 seconds) |
2025-10-11 04:39:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 04:40:54 +0200 | td_ | (~td@i53870926.versanet.de) td_ |
2025-10-11 04:48:08 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds) |
2025-10-11 04:50:21 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 04:55:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 05:04:46 +0200 | trickard_ | trickard |
2025-10-11 05:05:17 +0200 | aforemny | (~aforemny@i59F4C6B1.versanet.de) aforemny |
2025-10-11 05:05:17 +0200 | synchromesh | (~john@2406:5a00:2412:2c00:1881:a25e:91ca:8c94) (Read error: Connection reset by peer) |
2025-10-11 05:05:53 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 05:06:26 +0200 | aforemny_ | (~aforemny@2001:9e8:6cdc:7400:c4e0:1427:f8a3:145a) (Ping timeout: 265 seconds) |
2025-10-11 05:06:54 +0200 | synchromesh | (~john@2406:5a00:2412:2c00:d475:2d01:e02a:8ce4) synchromesh |
2025-10-11 05:09:09 +0200 | trickard | (~trickard@cpe-49-98-47-163.wireline.com.au) (Ping timeout: 260 seconds) |
2025-10-11 05:09:30 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) |
2025-10-11 05:10:07 +0200 | Fijxu | (~Fijxu@user/fijxu) (Quit: XD!!) |
2025-10-11 05:10:36 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-10-11 05:10:40 +0200 | Googulator67 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) (Quit: Client closed) |
2025-10-11 05:10:44 +0200 | Googulator73 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) |
2025-10-11 05:16:39 +0200 | polykernel | (~polykerne@user/polykernel) (Remote host closed the connection) |
2025-10-11 05:17:01 +0200 | polykernel | (~polykerne@user/polykernel) polykernel |
2025-10-11 05:21:40 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 05:23:21 +0200 | shapr | (~user@130.44.148.32) (Ping timeout: 250 seconds) |
2025-10-11 05:24:46 +0200 | Fijxu | (~Fijxu@user/fijxu) fijxu |
2025-10-11 05:26:38 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-10-11 05:26:45 +0200 | polykernel_ | (~polykerne@user/polykernel) polykernel |
2025-10-11 05:28:31 +0200 | polykernel | (~polykerne@user/polykernel) (Ping timeout: 240 seconds) |
2025-10-11 05:28:32 +0200 | polykernel_ | polykernel |
2025-10-11 05:32:49 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-10-11 05:35:32 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) |
2025-10-11 05:37:30 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 05:38:10 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-10-11 05:44:08 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 05:46:18 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) |
2025-10-11 05:52:27 +0200 | raym | (~ray@user/raym) (Quit: leaving) |
2025-10-11 06:03:45 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2025-10-11 06:07:57 +0200 | peterbecich | (~Thunderbi@syn-172-222-148-214.res.spectrum.com) peterbecich |
2025-10-11 06:13:36 +0200 | xff0x | (~xff0x@2405:6580:b080:900:bf36:cbe4:ef57:7a58) (Ping timeout: 252 seconds) |
2025-10-11 06:17:42 +0200 | trickard___ | (~trickard@cpe-58-98-47-163.wireline.com.au) |
2025-10-11 06:18:01 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) (Ping timeout: 264 seconds) |
2025-10-11 06:18:12 +0200 | EvanR | (~EvanR@user/evanr) (Ping timeout: 260 seconds) |
2025-10-11 06:19:46 +0200 | EvanR | (~EvanR@user/evanr) EvanR |
2025-10-11 06:25:40 +0200 | Googulator53 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) |
2025-10-11 06:25:45 +0200 | Googulator73 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) (Quit: Client closed) |
2025-10-11 06:26:38 +0200 | xff0x | (~xff0x@2405:6580:b080:900:bf36:cbe4:ef57:7a58) |
2025-10-11 06:29:41 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2025-10-11 06:29:55 +0200 | califax | (~califax@user/califx) califx |
2025-10-11 06:35:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 06:40:31 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 06:41:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 06:46:11 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 06:57:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 07:01:25 +0200 | vetkat | (~vetkat@user/vetkat) (Read error: Connection reset by peer) |
2025-10-11 07:01:48 +0200 | vetkat | (~vetkat@user/vetkat) vetkat |
2025-10-11 07:02:03 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 07:06:25 +0200 | takuan | (~takuan@d8D86B9E9.access.telenet.be) |
2025-10-11 07:12:06 +0200 | trickard___ | (~trickard@cpe-58-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-10-11 07:12:20 +0200 | trickard_ | (~trickard@cpe-58-98-47-163.wireline.com.au) |
2025-10-11 07:12:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 07:15:44 +0200 | Googulator86 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) |
2025-10-11 07:15:44 +0200 | Googulator53 | (~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) (Quit: Client closed) |
2025-10-11 07:17:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 07:26:25 +0200 | jmcantrell | (~weechat@user/jmcantrell) (Quit: WeeChat 4.7.1) |
2025-10-11 07:28:42 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 07:31:26 +0200 | jmcantrell | (~weechat@user/jmcantrell) jmcantrell |
2025-10-11 07:33:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 07:37:23 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 07:43:13 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
2025-10-11 07:54:21 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 07:59:17 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 07:59:44 +0200 | peterbecich | (~Thunderbi@syn-172-222-148-214.res.spectrum.com) (Ping timeout: 240 seconds) |
2025-10-11 08:01:30 +0200 | Pixi__ | Pixi |
2025-10-11 08:06:54 +0200 | sdrfan123 | (~sdrfan123@2607:fb91:370d:6a0a:c891:6e85:e0e1:2042) |
2025-10-11 08:10:08 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 08:15:26 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 08:25:54 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 08:31:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 08:34:13 +0200 | karenw | (~karenw@user/karenw) (Ping timeout: 264 seconds) |
2025-10-11 08:37:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 08:38:24 +0200 | sdrfan123 | (~sdrfan123@2607:fb91:370d:6a0a:c891:6e85:e0e1:2042) (Quit: Client closed) |
2025-10-11 08:40:44 +0200 | trickard_ | trickard |
2025-10-11 08:42:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
2025-10-11 08:53:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 08:55:23 +0200 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 256 seconds) |
2025-10-11 08:58:13 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 09:00:02 +0200 | caconym747879 | (~caconym@user/caconym) (Quit: bye) |
2025-10-11 09:00:44 +0200 | caconym747879 | (~caconym@user/caconym) caconym |
2025-10-11 09:00:47 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-10-11 09:00:56 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-10-11 09:02:32 +0200 | tromp | (~textual@2001:1c00:3487:1b00:409c:634b:fec4:4fe) |
2025-10-11 09:09:11 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 09:10:31 +0200 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
2025-10-11 09:12:57 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2025-10-11 09:13:55 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-10-11 09:14:10 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
2025-10-11 09:14:10 +0200 | synchromesh | (~john@2406:5a00:2412:2c00:d475:2d01:e02a:8ce4) (Read error: Connection reset by peer) |
2025-10-11 09:15:35 +0200 | synchromesh | (~john@2406:5a00:2412:2c00:d475:2d01:e02a:8ce4) synchromesh |
2025-10-11 09:17:58 +0200 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2025-10-11 09:24:59 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 09:31:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 09:34:52 +0200 | fgarcia | (~lei@user/fgarcia) fgarcia |
2025-10-11 09:38:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 09:43:21 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
2025-10-11 09:54:04 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 09:59:25 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 10:09:57 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 10:14:43 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 10:21:50 +0200 | ell | (~ellie@user/ellie) (Quit: Leaving) |
2025-10-11 10:25:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 10:25:43 +0200 | Awoobis | gAy_Dragon |
2025-10-11 10:25:52 +0200 | gAy_Dragon | Awoobis |
2025-10-11 10:28:17 +0200 | tromp | (~textual@2001:1c00:3487:1b00:409c:634b:fec4:4fe) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-10-11 10:30:35 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 10:36:07 +0200 | target_i | (~target_i@user/target-i/x-6023099) target_i |
2025-10-11 10:37:10 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Ping timeout: 272 seconds) |
2025-10-11 10:38:55 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) chiselfuse |
2025-10-11 10:39:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 10:42:04 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) (Quit: Client closed) |
2025-10-11 10:44:07 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 10:45:10 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2025-10-11 10:46:18 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2025-10-11 10:49:39 +0200 | gustrb | (~gustrb@191.243.134.87) (Ping timeout: 250 seconds) |
2025-10-11 10:55:06 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 10:55:55 +0200 | Guest61 | (~Guest61@2001:ee0:1c20:a713:30e8:a284:4714:899b) |
2025-10-11 10:56:29 +0200 | <Guest61> | hi |
2025-10-11 10:58:21 +0200 | fp | (~Thunderbi@88-148-151-151.bb.dnainternet.fi) fp |
2025-10-11 10:59:09 +0200 | Guest61 | (~Guest61@2001:ee0:1c20:a713:30e8:a284:4714:899b) (Client Quit) |
2025-10-11 11:00:14 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-10-11 11:02:56 +0200 | Tuplanolla | (~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) Tuplanolla |
2025-10-11 11:03:28 +0200 | Guest61 | (~Guest61@2001:ee0:1c20:a713:30e8:a284:4714:899b) |
2025-10-11 11:03:59 +0200 | Guest61 | (~Guest61@2001:ee0:1c20:a713:30e8:a284:4714:899b) (Client Quit) |
2025-10-11 11:07:10 +0200 | acidjnk | (~acidjnk@p200300d6e7171999c518e6c9e9251b6b.dip0.t-ipconnect.de) acidjnk |
2025-10-11 11:07:26 +0200 | fp | (~Thunderbi@88-148-151-151.bb.dnainternet.fi) (Remote host closed the connection) |
2025-10-11 11:08:01 +0200 | trickard | (~trickard@cpe-58-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-10-11 11:08:15 +0200 | trickard_ | (~trickard@cpe-58-98-47-163.wireline.com.au) |
2025-10-11 11:10:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 11:13:00 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-10-11 11:17:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 11:20:29 +0200 | rvalue- | (~rvalue@about/hackers/rvalue) rvalue |
2025-10-11 11:21:37 +0200 | rvalue | (~rvalue@about/hackers/rvalue) (Ping timeout: 264 seconds) |
2025-10-11 11:27:56 +0200 | rvalue- | rvalue |
2025-10-11 11:28:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 11:32:29 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2025-10-11 11:33:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-10-11 11:36:52 +0200 | inline | (~inline@2a02:8071:57a1:1260:701b:808b:8c6f:3395) Inline |
2025-10-11 11:40:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 11:40:36 +0200 | chromoblob | (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
2025-10-11 11:40:46 +0200 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
2025-10-11 11:42:28 +0200 | trickard_ | (~trickard@cpe-58-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-10-11 11:42:42 +0200 | trickard_ | (~trickard@cpe-58-98-47-163.wireline.com.au) |
2025-10-11 11:44:55 +0200 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds) |
2025-10-11 11:45:18 +0200 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
2025-10-11 11:45:23 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 11:47:28 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Ping timeout: 272 seconds) |
2025-10-11 11:48:09 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 250 seconds) |
2025-10-11 11:49:09 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) chiselfuse |
2025-10-11 11:49:19 +0200 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds) |
2025-10-11 11:53:16 +0200 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection) |
2025-10-11 11:54:10 +0200 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) flukiluke |
2025-10-11 11:54:21 +0200 | tromp | (~textual@2001:1c00:3487:1b00:409c:634b:fec4:4fe) |
2025-10-11 11:56:05 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 12:01:07 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
2025-10-11 12:11:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 12:16:33 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 12:26:34 +0200 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection) |
2025-10-11 12:26:54 +0200 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) flukiluke |
2025-10-11 12:27:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 12:32:25 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
2025-10-11 12:37:41 +0200 | jespada | (~jespada@2800:a4:235c:ac00:7055:4dec:d47b:1a6e) jespada |
2025-10-11 12:41:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 12:44:36 +0200 | nckx | (~nckx@libera/staff/owl/nckx) (Ping timeout: 256 seconds) |
2025-10-11 12:46:51 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-10-11 12:50:42 +0200 | <[exa]> | tomsmeding: just curious, how much memory does the paste.tomsmeding.com thingy occupy normally? I wanted to deploy it on a tiny VM so kinda wondering if it's gonna get it OOM'd |
2025-10-11 12:51:43 +0200 | <tomsmeding> | [exa]: uh, it's currently at 1.8M RES |
2025-10-11 12:51:48 +0200 | <tomsmeding> | I can monitor it for a while if you want |
2025-10-11 12:51:55 +0200 | <tomsmeding> | no |
2025-10-11 12:51:58 +0200 | <tomsmeding> | I lie |
2025-10-11 12:52:02 +0200 | <tomsmeding> | 42.8M RES |
2025-10-11 12:52:11 +0200 | <tomsmeding> | the 1.8M is the bash script that launches it. lol |
2025-10-11 12:52:14 +0200 | <[exa]> | sounds okay |
2025-10-11 12:52:36 +0200 | <[exa]> | like, I expect it's gonna spike randomly at some point but occasional OOM kill is m'kay |
2025-10-11 12:52:37 +0200 | <tomsmeding> | it doesn't do very much |
2025-10-11 12:52:48 +0200 | <tomsmeding> | why would it spike? |
2025-10-11 12:52:57 +0200 | <tomsmeding> | if you DOS it then it'll spike I guess, yeah |
2025-10-11 12:53:13 +0200 | <[exa]> | no idea... I got forgejo on the same server and that one spikes :D |
2025-10-11 12:53:23 +0200 | <tomsmeding> | this thing does almost nothing |
2025-10-11 12:53:31 +0200 | <[exa]> | but mainly because of being DoSed by llm folk |
2025-10-11 12:53:36 +0200 | <tomsmeding> | yeah |
2025-10-11 12:53:43 +0200 | <[exa]> | are there any safeguards (ratelimit etc?) |
2025-10-11 12:53:49 +0200 | <tomsmeding> | no |
2025-10-11 12:54:15 +0200 | <tomsmeding> | if you have any sensible ideas for how to add those safeguards, please tell me |
2025-10-11 12:54:16 +0200 | <[exa]> | I might send a PR if I decide |
2025-10-11 12:54:42 +0200 | <tomsmeding> | IP-based is pointless in a world with cgNAT and IPv6 |
2025-10-11 12:54:53 +0200 | <tomsmeding> | and absent accounts there's little else I can do |
2025-10-11 12:55:04 +0200 | <tomsmeding> | but read access is stupid fast, it's just reads from a sqlite db |
2025-10-11 12:55:13 +0200 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
2025-10-11 12:55:23 +0200 | <[exa]> | yeah the main point is to avoid people from overfilling it with nonsense |
2025-10-11 12:55:34 +0200 | <tomsmeding> | I know |
2025-10-11 12:55:43 +0200 | <tomsmeding> | as I said, please do enlighten me if you have good ideas |
2025-10-11 12:55:59 +0200 | gustrb | (~gustrb@191.243.134.87) |
2025-10-11 12:56:02 +0200 | <[exa]> | if you did traffic scheduling, there's SFQ and TBF algorithms and these pretty much do it |
2025-10-11 12:56:19 +0200 | <tomsmeding> | is that network-level? |
2025-10-11 12:56:23 +0200 | <[exa]> | (man 8 tc-sfq tc-tbf) |
2025-10-11 12:56:29 +0200 | <tomsmeding> | right |
2025-10-11 12:56:31 +0200 | <[exa]> | that's for packets but generally applicable to anything |
2025-10-11 12:56:43 +0200 | <[exa]> | I'd just reimplement on the incoming pastes |
2025-10-11 12:57:01 +0200 | nckx | (~nckx@libera/staff/owl/nckx) nckx |
2025-10-11 12:57:09 +0200 | <tomsmeding> | but how does that prevent someone from spawning 1e9 POSTs from a VPS with >1e9 IPv6 addresses? |
2025-10-11 12:57:23 +0200 | <tomsmeding> | I guess IP-based rate limiting raises the effort floor a little bit |
2025-10-11 12:57:38 +0200 | <[exa]> | you cut the v6 addresses on prefix usually |
2025-10-11 12:58:32 +0200 | <tomsmeding> | if you know something about this and have time to implement it, feel free :p |
2025-10-11 12:58:44 +0200 | <tomsmeding> | I'm more concerned about the playground, honestly |
2025-10-11 12:59:16 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 12:59:17 +0200 | <tomsmeding> | there's little I can do there with run requests, because I don't want to make, say, a school class behind a NAT ratelimit each other |
2025-10-11 12:59:34 +0200 | <tomsmeding> | but if you hack something for pastes then the same could apply for saves perhaps |
2025-10-11 13:00:04 +0200 | caconym747879 | (~caconym@user/caconym) (Quit: bye) |
2025-10-11 13:00:32 +0200 | gustrb | (~gustrb@191.243.134.87) (Ping timeout: 240 seconds) |
2025-10-11 13:00:38 +0200 | <tomsmeding> | [exa]: what do you want to use the thing for? |
2025-10-11 13:02:07 +0200 | caconym747879 | (~caconym@user/caconym) caconym |
2025-10-11 13:02:13 +0200 | <tomsmeding> | [exa]: I may be misunderstanding, but isn't stuff like SFQ for DOS protection on the network level? |
2025-10-11 13:02:29 +0200 | <tomsmeding> | if you saturate the network with paste store POST requests, disk will be full within, like, 10 seconds |
2025-10-11 13:03:33 +0200 | <tomsmeding> | for something like this to be useful as rate limiter on writes, you'd need to set a limit on bandwidth that is RIDICULOUSLY low in the context of normal network traffic management |
2025-10-11 13:04:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 13:04:11 +0200 | <tomsmeding> | and that doesn't sound like a good idea |
2025-10-11 13:04:43 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 256 seconds) |
2025-10-11 13:06:34 +0200 | chromoblob | (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
2025-10-11 13:06:54 +0200 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
2025-10-11 13:08:14 +0200 | <tomsmeding> | [exa]: I wrote this at some point but then as I said, I took it out because it's not helpful as-is https://github.com/haskell/play-haskell/blob/master/snap-server-utils/src/Snap/Server/Utils/SpamDe… |
2025-10-11 13:12:41 +0200 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2025-10-11 13:15:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 13:19:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 13:21:49 +0200 | fp | (~Thunderbi@37-33-224-33.bb.dnainternet.fi) fp |
2025-10-11 13:22:56 +0200 | <[exa]> | tomsmeding: yeah SFQ makes a rate limiter which doesn't cut off everyone in case the rate is hit |
2025-10-11 13:23:36 +0200 | <[exa]> | TBF alg is a rate limiter which does the cutoff above certain rate, but there's a "burst" allowed which helps to prevent stuff like "you sent 1 api call, now wait 10 seconds!" |
2025-10-11 13:23:51 +0200 | <tomsmeding> | right |
2025-10-11 13:23:55 +0200 | <[exa]> | anyway in this case you might like tarpitting, that's from e-mail and makes wonders :D |
2025-10-11 13:24:51 +0200 | <tomsmeding> | the thing I linked just now is a strictly per-IP rate limiter that works by accumulating a "spam score" per IP address that decreases exponentially and has a certain limit; if it comes above that limit, the request is rejected |
2025-10-11 13:24:57 +0200 | <[exa]> | you KINDA have a tarpit there already ("but the account is still incremented"), the idea of tarpitting is that the "still incremented" increments more if people ignore the fact they've been ratelimited |
2025-10-11 13:24:59 +0200 | fp | (~Thunderbi@37-33-224-33.bb.dnainternet.fi) (Client Quit) |
2025-10-11 13:25:07 +0200 | <tomsmeding> | that results in a burst allowance, but bursting makes you need to wait longer |
2025-10-11 13:25:18 +0200 | fp | (~Thunderbi@37-33-224-33.bb.dnainternet.fi) fp |
2025-10-11 13:25:26 +0200 | <tomsmeding> | works nicely but the per-IP nature makes it suck |
2025-10-11 13:25:42 +0200 | <tomsmeding> | ah |
2025-10-11 13:26:02 +0200 | <[exa]> | yap that's essentially TBF; you can hash the source IPs to say 1024 buckets and you have SFQ on top of that, and it's hard to do anything much better |
2025-10-11 13:26:40 +0200 | <[exa]> | re ipv6 problem -- just take the part of the address that people can't fake easily (like a first third or so) |
2025-10-11 13:26:50 +0200 | <tomsmeding> | what about false positives? |
2025-10-11 13:26:52 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-10-11 13:27:10 +0200 | <tomsmeding> | I guess for a pastebin that's not so deadly |
2025-10-11 13:27:31 +0200 | <[exa]> | show nice error message, you can't do anything. SFQ is there exactly to limit the impact of the false positives |
2025-10-11 13:28:00 +0200 | <tomsmeding> | SFQ gives you a probability to still get through even if you're rate-limited? |
2025-10-11 13:28:12 +0200 | <[exa]> | (maybe I sholdn't call this SFQ in this context since you essentially don't queue stuff, this is just buckets) |
2025-10-11 13:28:36 +0200 | <[exa]> | yeah with SFQ if there's a ratelimited IP(or bucket), the other buckets are unaffected |
2025-10-11 13:28:58 +0200 | <tomsmeding> | no what I mean with false positives is that with IP-based bucketing, you're going to bucket bucketloads (heh) of people in the same bucket |
2025-10-11 13:29:13 +0200 | <[exa]> | ah yes that's unavoidable |
2025-10-11 13:29:20 +0200 | <tomsmeding> | schools with NAT, ISPs with cgNAT or handing out small IPv6 prefixes |
2025-10-11 13:29:23 +0200 | <[exa]> | but everyone does that (even google) and it's OK |
2025-10-11 13:29:42 +0200 | <tomsmeding> | s/small/long/ |
2025-10-11 13:30:06 +0200 | <[exa]> | the usual solution is to require a bit more auth at that point (captcha?) |
2025-10-11 13:30:14 +0200 | <tomsmeding> | right |
2025-10-11 13:30:18 +0200 | <[exa]> | which humans do without issues but computers go sad |
2025-10-11 13:30:26 +0200 | <tomsmeding> | that's doubtful these days |
2025-10-11 13:30:33 +0200 | <[exa]> | s/computers/cheap scriptkiddies scripts/ |
2025-10-11 13:30:34 +0200 | <tomsmeding> | but might raise the effort level a bit |
2025-10-11 13:30:35 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 13:30:38 +0200 | <tomsmeding> | yeah |
2025-10-11 13:30:49 +0200 | <[exa]> | yeah effort level is exactly the metric :) |
2025-10-11 13:30:56 +0200 | <tomsmeding> | also humans go sad but well |
2025-10-11 13:31:03 +0200 | <[exa]> | people spam for money, if the effort overcomes the possible income, spam is over |
2025-10-11 13:31:15 +0200 | <tomsmeding> | people don't spam a pastebin for money |
2025-10-11 13:31:20 +0200 | <tomsmeding> | what money where |
2025-10-11 13:31:33 +0200 | <[exa]> | pastebin is free storage for botnets |
2025-10-11 13:31:52 +0200 | <tomsmeding> | do they need gobs of that, though? |
2025-10-11 13:32:22 +0200 | <[exa]> | like the last time I was fighting this stuff was ~2016 but yes, the more the better |
2025-10-11 13:32:25 +0200 | fp | (~Thunderbi@37-33-224-33.bb.dnainternet.fi) (Ping timeout: 264 seconds) |
2025-10-11 13:34:48 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
2025-10-11 13:35:20 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 13:35:21 +0200 | <tomsmeding> | now I'm thinking if there's a way to generate fun captchas that require you to do a little proof-of-work by running some haskell code or something |
2025-10-11 13:35:53 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
2025-10-11 13:36:06 +0200 | Lord_of_Life_ | Lord_of_Life |
2025-10-11 13:36:34 +0200 | <tomsmeding> | nah that breaks most of the idea of a captcha |
2025-10-11 13:42:17 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 13:43:18 +0200 | <Franciman> | is there any news in the haskell development world? |
2025-10-11 13:43:29 +0200 | <Franciman> | looks like lobste.rs et similar are mostly focused on ocaml nowadays |
2025-10-11 13:43:42 +0200 | <Franciman> | is ocaml where the big news are at nowadays? |
2025-10-11 13:44:03 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2025-10-11 13:47:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
2025-10-11 13:50:37 +0200 | gustrb | (~gustrb@191.243.134.87) |
2025-10-11 13:51:16 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
2025-10-11 13:54:44 +0200 | <[exa]> | Franciman: mostly discourse.haskell.org for me, and ICFP-related conferences and workshops |
2025-10-11 13:55:03 +0200 | divlamir | (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
2025-10-11 13:55:09 +0200 | gustrb | (~gustrb@191.243.134.87) (Ping timeout: 256 seconds) |
2025-10-11 13:55:18 +0200 | divlamir | (~divlamir@user/divlamir) divlamir |
2025-10-11 13:55:34 +0200 | <[exa]> | also mastodon has tons of haskell people |
2025-10-11 13:55:59 +0200 | inline | (~inline@2a02:8071:57a1:1260:701b:808b:8c6f:3395) (Ping timeout: 250 seconds) |
2025-10-11 13:56:48 +0200 | inline | (~inline@2a02:8071:57a1:1260:71dc:27f0:5cba:6052) Inline |
2025-10-11 13:58:05 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 14:00:46 +0200 | <Franciman> | thanks [exa] |
2025-10-11 14:00:51 +0200 | <Franciman> | https://mrcjkb.dev/posts/2025-10-08-haskell-for-renewables.html this was interesting |
2025-10-11 14:02:36 +0200 | <[exa]> | yeah like, haskell is interesting for anything where you don't want to stress about leaving that one stupid null reference exception that is going to leave you without power eventually, sometime. |
2025-10-11 14:05:25 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
2025-10-11 14:11:58 +0200 | qqe | (~qqq@185.54.23.200) |
2025-10-11 14:13:23 +0200 | craunts795335 | (~craunts@136.158.7.194) |
2025-10-11 14:14:55 +0200 | <Franciman> | [exa]: https://icfp2025.dryfta.com/index.php this icfp? |
2025-10-11 14:15:37 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2025-10-11 14:16:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 14:19:41 +0200 | <[exa]> | that looks like the other ICFP |
2025-10-11 14:19:57 +0200 | <[exa]> | https://icfp25.sigplan.org/ |
2025-10-11 14:21:13 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 14:23:22 +0200 | Square2 | (~Square@user/square) Square |
2025-10-11 14:25:45 +0200 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-10-11 14:26:22 +0200 | YoungFrog | (~youngfrog@2a02:a03f:ca07:f900:2d5d:7f55:c7c2:f488) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in) |
2025-10-11 14:26:42 +0200 | YoungFrog | (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) youngfrog |
2025-10-11 14:29:30 +0200 | gustrb | (~gustrb@191.243.134.87) |
2025-10-11 14:31:56 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 14:33:59 +0200 | tromp | (~textual@2001:1c00:3487:1b00:409c:634b:fec4:4fe) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-10-11 14:34:13 +0200 | gustrb | (~gustrb@191.243.134.87) (Ping timeout: 264 seconds) |
2025-10-11 14:36:31 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 14:40:06 +0200 | srazkvt | (~sarah@user/srazkvt) srazkvt |
2025-10-11 14:42:46 +0200 | tromp | (~textual@2001:1c00:3487:1b00:409c:634b:fec4:4fe) |
2025-10-11 14:43:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 14:48:25 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 14:54:15 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 14:58:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 14:59:11 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 256 seconds) |
2025-10-11 15:08:32 +0200 | jespada | (~jespada@2800:a4:235c:ac00:7055:4dec:d47b:1a6e) (Ping timeout: 256 seconds) |
2025-10-11 15:08:49 +0200 | trickard_ | trickard |
2025-10-11 15:10:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 15:11:56 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-10-11 15:15:03 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 15:15:30 +0200 | gustrb | (~gustrb@191.243.134.87) |
2025-10-11 15:22:59 +0200 | gustrb | (~gustrb@191.243.134.87) (Ping timeout: 256 seconds) |
2025-10-11 15:25:28 +0200 | Zemy_ | (~Zemy@2600:100c:b005:9bc:5813:39ff:fe3f:a5d9) |
2025-10-11 15:25:28 +0200 | Zemy | (~Zemy@syn-072-176-124-082.res.spectrum.com) (Read error: Connection reset by peer) |
2025-10-11 15:25:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 15:26:01 +0200 | Zemy | (~Zemy@syn-072-176-124-082.res.spectrum.com) |
2025-10-11 15:27:17 +0200 | ttybitnik | (~ttybitnik@user/wolper) ttybitnik |
2025-10-11 15:27:34 +0200 | Core6630 | (~Zemy@2600:100c:b005:9bc:40c6:3aff:fe1e:4bf3) |
2025-10-11 15:27:49 +0200 | Zemy_ | (~Zemy@2600:100c:b005:9bc:5813:39ff:fe3f:a5d9) (Read error: Connection reset by peer) |
2025-10-11 15:28:32 +0200 | <tomsmeding> | similar to https://haskellfoundation.org/ vs https://haskell.foundation/ |
2025-10-11 15:30:23 +0200 | <Franciman> | To support the unmet needs of haskell indian nations university |
2025-10-11 15:30:38 +0200 | Zemy | (~Zemy@syn-072-176-124-082.res.spectrum.com) (Ping timeout: 256 seconds) |
2025-10-11 15:30:38 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 15:36:13 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 265 seconds) |
2025-10-11 15:37:07 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2025-10-11 15:41:36 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 15:42:01 +0200 | Zemy | (~Zemy@12.218.191.128) |
2025-10-11 15:46:09 +0200 | Core6630 | (~Zemy@2600:100c:b005:9bc:40c6:3aff:fe1e:4bf3) (Ping timeout: 260 seconds) |
2025-10-11 15:48:28 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-10-11 15:53:57 +0200 | shapr | (~user@130.44.148.32) shapr |
2025-10-11 15:54:38 +0200 | gustrb | (~gustrb@191.243.134.87) |
2025-10-11 15:58:27 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess |
2025-10-11 15:58:46 +0200 | Zemy_ | (~Zemy@2600:100c:b005:9bc:a808:5ff:fe82:1f3d) |
2025-10-11 15:59:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 16:01:13 +0200 | Zemy | (~Zemy@12.218.191.128) (Ping timeout: 264 seconds) |
2025-10-11 16:04:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 16:06:37 +0200 | gustrb | (~gustrb@191.243.134.87) (Ping timeout: 264 seconds) |
2025-10-11 16:15:26 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 16:20:07 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 16:21:00 +0200 | gustrb | (~gustrb@191.243.134.87) |
2025-10-11 16:31:14 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 16:36:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
2025-10-11 16:37:05 +0200 | Zemy | (~Zemy@syn-072-176-124-082.res.spectrum.com) |
2025-10-11 16:39:31 +0200 | jespada | (~jespada@2800:a4:235c:ac00:7055:4dec:d47b:1a6e) jespada |
2025-10-11 16:39:32 +0200 | Zemy_ | (~Zemy@2600:100c:b005:9bc:a808:5ff:fe82:1f3d) (Ping timeout: 265 seconds) |
2025-10-11 16:40:42 +0200 | jespada_ | (~jespada@2800:a4:235c:ac00:7055:4dec:d47b:1a6e) jespada |
2025-10-11 16:43:54 +0200 | jespada | (~jespada@2800:a4:235c:ac00:7055:4dec:d47b:1a6e) (Ping timeout: 252 seconds) |
2025-10-11 16:44:17 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 16:49:41 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-10-11 17:00:06 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 17:04:56 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 17:06:05 +0200 | trickard | (~trickard@cpe-58-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-10-11 17:06:12 +0200 | __monty__ | (~toonn@user/toonn) toonn |
2025-10-11 17:06:18 +0200 | trickard_ | (~trickard@cpe-58-98-47-163.wireline.com.au) |
2025-10-11 17:09:28 +0200 | Square2 | (~Square@user/square) (Remote host closed the connection) |
2025-10-11 17:09:51 +0200 | Square2 | (~Square@user/square) Square |
2025-10-11 17:13:03 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2025-10-11 17:14:31 +0200 | Square2 | (~Square@user/square) (Ping timeout: 240 seconds) |
2025-10-11 17:14:43 +0200 | Arsen | (arsen@gentoo/developer/managarm.dev.Arsen) (Quit: Quit.) |
2025-10-11 17:15:53 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 17:18:37 +0200 | shapr | (~user@130.44.148.32) (Ping timeout: 264 seconds) |
2025-10-11 17:22:07 +0200 | gustrb | (~gustrb@191.243.134.87) (Ping timeout: 240 seconds) |
2025-10-11 17:22:57 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-10-11 17:30:49 +0200 | Zemy_ | (~Zemy@2600:100c:b005:9bc:80c9:dcff:fe83:1f78) |
2025-10-11 17:33:56 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 17:34:13 +0200 | Zemy | (~Zemy@syn-072-176-124-082.res.spectrum.com) (Ping timeout: 264 seconds) |
2025-10-11 17:38:32 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-10-11 17:38:37 +0200 | Zemy | (~Zemy@syn-072-176-124-082.res.spectrum.com) |
2025-10-11 17:41:19 +0200 | Zemy_ | (~Zemy@2600:100c:b005:9bc:80c9:dcff:fe83:1f78) (Ping timeout: 244 seconds) |
2025-10-11 17:42:08 +0200 | inline_ | (~inline@2a02:8071:57a1:dc0:9098:57fc:f526:68a5) Inline |
2025-10-11 17:45:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-11 17:45:45 +0200 | inline | (~inline@2a02:8071:57a1:1260:71dc:27f0:5cba:6052) (Ping timeout: 265 seconds) |
2025-10-11 17:48:39 +0200 | Arsen | (arsen@gentoo/developer/managarm.dev.Arsen) Arsen |
2025-10-11 17:50:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
2025-10-11 17:56:31 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Quit: WeeChat 4.7.1) |
2025-10-11 17:59:17 +0200 | gustrb | (~gustrb@191.243.134.87) |
2025-10-11 18:01:06 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |