Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,789,917 events total
2026-03-26 05:36:22 michalz joins (~michalz@185.246.207.215)
2026-03-26 05:39:28 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-26 05:39:41 puke joins (~puke@user/puke)
2026-03-26 05:44:34 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2026-03-26 05:45:57 mesaoptimizer joins (~user@user/PapuaHardyNet)
2026-03-26 05:54:27 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-26 05:55:33 peterbecich joins (~Thunderbi@71.84.33.135)
2026-03-26 05:58:42 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-03-26 06:02:22 × haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2026-03-26 06:09:44 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-26 06:11:34 × Alex_delenda_est quits (~al_test@85.174.183.240) (Ping timeout: 256 seconds)
2026-03-26 06:11:50 × AlexNoo quits (~AlexNoo@85.174.183.240) (Ping timeout: 245 seconds)
2026-03-26 06:12:08 × AlexZenon quits (~alzenon@85.174.183.240) (Ping timeout: 256 seconds)
2026-03-26 06:16:39 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-03-26 06:27:46 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-26 06:30:14 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 252 seconds)
2026-03-26 06:32:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-03-26 06:43:08 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-26 06:48:14 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-03-26 06:52:56 × puke quits (~puke@user/puke) (Remote host closed the connection)
2026-03-26 06:53:21 puke joins (~puke@user/puke)
2026-03-26 06:55:23 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-26 06:55:59 × puke quits (~puke@user/puke) (Remote host closed the connection)
2026-03-26 06:56:24 puke joins (~puke@user/puke)
2026-03-26 07:00:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-03-26 07:04:24 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-03-26 07:05:56 × puke quits (~puke@user/puke) (Remote host closed the connection)
2026-03-26 07:06:28 puke joins (~puke@user/puke)
2026-03-26 07:06:33 × hc quits (~hc@mail.hce.li) (Remote host closed the connection)
2026-03-26 07:07:28 hc joins (~hc@mail.hce.li)
2026-03-26 07:10:46 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-26 07:13:55 × koala_man quits (~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 245 seconds)
2026-03-26 07:15:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-03-26 07:16:03 koala_man joins (~vidar@157.146.251.23.bc.googleusercontent.com)
2026-03-26 07:18:53 Square joins (~Square4@user/square)
2026-03-26 07:21:32 × Square2 quits (~Square@user/square) (Ping timeout: 267 seconds)
2026-03-26 07:26:08 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-26 07:30:50 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-03-26 07:32:51 × jreicher quits (~joelr@user/jreicher) (Quit: brb)
2026-03-26 07:38:36 CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de)
2026-03-26 07:41:30 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-26 07:44:15 × koala_man quits (~vidar@157.146.251.23.bc.googleusercontent.com) (Read error: Connection reset by peer)
2026-03-26 07:45:02 koala_man joins (~vidar@157.146.251.23.bc.googleusercontent.com)
2026-03-26 07:45:45 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-03-26 07:47:12 Enrico63 joins (~Enrico63@93-35-52-29.ip53.fastwebnet.it)
2026-03-26 07:47:17 × puke quits (~puke@user/puke) (Quit: puke)
2026-03-26 07:48:28 michalz_ joins (~michalz@185.246.207.201)
2026-03-26 07:49:21 × michalz quits (~michalz@185.246.207.215) (Ping timeout: 244 seconds)
2026-03-26 07:56:23 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-26 08:03:28 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-03-26 08:06:39 × mistivia quits (~mistivia@user/mistivia) (Remote host closed the connection)
2026-03-26 08:07:01 mistivia joins (~mistivia@user/mistivia)
2026-03-26 08:14:18 jreicher joins (~joelr@user/jreicher)
2026-03-26 08:14:26 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-03-26 08:19:10 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-03-26 08:22:18 <[exa]> is there any docs on how much concurrency happens in scotty by default? (e.g., if I have something that computes a http response for say 100ms, can I expect scotty to be able to run a few of the computations in parallel?)
2026-03-26 08:23:17 × ft quits (~ft@p508db341.dip0.t-ipconnect.de) (Quit: leaving)
2026-03-26 08:23:54 <Axman6> I would assume that every request is handled in its own thread
2026-03-26 08:24:26 <Axman6> I assume it's built on warp, and it can handle pretty large numbers of requests in parallel
2026-03-26 08:26:08 <[exa]> yeah I'm kinda trying to find where this is configured, looks like in warp
2026-03-26 08:27:39 <[exa]> ok warp has a default forkoff in the settings, great
2026-03-26 08:27:56 <[exa]> now how do I put a limit on that, to prevent the memory from exploding and such :D
2026-03-26 08:28:39 <Axman6> just handle it in your app, use a semaphore at the beginning of your request handlers
2026-03-26 08:31:21 <[exa]> yeah looks like that's gonna be the way
2026-03-26 08:31:35 <[exa]> this is a bit scary tho https://github.com/yesodweb/wai/issues/825
2026-03-26 08:36:12 <tomsmeding> oof
2026-03-26 08:37:05 <tomsmeding> [exa]: the fact that that bug is there is not too surprising, with haskell throwing IO exceptions left and right without listing what can be thrown anywhere, but the fact that it's not fixed and the response is just "increase your FD limit" is concerning
2026-03-26 08:37:27 <tomsmeding> sounds like there'll be other syscalls that can fail that wai doesn't catch
2026-03-26 08:37:32 <tomsmeding> wai/warp
2026-03-26 08:38:03 <[exa]> yeah that's not how you production. :D
2026-03-26 08:38:55 <[exa]> like, ofc, running out of the fd limit basically means the game's over, but I'd hope there'd be at least some mechanism to avoid opening too much stuff
2026-03-26 08:39:23 <tomsmeding> the fact that they report half the connections dropped with nginx is also funny -- nginx is probably running into the same 1024 limit, but it has 2 connections per request (upstream and downstream) so half the request are dropped
2026-03-26 08:39:51 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-03-26 08:40:20 <tomsmeding> proper handling would, I guess, be waiting until you have a few FDs left and start responding 500s; alternatively, use them all and just don't accept() until you can again
2026-03-26 08:41:27 <[exa]> ok I guess I can do custom accept, throw it in with a `setAccept`, and put the semaphore into that one
2026-03-26 08:42:38 acidjnk_new joins (~acidjnk@p200300d6e700e54898249a3b850b64ab.dip0.t-ipconnect.de)
2026-03-26 08:42:58 <[exa]> or `settingsFork` more likely because that looks like a proper bracket
2026-03-26 08:43:07 <[exa]> k goooooooooood we shall production then.
2026-03-26 08:43:44 <tomsmeding> lol
2026-03-26 08:43:44 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
2026-03-26 08:44:38 <tomsmeding> oh being able to override accept(2) with setAccept is cute
2026-03-26 08:45:33 <tomsmeding> [exa]: why would you do settingsFork instead of settingsAccept?
2026-03-26 08:46:34 <[exa]> the settingsAccept is literally just the syscall
2026-03-26 08:46:46 <[exa]> :: socket -> IO (socket, something)
2026-03-26 08:47:00 <[exa]> hard to unbump the semaphore there
2026-03-26 08:47:23 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-03-26 08:47:27 L29Ah joins (~L29Ah@wikipedia/L29Ah)
2026-03-26 08:47:49 [exa] sees the "unbump" he has written, and heads for a safety coffee
2026-03-26 08:51:31 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
2026-03-26 08:51:56 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
2026-03-26 08:52:10 <tomsmeding> oh the unbump
2026-03-26 08:52:14 tomsmeding understands
2026-03-26 08:53:33 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-03-26 08:54:18 L29Ah joins (~L29Ah@wikipedia/L29Ah)
2026-03-26 08:57:41 merijn joins (~merijn@77.242.116.146)
2026-03-26 08:59:57 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
2026-03-26 09:08:18 [exa] feels sudden urge to invent bump & unbump bracket notation for concurrent synchronization semantics
2026-03-26 09:09:14 <[exa]> oh look, bump & de-bump aka dump, b and d with double vertical line, like |b and d|. Benefit: both look like coffee mugs
2026-03-26 09:09:36 <[exa]> (ok nvm let's do work.)
2026-03-26 09:13:33 × emmanuelux quits (~em@user/emmanuelux) (Quit: bye)

All times are in UTC.