2025/04/29

2025-04-29 00:00:24 +0200 <int-e> I wonder if it has opinions on WorldCoin
2025-04-29 00:01:16 +0200 <davean> I'
2025-04-29 00:01:29 +0200 <davean> ve started to loath a new trend
2025-04-29 00:01:44 +0200 <davean> In issues, people throwing the thing at ChatGPT or whatever, and "
2025-04-29 00:01:50 +0200 <davean> pasting" its answer as a solution
2025-04-29 00:02:01 +0200 <davean> It make me want to lock the issues and never fix it
2025-04-29 00:02:04 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-04-29 00:02:14 +0200 <davean> Its so actively unhelpful I wonder if people are doing it to troll
2025-04-29 00:02:28 +0200 <davean> esp when what it pastes is self-evidently non-helpful
2025-04-29 00:02:35 +0200 <davean> Which, so far, is all I've seen
2025-04-29 00:02:44 +0200 <haskellbridge> <sm> I wouldn't mind if it's something helpful
2025-04-29 00:02:57 +0200 <haskellbridge> <sm> I think I posted one of those myself recently
2025-04-29 00:02:59 +0200 <davean> Its litterly never been, and it mean it kinda obviously won't be?
2025-04-29 00:03:05 +0200 <davean> ... yah, you are one of the people I was thinking of
2025-04-29 00:03:24 +0200 <davean> Yours was a great example of self-evidently not helpful
2025-04-29 00:03:33 +0200 <haskellbridge> <sm> yikes! where was that
2025-04-29 00:03:38 +0200 <haskellbridge> <sm> called out on my first attempt 🤣
2025-04-29 00:03:39 +0200 <davean> The wiki one
2025-04-29 00:04:14 +0200 <davean> Where it suggested A) uncommenting a commented out line (How do you think it got commented out in the first place? If yhou had a question, check the git history) and B) generated an invalid CSS statement
2025-04-29 00:04:52 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-04-29 00:05:16 +0200 <int-e> davean: I understand that it gets worse when there's a monetary incentive (bug bounties)
2025-04-29 00:05:37 +0200 <davean> Oh god, I wouldn't be surprised if it did
2025-04-29 00:05:46 +0200j1n37-(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-04-29 00:05:51 +0200 <davean> sm: on the plus side, your chatgpt response annyoed someone else enough to just fix it :)
2025-04-29 00:05:54 +0200 <haskellbridge> <sm> https://github.com/haskell/haskell-wiki-configuration/issues/56#issuecomment-2822104811
2025-04-29 00:06:38 +0200 <davean> sorry, the "A" side was simplified out from you IRC posting, not the full length one.
2025-04-29 00:07:18 +0200 <haskellbridge> <sm> I thought it gave some potentially useful context to my previous (human generated, terse) comment, to someone trying to fix this, and if not, would be easy to ignore.
2025-04-29 00:08:31 +0200 <davean> It made it very evident it was splurting out some tutorial and nothing related to the actual config
2025-04-29 00:08:52 +0200 <haskellbridge> <sm> to you. Obviously people like me trying to help don't have the same insight
2025-04-29 00:09:12 +0200 <haskellbridge> <sm> I'll me more cautious on this tracker in future
2025-04-29 00:09:16 +0200 <haskellbridge> <sm> be
2025-04-29 00:09:44 +0200 <davean> The state at that comment was https://github.com/haskell/haskell-wiki-configuration/blob/beb924470357d8cc008a5c8118211066897a48e…
2025-04-29 00:09:45 +0200LainIwakura(~LainIwaku@user/LainIwakura) LainIwakura
2025-04-29 00:09:57 +0200 <davean> You'll note a several line block of it commented out
2025-04-29 00:10:31 +0200 <davean> Someone didn't write all that and comment it out by "accident"
2025-04-29 00:11:27 +0200 <davean> Which is the sort of theory-of-mind ChatGPT seems to seriously lack
2025-04-29 00:11:54 +0200paotsaq(~paotsaq@127.209.37.188.rev.vodafone.pt) paotsaq
2025-04-29 00:11:56 +0200 <haskellbridge> <sm> I pointed that out myself, but didn't know why (there was no explanation)
2025-04-29 00:11:56 +0200 <davean> anyway, sm, you're hardly the worst person with this ever
2025-04-29 00:12:33 +0200 <davean> Oh the CSS side I sohuld finish
2025-04-29 00:12:49 +0200 <davean> it was a CSS directive that targeted displayed text, it clearly mixed up context between display and syntax
2025-04-29 00:12:56 +0200 <davean> anyway, sm, you are HARDLY the worst
2025-04-29 00:13:06 +0200 <davean> Its a real plauge lately though
2025-04-29 00:13:15 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 00:14:03 +0200 <haskellbridge> <sm> I know that I'm not the worst. I was trying to be helpful. No need to beat up a volunteer for an unhelpful post, I've said I'll be more cautious
2025-04-29 00:15:07 +0200 <davean> For an explanation of why it was commented out, it was commented out because the repo contains the code, but not in a runable state - it requires a specific build procedure to be run before it is a valid extension. As it was just a stylistic display issue I didn't feel like learning a PHP build sytem to get the wiki back online after the great wiki disaster and I hoped something obvious like that
2025-04-29 00:15:09 +0200 <davean> would get anyone to step up and assist since I didn't want to end up owning the wiki just because I rescued it.
2025-04-29 00:15:33 +0200 <davean> tolt happened to find a place they had actually already run the build system though, which made it easy to fix
2025-04-29 00:16:53 +0200 <davean> Hopefully tolt having made a test vm setup thing for it other people might try working on it.
2025-04-29 00:18:14 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-04-29 00:19:31 +0200 <haskellbridge> <sm> I became annoyed enough at the 6 month breakage to try to spend some more time helping. Without access or any insight / status reports I couldn't do more than blind research. I'm glad it helped remind people of the problem, even it if was annoying. It's just another github issue.
2025-04-29 00:20:18 +0200 <davean> Hum? That is a full container config for the wiki in that repo
2025-04-29 00:21:13 +0200 <davean> That is litterly the wiki, minutes its data
2025-04-29 00:22:36 +0200 <haskellbridge> <sm> I'm irritated. Sorry, I'll drop this
2025-04-29 00:28:00 +0200harveypwca(~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c)
2025-04-29 00:28:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 00:31:41 +0200emmanuelux(~emmanuelu@user/emmanuelux) emmanuelux
2025-04-29 00:34:31 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-04-29 00:34:38 +0200 <haskellbridge> <hellwolf> 🫠 tragedy of the gift economy... which needs more cheerleaders
2025-04-29 00:35:12 +0200 <int-e> . o O ( it's spelled "grift" )
2025-04-29 00:35:16 +0200sprotte24(~sprotte24@p200300d16f1e9b00643a7ed1094ff735.dip0.t-ipconnect.de) (Quit: Leaving)
2025-04-29 00:38:04 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2025-04-29 00:42:05 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 260 seconds)
2025-04-29 00:44:40 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 00:44:57 +0200tolgo(~Thunderbi@199.115.144.130)
2025-04-29 00:45:22 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-04-29 00:49:24 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-04-29 00:49:44 +0200justsomeguy(~justsomeg@user/justsomeguy) justsomeguy
2025-04-29 00:51:25 +0200Sgeo(~Sgeo@user/sgeo) Sgeo
2025-04-29 00:55:11 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 00:55:13 +0200califax_(~califax@user/califx) califx
2025-04-29 00:56:00 +0200califax(~califax@user/califx) (Ping timeout: 264 seconds)
2025-04-29 00:56:26 +0200califax_califax
2025-04-29 00:59:34 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-04-29 01:01:45 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-04-29 01:10:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 01:15:58 +0200Buliarous(~gypsydang@46.232.210.139) (Remote host closed the connection)
2025-04-29 01:16:26 +0200Buliarous(~gypsydang@46.232.210.139) Buliarous
2025-04-29 01:17:26 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-04-29 01:18:38 +0200LainIwakura(~LainIwaku@user/LainIwakura) (Quit: Client closed)
2025-04-29 01:19:25 +0200LainIwakura(~LainIwaku@user/LainIwakura) LainIwakura
2025-04-29 01:21:39 +0200 <monochrom> darkling: Actually our department chair has also received students' escalated tickets "I answered something but my prof gave me 0". >:)
2025-04-29 01:22:28 +0200 <monochrom> There were 3 such cases and the profs were all different. It is becoming a meme across the board.
2025-04-29 01:23:47 +0200 <int-e> . o O ( I asked ChatGPT and it said I should receive full marks. )
2025-04-29 01:27:19 +0200LainIwakura(~LainIwaku@user/LainIwakura) (Quit: Client closed)
2025-04-29 01:27:31 +0200jespada_(~jespada@r179-25-42-1.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-04-29 01:28:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 01:30:25 +0200tolgo(~Thunderbi@199.115.144.130) (Ping timeout: 276 seconds)
2025-04-29 01:32:34 +0200 <monochrom> Oh yeah have you heard of this old joke: If you think you know everything, you can get a Bachelor's. When you find out you don't know anything, you can get a Master's. When you also find out that your thesis supervisor doesn't know anything either, you can get a PhD.
2025-04-29 01:32:50 +0200 <monochrom> I have upgraded that to a modern version.
2025-04-29 01:33:37 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-04-29 01:33:43 +0200 <monochrom> If you think LLMs know everything, you can get a Bachelor's. When you find out that LLMs don't know anything, you can get a Master's. When you find out that your thesis supervisor is also relying on LLMs, you can get a PhD.
2025-04-29 01:33:46 +0200 <darkling> You learn more and more about less and less, until you know everything about nothing...
2025-04-29 01:34:02 +0200 <darkling> (At which point, they give you a PhD to get rid of you).
2025-04-29 01:35:52 +0200 <darkling> Somewhat glad I'm not in academia any more. Should have got out much earlier. Would have given me more time to get burned out and recover from industry... :/
2025-04-29 01:37:36 +0200acidjnk_new(~acidjnk@p200300d6e71c4f61394430d048071491.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2025-04-29 01:44:15 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 01:45:51 +0200harveypwca(~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving)
2025-04-29 01:46:48 +0200 <EvanR> I would like my Master's now
2025-04-29 01:47:20 +0200 <EvanR> 🫴
2025-04-29 01:47:45 +0200 <darkling> Don't bother. It's not worth it. :)
2025-04-29 01:48:00 +0200Googulator47(~Googulato@2a01-036d-0106-093f-1dc7-297e-fae3-e794.pool6.digikabel.hu) (Quit: Client closed)
2025-04-29 01:48:14 +0200Googulator47(~Googulato@2a01-036d-0106-093f-1dc7-297e-fae3-e794.pool6.digikabel.hu)
2025-04-29 01:48:40 +0200 <monochrom> Nah, Master's is OK, just don't get sucked into PhD. :)
2025-04-29 01:48:42 +0200 <int-e> EvanR: those aren't requirements, they're consequences
2025-04-29 01:49:01 +0200 <int-e> (also it's a joke)
2025-04-29 01:49:10 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-04-29 01:50:05 +0200 <EvanR> how do you I wasn't joking!
2025-04-29 01:50:09 +0200 <EvanR> know
2025-04-29 01:50:36 +0200 <monochrom> <poker face>Everyone is not joking</poker face>
2025-04-29 01:50:39 +0200 <int-e> EvanR: I don't
2025-04-29 01:51:17 +0200 <EvanR> this joke is serious
2025-04-29 01:51:24 +0200 <int-e> EvanR: I mean, you were clearly joking. But I'm not sure what exactly you were joking about ;-)
2025-04-29 01:54:15 +0200JuanDaugherty(~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
2025-04-29 01:59:01 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2025-04-29 02:00:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 02:05:09 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-04-29 02:05:21 +0200gadot(Angelz@user/angelz) (Ping timeout: 268 seconds)
2025-04-29 02:07:34 +0200mange(~user@user/mange) mange
2025-04-29 02:10:18 +0200xff0x(~xff0x@2409:251:9040:2c00:42ff:c32a:d7a0:a5f4)
2025-04-29 02:10:28 +0200msa(msa@msa.planetofnix.com) (Read error: Connection reset by peer)
2025-04-29 02:15:47 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 02:18:59 +0200msa(msa@msa.planetofnix.com)
2025-04-29 02:21:07 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-04-29 02:31:37 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 02:31:54 +0200hgolden(~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) (Remote host closed the connection)
2025-04-29 02:32:23 +0200califax(~califax@user/califx) (Remote host closed the connection)
2025-04-29 02:33:53 +0200califax(~califax@user/califx) califx
2025-04-29 02:34:34 +0200hgolden(~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) hgolden
2025-04-29 02:36:33 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-04-29 02:41:16 +0200otto_s(~user@p4ff27ad7.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
2025-04-29 02:42:22 +0200otto_s(~user@p5de2faf5.dip0.t-ipconnect.de)
2025-04-29 02:43:40 +0200Angelz(Angelz@angelz.oddprotocol.org)
2025-04-29 02:47:24 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 02:51:08 +0200machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2025-04-29 02:54:03 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-04-29 02:54:36 +0200juri_(~juri@implicitcad.org) (Ping timeout: 265 seconds)
2025-04-29 02:56:05 +0200juri_(~juri@implicitcad.org) juri_
2025-04-29 02:57:28 +0200gorignak(~gorignak@user/gorignak) (Quit: quit)
2025-04-29 02:57:45 +0200gorignak(~gorignak@user/gorignak) gorignak
2025-04-29 02:57:50 +0200euleritian(~euleritia@dynamic-176-006-135-001.176.6.pool.telefonica.de) (Remote host closed the connection)
2025-04-29 02:58:42 +0200euleritian(~euleritia@dynamic-176-006-135-001.176.6.pool.telefonica.de)
2025-04-29 02:59:36 +0200euleritian(~euleritia@dynamic-176-006-135-001.176.6.pool.telefonica.de) (Remote host closed the connection)
2025-04-29 03:00:26 +0200euleritian(~euleritia@dynamic-176-006-135-001.176.6.pool.telefonica.de)
2025-04-29 03:00:27 +0200euleritian(~euleritia@dynamic-176-006-135-001.176.6.pool.telefonica.de) (Remote host closed the connection)
2025-04-29 03:05:27 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 03:05:52 +0200notdabs(~Owner@2600:1700:69cf:9000:79ef:6a68:163c:c553) (Quit: Leaving)
2025-04-29 03:07:05 +0200 <EvanR> haskell is usually taken as using lazy evaluation while e.g. javascript is eager evaluation. If you were to specify "evaluation strategy is not specified", would that force you to write like haskell, or like javascript, or neither, if you didn't care about side effects, exceptions, and performance
2025-04-29 03:08:22 +0200 <EvanR> (haskell isn't specified to be lazy, though I'm not sure how relevant it is to this)
2025-04-29 03:10:31 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-04-29 03:11:46 +0200 <c_wraith> Haskell isn't specified to be lazy, but it is specified to terminate if any evaluation order will do so. It's hard to get that behavior without default laziness
2025-04-29 03:12:29 +0200gorignak(~gorignak@user/gorignak) (Ping timeout: 265 seconds)
2025-04-29 03:13:18 +0200 <monochrom> If evaluation isn't specified, then I would need strictness to be specified. The Haskell Report specifies non-strict.
2025-04-29 03:15:30 +0200 <EvanR> if neither are specified?
2025-04-29 03:18:34 +0200 <EvanR> in some sense lazy evaluation subsumes eager evaluation, so does it mean with no other information you would default to eager?
2025-04-29 03:18:47 +0200 <monochrom> If unspecified, then I cannot assume for example const () bottom = (), so pessimistically I will have to write like, well, I don't want to get js involved, but I can work with SML or Racket.
2025-04-29 03:19:00 +0200 <monochrom> Yeah, that.
2025-04-29 03:21:11 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 03:21:27 +0200 <EvanR> that sucks!
2025-04-29 03:22:52 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
2025-04-29 03:23:46 +0200gorignak(~gorignak@user/gorignak) gorignak
2025-04-29 03:24:56 +0200 <monochrom> But I haven't really needed to resort to that. Most languages are sufficiently specified or at least suffciently de-facto'ed.
2025-04-29 03:25:32 +0200 <EvanR> they are, though I was wondering to what extent that was necessary
2025-04-29 03:25:58 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-04-29 03:26:58 +0200 <EvanR> predicting performance aside, the main issue is going into an infinite loop because of insufficient laziness
2025-04-29 03:27:01 +0200weary-traveler(~user@user/user363627) user363627
2025-04-29 03:30:22 +0200 <EvanR> which is where haskell's guarantee comes in
2025-04-29 03:30:43 +0200sayurc(~sayurc@169.150.203.34) sayurc
2025-04-29 03:32:12 +0200gorignak(~gorignak@user/gorignak) (Ping timeout: 252 seconds)
2025-04-29 03:36:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 03:41:35 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-04-29 03:52:47 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 03:56:14 +0200xff0x(~xff0x@2409:251:9040:2c00:42ff:c32a:d7a0:a5f4) (Ping timeout: 245 seconds)
2025-04-29 03:56:58 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 268 seconds)
2025-04-29 03:58:05 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-04-29 04:00:13 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) Raito_Bezarius
2025-04-29 04:08:33 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 04:13:38 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-04-29 04:16:39 +0200tavare(~tavare@150.129.88.189) tavare
2025-04-29 04:16:40 +0200tavare(~tavare@150.129.88.189) (Changing host)
2025-04-29 04:16:40 +0200tavare(~tavare@user/tavare) tavare
2025-04-29 04:17:19 +0200tavare(~tavare@user/tavare) (Remote host closed the connection)
2025-04-29 04:20:14 +0200td_(~td@i53870908.versanet.de) (Ping timeout: 252 seconds)
2025-04-29 04:21:59 +0200td_(~td@i53870912.versanet.de)
2025-04-29 04:24:22 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 04:25:20 +0200Typedfern(~Typedfern@135.red-83-37-43.dynamicip.rima-tde.net)
2025-04-29 04:30:53 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-04-29 04:31:35 +0200Sgeo_(~Sgeo@user/sgeo) Sgeo
2025-04-29 04:34:10 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
2025-04-29 04:38:09 +0200Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 260 seconds)
2025-04-29 04:39:50 +0200prdak(~Thunderbi@user/prdak) prdak
2025-04-29 04:41:56 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 04:44:04 +0200prdak(~Thunderbi@user/prdak) (Ping timeout: 252 seconds)
2025-04-29 04:46:01 +0200Feuermagier(~Feuermagi@user/feuermagier) Feuermagier
2025-04-29 04:46:09 +0200Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2025-04-29 04:46:41 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-04-29 04:57:41 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 04:58:32 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-04-29 04:59:18 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2025-04-29 05:02:41 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-04-29 05:13:29 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 05:18:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-04-29 05:28:26 +0200Square2(~Square4@user/square) (Ping timeout: 252 seconds)
2025-04-29 05:28:57 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-04-29 05:29:16 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 05:35:22 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-04-29 05:35:43 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-04-29 05:35:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-04-29 05:36:34 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-04-29 05:40:18 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-04-29 05:41:55 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-04-29 05:45:40 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-04-29 05:46:42 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-04-29 05:47:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 05:48:05 +0200michalz(~michalz@185.246.207.205)
2025-04-29 05:51:20 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-04-29 05:52:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-04-29 06:03:08 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 06:04:39 +0200OftenFaded(~OftenFade@user/tisktisk) OftenFaded
2025-04-29 06:04:41 +0200fp(~Thunderbi@87-94-239-173.bb.dnainternet.fi) fp
2025-04-29 06:10:42 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-04-29 06:15:04 +0200Fijxu(~Fijxu@user/fijxu) (Quit: XD!!)
2025-04-29 06:17:41 +0200Digitteknohippie(~user@user/digit) Digit
2025-04-29 06:17:54 +0200Fijxu(~Fijxu@user/fijxu) fijxu
2025-04-29 06:18:40 +0200Digit(~user@user/digit) (Ping timeout: 260 seconds)
2025-04-29 06:21:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 06:21:23 +0200Fijxu(~Fijxu@user/fijxu) (Quit: XD!!)
2025-04-29 06:22:19 +0200gabiruh_(~gabiruh@vps19177.publiccloud.com.br) (Ping timeout: 252 seconds)
2025-04-29 06:26:04 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-04-29 06:27:25 +0200OftenFaded(~OftenFade@user/tisktisk) (Quit: Client closed)
2025-04-29 06:30:06 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br) gabiruh
2025-04-29 06:31:05 +0200j1n37-(~j1n37@user/j1n37) j1n37
2025-04-29 06:32:14 +0200Fijxu(~Fijxu@user/fijxu) fijxu
2025-04-29 06:32:14 +0200j1n37(~j1n37@user/j1n37) (Ping timeout: 272 seconds)
2025-04-29 06:36:48 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 06:42:25 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-04-29 06:47:51 +0200zlqrvx(~zlqrvx@2001:8003:8c8b:e00:374a:bdcb:457c:d1e3) (Read error: Connection reset by peer)
2025-04-29 06:48:22 +0200zlqrvx(~zlqrvx@101.175.150.247)
2025-04-29 06:50:13 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
2025-04-29 06:52:36 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 06:53:19 +0200DigitteknohippieDigit
2025-04-29 06:57:21 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-04-29 07:01:27 +0200elnegro(elnegro@r186-50-156-231.dialup.adsl.anteldata.net.uy) elnegro
2025-04-29 07:05:54 +0200j1n37-(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-04-29 07:08:23 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 07:08:59 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-04-29 07:10:42 +0200elnegro(elnegro@r186-50-156-231.dialup.adsl.anteldata.net.uy) ()
2025-04-29 07:15:30 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-04-29 07:22:14 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-04-29 07:22:33 +0200takuan(~takuan@d8D86B601.access.telenet.be)
2025-04-29 07:23:22 +0200werneta(~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 276 seconds)
2025-04-29 07:25:46 +0200fp(~Thunderbi@87-94-239-173.bb.dnainternet.fi) (Ping timeout: 252 seconds)
2025-04-29 07:25:52 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-04-29 07:26:27 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 07:27:40 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-04-29 07:29:16 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-04-29 07:31:10 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-04-29 07:32:19 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-04-29 07:34:27 +0200akegalj(~akegalj@83-131-244-60.adsl.net.t-com.hr) akegalj
2025-04-29 07:41:48 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 07:47:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-04-29 07:52:10 +0200acidjnk_new(~acidjnk@p200300d6e71c4f61394430d048071491.dip0.t-ipconnect.de)
2025-04-29 07:55:48 +0200Sgeo_(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-04-29 07:57:36 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 08:00:31 +0200dutchie(~dutchie@user/dutchie) (Remote host closed the connection)
2025-04-29 08:01:41 +0200mikess(~sam@user/mikess) mikess
2025-04-29 08:02:22 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-04-29 08:06:17 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 08:10:14 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2025-04-29 08:10:29 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2025-04-29 08:11:29 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-04-29 08:16:21 +0200euphores(~SASL_euph@user/euphores) euphores
2025-04-29 08:22:52 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 08:24:00 +0200haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2025-04-29 08:27:39 +0200fp(~Thunderbi@2001:708:20:1406::1370) fp
2025-04-29 08:27:43 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-04-29 08:28:22 +0200acidjnk_new(~acidjnk@p200300d6e71c4f61394430d048071491.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
2025-04-29 08:38:16 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 08:42:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-04-29 08:45:47 +0200acidjnk_new(~acidjnk@p54ad5829.dip0.t-ipconnect.de)
2025-04-29 08:54:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 08:56:14 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-04-29 09:00:04 +0200akegalj(~akegalj@83-131-244-60.adsl.net.t-com.hr) (Ping timeout: 260 seconds)
2025-04-29 09:00:05 +0200caconym7(~caconym@user/caconym) (Quit: bye)
2025-04-29 09:00:43 +0200caconym7(~caconym@user/caconym) caconym
2025-04-29 09:01:14 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-04-29 09:05:27 +0200dutchie(~dutchie@user/dutchie) dutchie
2025-04-29 09:07:14 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-29 09:12:06 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-04-29 09:12:25 +0200akegalj(~akegalj@144-188.dsl.iskon.hr)
2025-04-29 09:18:25 +0200akegalj(~akegalj@144-188.dsl.iskon.hr) (Ping timeout: 276 seconds)
2025-04-29 09:20:58 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-04-29 09:21:47 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-04-29 09:22:36 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2025-04-29 09:23:08 +0200Lord_of_Life_Lord_of_Life
2025-04-29 09:30:04 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2025-04-29 09:30:30 +0200dutchie_(~dutchie@user/dutchie) dutchie
2025-04-29 09:32:48 +0200dutchie(~dutchie@user/dutchie) (Killed (NickServ (GHOST command used by dutchie_)))
2025-04-29 09:32:51 +0200dutchie_dutchie
2025-04-29 09:33:38 +0200j1n37-(~j1n37@user/j1n37) j1n37
2025-04-29 09:34:39 +0200j1n37(~j1n37@user/j1n37) (Ping timeout: 272 seconds)
2025-04-29 09:43:29 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
2025-04-29 09:43:46 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds)
2025-04-29 09:48:15 +0200mari-estel(~mari-este@user/mari-estel) mari-estel
2025-04-29 09:51:44 +0200Guest17(~Guest17@2a01:4b00:84f0:ef00:382c:2ec8:780c:c40)
2025-04-29 09:52:02 +0200Guest17(~Guest17@2a01:4b00:84f0:ef00:382c:2ec8:780c:c40) (Client Quit)
2025-04-29 09:52:09 +0200gmg(~user@user/gehmehgeh) gehmehgeh
2025-04-29 09:55:37 +0200aku(aku@65.108.245.241) (Quit: Lost terminal)
2025-04-29 09:56:22 +0200Guest17(~Guest17@2a01:4b00:84f0:ef00:382c:2ec8:780c:c40)
2025-04-29 09:56:46 +0200aku(aku@65.108.245.241) eagleflo
2025-04-29 09:57:03 +0200Guest17(~Guest17@2a01:4b00:84f0:ef00:382c:2ec8:780c:c40) (Client Quit)
2025-04-29 09:58:54 +0200merijn(~merijn@77.242.116.146) merijn
2025-04-29 10:02:54 +0200nernst(~nernst@188.214.9.73)
2025-04-29 10:04:20 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-04-29 10:07:14 +0200machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-04-29 10:14:11 +0200akegalj(~akegalj@95.168.121.7)
2025-04-29 10:19:36 +0200__monty__(~toonn@user/toonn) toonn
2025-04-29 10:21:50 +0200ft(~ft@p4fc2a6e6.dip0.t-ipconnect.de) (Quit: leaving)
2025-04-29 10:27:33 +0200mikess(~sam@user/mikess) (Ping timeout: 252 seconds)
2025-04-29 10:32:36 +0200xff0x(~xff0x@2409:251:9040:2c00:cf62:b619:dd0:f1a5)
2025-04-29 10:37:22 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-04-29 10:38:22 +0200xff0x(~xff0x@2409:251:9040:2c00:cf62:b619:dd0:f1a5) (Ping timeout: 276 seconds)
2025-04-29 10:39:01 +0200fp(~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 276 seconds)
2025-04-29 10:44:06 +0200fp(~Thunderbi@wireless-86-50-140-117.open.aalto.fi) fp
2025-04-29 10:51:14 +0200Googulator71(~Googulato@94-21-139-144.pool.digikabel.hu)
2025-04-29 10:54:06 +0200Googulator47(~Googulato@2a01-036d-0106-093f-1dc7-297e-fae3-e794.pool6.digikabel.hu) (Ping timeout: 240 seconds)
2025-04-29 11:01:00 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
2025-04-29 11:03:16 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-04-29 11:03:44 +0200j1n37-(~j1n37@user/j1n37) (Ping timeout: 265 seconds)
2025-04-29 11:06:49 +0200dhil(~dhil@5.151.29.137) dhil
2025-04-29 11:19:58 +0200dhil(~dhil@5.151.29.137) (Ping timeout: 276 seconds)
2025-04-29 11:23:56 +0200chele(~chele@user/chele) chele
2025-04-29 11:32:36 +0200dhil(~dhil@openvpn-125-1069.inf.ed.ac.uk) dhil
2025-04-29 11:37:58 +0200dhil(~dhil@openvpn-125-1069.inf.ed.ac.uk) (Ping timeout: 252 seconds)
2025-04-29 11:40:17 +0200amadaluzia(~amadaluzi@user/amadaluzia) amadaluzia
2025-04-29 11:43:44 +0200kindlyremote79(~ernie@188-115-167-65.broadband.tenet.odessa.ua)
2025-04-29 11:47:51 +0200kindlyremote79(~ernie@188-115-167-65.broadband.tenet.odessa.ua) ()
2025-04-29 11:50:20 +0200dhil(~dhil@5.151.29.139) dhil
2025-04-29 11:55:08 +0200j1n37-(~j1n37@user/j1n37) j1n37
2025-04-29 11:55:39 +0200j1n37(~j1n37@user/j1n37) (Ping timeout: 260 seconds)
2025-04-29 11:58:09 +0200wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-04-29 12:01:04 +0200califax(~califax@user/califx) (Remote host closed the connection)
2025-04-29 12:02:34 +0200califax(~califax@user/califx) califx
2025-04-29 12:11:04 +0200xff0x(~xff0x@2409:251:9040:2c00:709f:303f:f5cb:a092)
2025-04-29 12:18:05 +0200fp(~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Quit: fp)
2025-04-29 12:18:14 +0200fp2(~Thunderbi@wireless-86-50-140-117.open.aalto.fi) fp
2025-04-29 12:20:40 +0200fp2fp
2025-04-29 12:21:12 +0200talismanick(~user@2601:644:937c:ed10::ae5) (Ping timeout: 272 seconds)
2025-04-29 12:23:37 +0200tromp(~textual@2001:1c00:3487:1b00:81f6:6a75:5fad:c9b4)
2025-04-29 12:38:55 +0200wlhn(~wlhn@130.41.101.92) wlhn
2025-04-29 12:39:17 +0200xff0x(~xff0x@2409:251:9040:2c00:709f:303f:f5cb:a092) (Ping timeout: 268 seconds)
2025-04-29 12:39:48 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-04-29 12:45:07 +0200fp(~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 276 seconds)
2025-04-29 12:49:10 +0200nernst(~nernst@188.214.9.73) (Read error: Connection reset by peer)
2025-04-29 12:49:26 +0200 <haskellbridge> <Liamzee> the Maybe type is a horrible mistake
2025-04-29 12:49:34 +0200nernst(~nernst@188.214.9.73)
2025-04-29 12:49:55 +0200 <haskellbridge> <Liamzee> or more correctly, Stream s => Maybe s
2025-04-29 12:50:40 +0200akegalj(~akegalj@95.168.121.7) (Read error: Connection reset by peer)
2025-04-29 12:51:02 +0200 <haskellbridge> <Liamzee> See, I'm hand-building a parser from Text.Strict.Text to Maybe ByteString.Strict on the assumption that the input data is chars between '0' and 'f' inclusive
2025-04-29 12:51:56 +0200 <haskellbridge> <Liamzee> and, the number of chars is even
2025-04-29 12:51:58 +0200 <haskellbridge> <Liamzee> if these conditions aren't met, it'll return a Nothing
2025-04-29 12:52:04 +0200 <haskellbridge> <Liamzee> HOWEVER, it breaks composition, doesn't it?
2025-04-29 12:52:26 +0200 <haskellbridge> <Liamzee> because either the function composition or the <$> operator will be checking for the Nothing type, causing the entire stream to be actualized
2025-04-29 12:52:32 +0200 <haskellbridge> <Liamzee> erm, Nothing value
2025-04-29 12:52:39 +0200 <haskellbridge> <Liamzee> any ideas?
2025-04-29 12:53:31 +0200 <haskellbridge> <Liamzee> The problem is that I'm depending on ByteString.Strict.pack, so I'm out of luck; it's breaking function composition, otherwise I could do it with a foldr
2025-04-29 12:56:52 +0200Digitteknohippie(~user@user/digit) Digit
2025-04-29 12:58:15 +0200Digit(~user@user/digit) (Ping timeout: 260 seconds)
2025-04-29 12:59:55 +0200mari72280(~mari-este@user/mari-estel) mari-estel
2025-04-29 13:00:05 +0200nernst(~nernst@188.214.9.73) (Read error: Connection reset by peer)
2025-04-29 13:00:59 +0200mari-estel(~mari-este@user/mari-estel) (Read error: Connection reset by peer)
2025-04-29 13:01:47 +0200 <tomsmeding> Liamzee: yes, producing a 'Maybe a' means that you have to tell whether you will return _anything_ before you get to return something
2025-04-29 13:02:08 +0200 <tomsmeding> in return, a consumer gets to know whether there is info here before starting to process said info
2025-04-29 13:02:41 +0200 <tomsmeding> a stream type that can raise an error later during processing allows a producer to start producing data already before it knows whether the whole process will be successful
2025-04-29 13:02:49 +0200 <haskellbridge> <Liamzee> is there a way around it? I'm working with Hasql and I'm trying to replicate its explicit exception philosophy
2025-04-29 13:03:04 +0200 <tomsmeding> in return, a consumer is forced to already start consuming data before knowing whether there is even supposed to be data in the first place
2025-04-29 13:03:06 +0200 <haskellbridge> <Liamzee> i'm also learning "hey, force / ! on inputs when you're going into IO is a good idea!"
2025-04-29 13:03:19 +0200 <tomsmeding> neither is always better than the other
2025-04-29 13:03:39 +0200 <haskellbridge> <Liamzee> i mean the target is a strict bytestring
2025-04-29 13:03:48 +0200 <haskellbridge> <Liamzee> so it's known that the data will be extant on use
2025-04-29 13:03:56 +0200 <haskellbridge> <Liamzee> source: strict text, target, strict bytestring
2025-04-29 13:04:03 +0200 <tomsmeding> "target" of the producer or the consumer?
2025-04-29 13:04:14 +0200 <haskellbridge> <Liamzee> also, Bytestring.pack points to packBytes, which on strict uses List.length
2025-04-29 13:04:15 +0200haskellbridgeLiamzee giggles
2025-04-29 13:04:33 +0200 <tomsmeding> there's little else it can do, is there?
2025-04-29 13:04:51 +0200 <haskellbridge> <Liamzee> the output of the strict bytestring
2025-04-29 13:05:28 +0200 <tomsmeding> so you want to transform a strict text to a strict bytestring, and be able to bail out halfway through if it turns out the Text wasn't valid somehow?
2025-04-29 13:05:44 +0200 <haskellbridge> <Liamzee> https://paste.tomsmeding.com/mFWq0v2a
2025-04-29 13:05:46 +0200 <haskellbridge> <Liamzee> yeah
2025-04-29 13:05:49 +0200 <tomsmeding> without having to check the whole Text before starting to write the ByteString
2025-04-29 13:06:03 +0200 <haskellbridge> <Liamzee> also the massive if is because i'm not going to import data.map for this
2025-04-29 13:06:59 +0200fp(~Thunderbi@wireless-86-50-140-117.open.aalto.fi) fp
2025-04-29 13:07:01 +0200 <tomsmeding> uh, what about `\c -> if '0' <= c && c <= '9' then ord c - ord '0' else 10 + ord c - ord 'a'`?
2025-04-29 13:07:02 +0200 <haskellbridge> <loonycyborg> wouldn't it stop processing automatically once it determines that input is invalid?
2025-04-29 13:07:09 +0200 <tomsmeding> less code, clearer, and faster
2025-04-29 13:08:23 +0200 <tomsmeding> Liamzee: for completeness, you can write what I think you want manually using ST: allocate a mutable array in ST, and write stuff into it monadically; if you succeed, freeze the array to a bytestring with some of their unsafe functions, and if not, just bail out and leave the array to be picked up by GC
2025-04-29 13:08:29 +0200 <haskellbridge> <Liamzee> you're right, the both of you
2025-04-29 13:08:37 +0200 <tomsmeding> it's not particularly compositional, but it does work
2025-04-29 13:08:44 +0200Chai-T-Rex(~ChaiTRex@user/chaitrex) ChaiTRex
2025-04-29 13:09:05 +0200 <tomsmeding> streaming libraries probably abstract over this pattern
2025-04-29 13:09:06 +0200 <haskellbridge> <loonycyborg> or you want to load bytestring itself in chunks?
2025-04-29 13:09:44 +0200 <tomsmeding> Liamzee: worth noting here is that if you're starting from a strict Text, then you won't stream that -- it's strict, after all
2025-04-29 13:09:48 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 264 seconds)
2025-04-29 13:09:59 +0200DigitteknohippieDigit
2025-04-29 13:10:07 +0200 <haskellbridge> <Liamzee> ?
2025-04-29 13:10:21 +0200 <tomsmeding> so the only upside of traversing it once (and writing the ByteString along the way) -- as opposed to doing a checking pass and then an always-successful writing pass -- is that you don't read the input twice
2025-04-29 13:10:27 +0200 <haskellbridge> <Liamzee> If I have a streaming function operating on the strict text, the text is discrete, but the work being done on the text should be streamable
2025-04-29 13:10:41 +0200 <tomsmeding> there is no such thing as "streaming work"
2025-04-29 13:10:50 +0200 <tomsmeding> there _is_ such a thing as streaming data
2025-04-29 13:11:12 +0200 <tomsmeding> or actually, I guess "streaming work" could be a different way to say "loop fusion"
2025-04-29 13:11:23 +0200 <haskellbridge> <Liamzee> ya
2025-04-29 13:11:32 +0200 <haskellbridge> <Liamzee> the code is disgusting, but i should go finish the library first
2025-04-29 13:11:40 +0200 <haskellbridge> <Liamzee> i wonder if anyone would help fix it, but someone already pointed out it's a bad idea
2025-04-29 13:11:58 +0200 <tomsmeding> but if you're talking about "streaming work", then there should be work to stream -- if you're going from strict text to strict bytestring, then there is no other work to fuse with this
2025-04-29 13:12:23 +0200 <haskellbridge> <Liamzee> in the sense that the code is obviously doing multiple streams
2025-04-29 13:12:32 +0200 <tomsmeding> GHC is not going to magically eliminate e.g. the intermediate strict bytestring if you process the bytestring immediately after creating it
2025-04-29 13:12:36 +0200 <tomsmeding> mostly because it's strict
2025-04-29 13:12:49 +0200 <haskellbridge> <Liamzee> chunksOfTwo does a full allocation of the list first
2025-04-29 13:12:57 +0200 <tomsmeding> if you use a _lazy_ bytestring, you can stream the data, and hence laziness will produce in some kind of "work streaming" too
2025-04-29 13:13:26 +0200 <tomsmeding> oh I see
2025-04-29 13:13:33 +0200 <tomsmeding> so you already have two passes here
2025-04-29 13:14:03 +0200 <haskellbridge> <Liamzee> fmap ByteString.pack
2025-04-29 13:14:14 +0200 <haskellbridge> <Liamzee> so it'd need to know whether the output of the intermediate types is Nothing or Just
2025-04-29 13:14:14 +0200 <haskellbridge> <Liamzee> which is fine
2025-04-29 13:14:27 +0200 <tomsmeding> I've never worked with streaming libraries personally, but I would look into prior art here, even if you don't decide to use such a library as-is but build your own thing
2025-04-29 13:14:46 +0200 <haskellbridge> <Liamzee> thanks for the suggestion
2025-04-29 13:15:01 +0200 <tomsmeding> the ST thing I described is what you want to happen operationally
2025-04-29 13:15:05 +0200 <haskellbridge> <Liamzee> the setup is that I'm trying to build something at least 3 people have said is a bad idea, but when has that ever stopped me?
2025-04-29 13:15:09 +0200 <tomsmeding> everything else is, somehow, an abstraction over that
2025-04-29 13:15:16 +0200 <haskellbridge> <Liamzee> ya, of course
2025-04-29 13:15:17 +0200 <tomsmeding> heh
2025-04-29 13:15:33 +0200 <haskellbridge> <Liamzee> trying to build sane safe defaults for a login library
2025-04-29 13:15:47 +0200 <tomsmeding> Liamzee: https://github.com/Bodigrim/linear-builder is an interesting bit of prior art perhaps
2025-04-29 13:15:50 +0200 <haskellbridge> <Liamzee> so, you have functions that call into postgresql for you without needing you to write any code
2025-04-29 13:16:12 +0200 <tomsmeding> it's not a full streaming library, doesn't model "bailing out"
2025-04-29 13:16:17 +0200 <haskellbridge> <Liamzee> and let you have a simple way to set up a login / registration system
2025-04-29 13:16:21 +0200 <haskellbridge> <Liamzee> ah
2025-04-29 13:16:29 +0200 <tomsmeding> but maybe it gives inspiration
2025-04-29 13:16:50 +0200 <haskellbridge> <Liamzee> this is just part of my library since I generate a random bytestring (512 bytes) as an authcode for validation
2025-04-29 13:17:05 +0200 <tomsmeding> re login library: that sounds like a thing that looks good to people who've written 2 crud applications, and is a bad idea to people who've written 10
2025-04-29 13:17:11 +0200tomsmedinghas written <=2
2025-04-29 13:17:48 +0200 <tomsmeding> personally I'd separate the application-level logic from the database interaction logic
2025-04-29 13:18:02 +0200 <tomsmeding> i.e. have your library take user hooks for actually writing to and reading from the database
2025-04-29 13:18:06 +0200 <haskellbridge> <Liamzee> yeah of course
2025-04-29 13:18:06 +0200 <shapr> GOOD MORNING HASKELL LAND!
2025-04-29 13:18:07 +0200 <haskellbridge> <Liamzee> it's just functions
2025-04-29 13:18:10 +0200 <tomsmeding> that separates it from a particular DB implementation
2025-04-29 13:18:12 +0200 <haskellbridge> <Liamzee> i spent 2 weeks learning enough
2025-04-29 13:18:16 +0200 <haskellbridge> <Liamzee> GOOD MORNING SHAPR
2025-04-29 13:18:19 +0200 <shapr> w00!
2025-04-29 13:18:20 +0200 <tomsmeding> shapr: hello!
2025-04-29 13:18:26 +0200 <shapr> Hiya tomsmeding !
2025-04-29 13:18:28 +0200 <shapr> Hello Liamzee!
2025-04-29 13:18:35 +0200 <tomsmeding> not morning any more here though :)
2025-04-29 13:18:51 +0200 <shapr> It's true, morning is a temporary thing
2025-04-29 13:18:56 +0200 <shapr> It's a beautiful day for code!
2025-04-29 13:18:59 +0200 <haskellbridge> <Liamzee> I spent 2 weeks learning enough postgreSQL-simple, lucid, and twain to build half a login and authentication system
2025-04-29 13:19:01 +0200 <tomsmeding> so it is
2025-04-29 13:19:14 +0200 <tomsmeding> sounds like a fun way to learn these things
2025-04-29 13:19:15 +0200 <haskellbridge> <Liamzee> time has no meaning for me, there is only the eternal now (and not now)
2025-04-29 13:19:26 +0200 <shapr> Hm, that does sound familiar
2025-04-29 13:19:34 +0200 <tomsmeding> "not now" is an important one
2025-04-29 13:19:46 +0200 <haskellbridge> <Liamzee> so i just want to abstract it so that people need less knowledge in order to slap together a basic Haskell web application
2025-04-29 13:19:54 +0200 <haskellbridge> <Liamzee> (not now implies death)
2025-04-29 13:20:06 +0200 <tomsmeding> it doesn't, there are many things I will not do now
2025-04-29 13:20:14 +0200 <tomsmeding> such as graduate
2025-04-29 13:20:23 +0200 <shapr> are you on the path towards graduation?
2025-04-29 13:20:33 +0200 <tomsmeding> <1 year to phd graduation, if everything goes according to plan
2025-04-29 13:20:38 +0200 <haskellbridge> <Liamzee> welp, not going to get into a complicated philosophy discussion
2025-04-29 13:20:39 +0200 <shapr> w00t!
2025-04-29 13:20:43 +0200 <tomsmeding> at least, my contract runs out in <1 year :p
2025-04-29 13:20:54 +0200 <haskellbridge> <Liamzee> that is to say, our certainty of "now" is greater than our certainty of the past or the future
2025-04-29 13:21:01 +0200 <shapr> Ah, Utrecht?
2025-04-29 13:21:03 +0200tomsmedinghas no clue about philosophy
2025-04-29 13:21:06 +0200 <tomsmeding> yep
2025-04-29 13:21:12 +0200 <haskellbridge> <Liamzee> we have direct experiential knowledge of what happens now, but what happened before is only something we know from memory
2025-04-29 13:21:35 +0200 <tomsmeding> (Liamzee saying "not going to do X" before proceeding to do X)
2025-04-29 13:21:41 +0200 <haskellbridge> <Liamzee> consequently we live in an eternal now, at any time we are alive, we constantly experience the now as privileged toward the past
2025-04-29 13:21:47 +0200 <shapr> CHAD looks like fun
2025-04-29 13:21:48 +0200 <haskellbridge> <Liamzee> i do this too often :(
2025-04-29 13:21:57 +0200 <tomsmeding> hacking on chad right now, actually!
2025-04-29 13:22:39 +0200 <tomsmeding> debugging the simplifier of my toy language, it does incorrect simplifications sometimes
2025-04-29 13:24:01 +0200jacopovalanzano(~jacopoval@86.24.252.106)
2025-04-29 13:24:27 +0200jacopovalanzano(~jacopoval@86.24.252.106) (Client Quit)
2025-04-29 13:24:47 +0200statusbot12(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) statusbot
2025-04-29 13:25:30 +0200statusbot(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Read error: Connection reset by peer)
2025-04-29 13:26:45 +0200rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2025-04-29 13:27:17 +0200rvalue(~rvalue@user/rvalue) rvalue
2025-04-29 13:27:49 +0200akegalj(~akegalj@144-188.dsl.iskon.hr)
2025-04-29 13:28:11 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2025-04-29 13:32:34 +0200fp(~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 276 seconds)
2025-04-29 13:39:29 +0200euphores(~SASL_euph@user/euphores) (Ping timeout: 248 seconds)
2025-04-29 13:46:07 +0200euphores(~SASL_euph@user/euphores) euphores
2025-04-29 13:46:14 +0200 <shapr> @quote
2025-04-29 13:46:14 +0200 <lambdabot> jonrafkind says: every time you use a list as an ad-hoc datastructure, a kitten dies
2025-04-29 13:46:29 +0200 <tomsmeding> I'm currently using a list as an ad-hoc data structure
2025-04-29 13:46:38 +0200 <shapr> they're virtual kittens, it's okay
2025-04-29 13:46:48 +0200 <tomsmeding> phew
2025-04-29 13:52:40 +0200fp(~Thunderbi@2001:708:20:1406::1370) fp
2025-04-29 13:52:43 +0200internatetional(~nate@2404:c0:2020::118:9ffb) internatetional
2025-04-29 13:52:55 +0200tromp(~textual@2001:1c00:3487:1b00:81f6:6a75:5fad:c9b4) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-04-29 13:53:54 +0200Typedfern(~Typedfern@135.red-83-37-43.dynamicip.rima-tde.net) (Ping timeout: 268 seconds)
2025-04-29 13:54:15 +0200 <haskellbridge> <Liamzee> some people use kitten emojis as substitutes for the >>= operator. Reducing bind traversals improves performance, so killing 🐱 operators is fine.