2026/03/29

Newest at the top

2026-03-29 23:50:16 +0200arandombit(~arandombi@user/arandombit) arandombit
2026-03-29 23:46:51 +0200merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-03-29 23:46:09 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 246 seconds)
2026-03-29 23:43:08 +0200polykernel(~polykerne@user/polykernel) polykernel
2026-03-29 23:42:09 +0200merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-29 23:40:30 +0200polykernel(~polykerne@user/polykernel) (Remote host closed the connection)
2026-03-29 23:38:51 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) koala_man
2026-03-29 23:32:29 +0200s00pcan(~s00pcan@24.73.63.94) s00pcan
2026-03-29 23:31:48 +0200s00pcan(~s00pcan@24.73.63.94) (Client Quit)
2026-03-29 23:31:30 +0200s00pcan(~s00pcan@24.73.63.94) s00pcan
2026-03-29 23:31:09 +0200merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-03-29 23:28:16 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 276 seconds)
2026-03-29 23:28:12 +0200 <tomsmeding> precisely
2026-03-29 23:27:04 +0200 <mauke> this is why I use a functional language like haskell: so I can FFI out to C for parsing and segfault on syntax errors
2026-03-29 23:26:47 +0200merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-29 23:26:29 +0200abiss27(~abiss27@user/abiss) (Quit: I'm off, Goodbye!)
2026-03-29 23:23:39 +0200raincomplex(~rain@user/raincomplex) (Ping timeout: 268 seconds)
2026-03-29 23:23:19 +0200 <tomsmeding> not Date, If-Modified-Since apparently
2026-03-29 23:23:13 +0200arandombit(~arandombi@user/arandombit) arandombit
2026-03-29 23:23:13 +0200arandombit(~arandombi@2a02:2455:8656:7100:4dba:7f3:232c:4f01) (Changing host)
2026-03-29 23:23:13 +0200arandombit(~arandombi@2a02:2455:8656:7100:4dba:7f3:232c:4f01)
2026-03-29 23:23:09 +0200 <tomsmeding> https://github.com/snapframework/snap-core/pull/305
2026-03-29 23:23:03 +0200raincomplex_(~rain@user/raincomplex) raincomplex
2026-03-29 23:21:57 +0200 <EvanR> OOF
2026-03-29 23:21:20 +0200 <tomsmeding> e.g. snap segfaulted when a request had an invalid Date: header because their C code didn't check errors (I fixed that)
2026-03-29 23:20:45 +0200 <tomsmeding> snap is the closest that I've found, but this time I wanted to try something different because snap is a bit weird sometimes
2026-03-29 23:20:23 +0200 <EvanR> e.g. a thing that parses HTTP, but not necessarily every content type that exists
2026-03-29 23:20:21 +0200 <tomsmeding> I've been looking for a haskell http server that is small and does simple stuff for ages
2026-03-29 23:20:01 +0200 <EvanR> this story suggests smaller more targeted libraries with fewer dependencies might be warranted
2026-03-29 23:19:13 +0200 <EvanR> premature optimization!
2026-03-29 23:18:58 +0200 <tomsmeding> so just nuking chronos helps naught
2026-03-29 23:18:44 +0200 <tomsmeding> but then I still have aeson from mustache
2026-03-29 23:18:34 +0200 <tomsmeding> yes
2026-03-29 23:18:29 +0200 <EvanR> date <-> day-number ought to be not much copy pasta
2026-03-29 23:17:14 +0200 <EvanR> breaking ToJSON FromJSON instances that aren't actually used in a library into a separate library, orphans I guess, sounds better in light of this
2026-03-29 23:17:12 +0200 <tomsmeding> and nuke like 95% of my deps
2026-03-29 23:17:07 +0200 <tomsmeding> tempted to reimplement date <-> day-number handling from chronos, and simple GET-only HTTP/1.1 handling from scratch instead of warp
2026-03-29 23:16:31 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 264 seconds)
2026-03-29 23:16:26 +0200 <tomsmeding> I need none of this
2026-03-29 23:16:21 +0200 <tomsmeding> mustache the inverse, i.e. it has some functions taking ToJSON for convenience
2026-03-29 23:15:28 +0200 <tomsmeding> chronos I think only for ToJSON/FromJSON instances
2026-03-29 23:15:10 +0200merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-03-29 23:15:06 +0200michalz(~michalz@185.246.207.203) (Remote host closed the connection)
2026-03-29 23:14:53 +0200 <EvanR> why does chronos or mustache even use aeson
2026-03-29 23:13:40 +0200 <tomsmeding> and then I have a server that crashes and burns when I spam it with requests because warp decided that limiting accepts is not necessary
2026-03-29 23:12:36 +0200 <tomsmeding> I don't use aeson or json in any way, and I only need HTTP/1.1 so crypton and http2 are useless
2026-03-29 23:12:15 +0200 <tomsmeding> can we talk about dependencies? I have a simple app that uses chronos (not even all that much), mustache, warp, and some negligible other stuff. Chronos and mustache pull in aeson, and warp pulls in crypton and http2, and suddenly I have tons of transitive dependencies that take ages to build
2026-03-29 23:10:11 +0200 <glguy> I also worked in a movie theater back when people still lined up to see movies on the big screen and lines could get quite long
2026-03-29 23:09:42 +0200 <EvanR> yeah just assume the customer is baseline evil and you won't be disappointed
2026-03-29 23:09:23 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) koala_man