IRC channel logs
2026-04-23.log
back to list of logs
<zip>I figured it didn't sound much worse than just locking a queue's head/tail anyway so <zip>famous last words etc <cow_2001>"Data validation and type checking (supposedly) make for more correct code. And faster code too, sometimes. And, in rare cases, code that's easier to follow than un-checked code." <jboy>what I get for catching up on various group chats and irc channels before bed: I had a dream about adding a reticulum netlayer to goblins <lavandula>oops sorry that was supposed to be a private message to alis.... <janneke>returning null now if JSON.parse fails, and checking using external-null? on the scheme side <janneke>ACTION wouldn't mind if json-parse/JSON.parse were offered by hoot ;) <zip>actually am I right in remembering that HTTP3 doesn't actually give a shit where packets come from once it's got a connection identifier? Without the need to keep a TCP socket open I wonder if you could throw a request over to some random actor with a return path, connection ID and stream ID and have it talk back directly to just that stream <zip>then again perhaps that'd reset the return path for the peer, so maybe a no-go. <dthompson>janneke: if my json module for guile were to be merged, hoot would get a pure scheme json parser/serializer for free :) <dthompson>zip: http3 runs on top of quick which is multiplexed udp <zip>I've had a look through the spec and yeah it's nasty <dthompson>at FOSDEM I asked a Mozilla employee how hard it is to implement quic and they looked at me like I had two heads. <dthompson>"okay well if you want to then you need 10 engineers and 3 years" <n|Phreak>really thinking to create a massive library for all DOM elements so I don't have to keep repeating steps .. has anyone else created a library for DOM elements yet ? <n|Phreak>cause you only have to reference a dom element once <jfred>jboy: Heh, I have actually thought about doing that... the reticulum license change a while back put a bit of a damper on that though, it's GPL-incompatible now and a bunch of guile ecosystem stuff I might want to use (though not goblins itself) is GPL <jfred>*maybe* a netlayer implementation is arm's-length enough to be okay? but it's unclear if that's the case and I'd want to be really sure before putting in the effort <jboy>Haha cool, jfred. I would think so, bit I'm also not sure. <probie>Given that the reference implementation is written in Python, I feel like it'd be a pain to use with guile, even without licensing issues. If you implement the protocol yourself in guile, the license of the reference implementation doesn't affect you <dthompson>n|Phreak: when you say "elements" do you mean for the DOM API? if so, no, there isn't a library with full bindings yet. <dthompson>1) to efficiently make these bindings we need a WebIDL parser, kestrelwx is working on this part. <dthompson>2) to keep binary size down, we need to tree-shake out all imports that are not used in the compiled program. <n|Phreak>so you can't just create a libary with all the references in it per DOM element ? <dthompson>I mean, you *can* make this but it would be tedious to do by hand <dthompson>which is why there are WebIDL specifications for all the web APIs <dthompson>yes it would be nice to have modules for all this <dthompson>the only reason we haven't do so yet is due to lack of tooling to make it pleasant to write and to use <dthompson>I would very happily support you teaming up with kestrelwx to make this happen <dthompson>we would still be missing some stuff on the compiler side but we'd have a great use case to guide the work <n|Phreak>ACTION dthomposon that would be awesome , I just don't want to disappoint right now and I really just need to work on my scheme skills and knowledge <kestrelwx>dthompson: The parser is made by rgherdt, I think they are often online on #guile. <dthompson>n|Phreak: no worries! just want to encourage collaboration :) <n|Phreak>ACTION dthompson of course always appreciated. <dthompson>my ability to make large advancements in hoot is fairly limited right now so it would be fantastic if I could motivate contributions from others :) <n|Phreak>I understand; I will do what I can to help this project <dthompson>thanks for sticking with it despite all the rough edges <n|Phreak>Are you kidding its great , I'm learning a ton (Drinking from a hydrant) really getting to understand stuff and slowing down and practicing it. <dthompson>glad you're getting something out of the experience <dthompson>jfred, jboy: I don't know anything about reticulum so I'd be curious to know how ocapn might fit in with it <dthompson>often we find that these alternative networking things have some unfortunate overlap with ocapn that makes a netlayer not as straightforward as it could be <ridley>I'm glad to see there is some interest in gradual typing for guile! <cow_2001>why do they (lp (error ...)) in (define (check-arg pred val caller) (let lp ((val val)) (if (pred val) val (lp (error "Bad argument" val pred caller)))))? <cow_2001>instead of just (error ...) in the alternate prong of "if" <cow_2001>there are now many typecheckers for python <lavandula>jfred: only the python implementation is using the restrictive license (no evil). The protocol itself was dedicated to the public domain in 2016. <lavandula>i wouldn't want to use python as part of a networking stack anyways, so i don't particularly see the issue aside from a lack of alternative mature implementations <identity>cow_2001: maybe to un-tail-call it? maybe it has an impact on the backtrace, or something <n|Phreak>Looking into creating a webring using hoot and goblins <n|Phreak>I think SOLID is way too complex for a javascript library <n|Phreak>be nice to have a webring and your own space