IRC channel logs

2025-01-08.log

back to list of logs

<jfred>cwebber: haha yeah I opened up my fediverse client after my meeting and whoa notifications! :P but thanks :)
<cwebber>💜
<dckc>anybody care to recommend an IRC client for Android? maybe a web client is best...
<dckc>ooh... PWA... https://thelounge.chat/docs
<dckc>bummer... no joy @ https://packages.guix.gnu.org/search/?query=thelounge
<dthompson>yeah no way that would be packaged. uses npm
<dckc>dunno why that makes it "no way". there are nix tools to take package.lock and Do The Right Thing.
<dckc>meanwhile, thelounge has a docker thing... here's hoping for a "please launch this docker widget as a confined shepherd service" widget
<dthompson>someone might have it in a channel but no way it could get into guix itself
<dckc>I don't see the obstacle.
<dckc>what am I missing?
<dckc>channels sound reasonable... is there an index of most of them somewhere?
<dthompson> https://toys.whereis.social/channels
<dckc>spif. thanks. I also see https://github.com/franzos/awesome-guix
<dthompson>re: npm, this article by cwebber is almost 10 years old but it explains things https://dustycloud.org/blog/javascript-packaging-dystopia/
<dckc>yes, I read that. it over-states the case in various ways, IIRC
<dthompson>nix claims to care about reproducibility, bootstrappability, etc. but in reality they just ignore that a lot of the time
<dthompson>npm packages are unsuitable for inclusion in guix. lots of pre-built binaries, recursive dependencies, etc.
<dckc>but lots are not
<dckc>"some packages are bad; therefore all packages are bad" is not a valid argument
<dthompson>in my experience even some packages that appear trivial are not
<dthompson>if you want to build them from source
<dckc>that's STILL not an argument that all npm packages are bad
<dckc>most of the scheme stuff that I find has hopeless docs. so there :-P
<dckc>a hello-world usage example in the README is somehow not part of scheme culture
<dthompson>okay well we'll have to agree to disagree. I've spent a lot of time investigating how to do this in the past.
<dthompson>docs are another matter entirely
<dckc>they're both related to adoption
<dckc>a 1 line description for each channel would greatly improve my enjoyment of toys. , for example
<dthompson>looks like there is a synopsis field but it's empty for most
<dckc>ah
<jfred>dckc: I use goguma on android (using it right now in fact) and like it. Best with a bouncer that supports chathistory, sourcehut has a hosted soju instance if you happen to be a subscriber
<dckc>good to know; thanks.
<Gooberpatrol66>what is the relationship of ocapn to captp? successor? superset? does something else entirely?
<dthompson>captp is a component of ocapn
<dthompson>so superset
<Gooberpatrol66>i see, thanks
<Gooberpatrol66>what parts does ocapn add
<dthompson>ocapn is captp + netlayers + URIs
<dthompson>the ocapn home page explains a bit https://ocapn.org/
<dthompson>captp is the core. netlayers provide message transport. URIs allow for bootstrapping users into the network.
<Gooberpatrol66>maybe a weird question, can a netlayer be another capability system or is it supposed to be a "dumb pipe" to dump serialized data in?
<dthompson>hard to say without specific examples but I suppose it could be some other capability thing, as long as the netlayer interface is implemented correctly
<dthompson>I gotta go... sleep time
<dthompson>ACTION zzz
<Gooberpatrol66>the idea came to me of captp as the rpc mechanism for gnu mach (hurd's kernel). it currently uses MIG as the IDL which i think is a problem as it's old and idiosyncratic and only supports C. but mach already creates a capability mechanism so i don't know if you can just take goblins off the shelf and use mach ipc mechanisms as a netlayer, or if that would be redundante functionality. i don't have a super clear idea in my head of the
<Gooberpatrol66>different layers of the stack
<dckc-mob>Ping from mobile via web.libera.chat
<dckc-mob>Experimenting with voice to text on mobile
<cwebber>Gooberpatrol66: in fact you can even do an ocapn netlayer over ocapn
<cwebber>That's how the (p)relay netlayer works.
<cwebber>Gooberpatrol66: I don't know if mach ports can be a netlayer yet for sure but probably yes. To be done right requires some careful thinking however.
<Gooberpatrol66>cool, thanks!
<jfred>I haven't used the Hurd much myself yet but that sounds like a neat idea
<dthompson>jlicht: after a failed overnight build (laptop ran out of ram or something), I finally have a working node 22.12.0 build using your patches and things look good!
<dckc-e>ACTION waves from a thinkpad where he just installed guix
<dckc-e>I'm trying out exwm.
<dckc-e>it said "can't find exwm config; falling back to default" or words to that effect. I'm a little surprised that it considers that remarkable.
<dckc-e>It might make a little more sense if it included clues on how to set up a config.
<dckc-e>looking for guiser, I found guix-emacs-autoload-packages... and ran it... now... what have I done? oh yeah... (checks help...)
<dckc-e>this IRC mode autocompletes on nicks... which reminds me of the way that name: in IRC culture is used to address someone called name, whereas the norm for ages before was name, . name: usually means name said ...
<dckc-e>I remember ctrl-H v, but that's for variables. but I want help on a command here...
<jfred>ctrl-h f (for functions) might be what you're looking for
<jfred>commands are interactive functions
<dckc-e>ah yes... thanks!
<jfred>if my sway config wasn't loaded for some reason I'd want to know about it... though it would be immediately obvious that it wasn't loaded because my session is heavily customized haha
<dckc-e>exwm and sway are the same? or... I see. you mean by analogy
<dckc-e>so IRC was built in, but I ran into "no web browser available". let's try package-list-packages...
<jfred>they're similar in that they're both minimal/customizable tiling window managers
<jfred>and coming into IRC later on I was always surprised when some IRC clients defaulted to "name," for addressing someone. I suppose that's maybe more of a MUD culture thing?
<jfred>(well, and physical letter writing etc haha)
<dckc-e>the only web browser I found in package-list-packages was luwak. but M-x webjump still gripes about no browser
<dckc-e>heh... "no such file or directory lynx"
<dckc-e>(dayjob alarms starting to chime. darn)
<dckc-e>hm... no guix-install emacs command? I could use a shell, but the exercise here is to avoid that.
<jlicht>dthompson: oof, I've not seen that happen yet. older machine, or big tmpfs perhaps?
<dckc-e>package-list-packages shows nothing about guix. odd.
<dckc-e>maybe M-! ...
<dckc-e>ok... found menubar-mode ... Options ... Set Default Font
<dckc-e>jfred: what browser do you use?
<jfred>dckc: Firefox :) I've tried nyxt a couple times but haven't stuck with it, that's the most interesting alternative to me though
<jfred>I'm not sure if it's installed by default but you might find "M-x guix" useful
<dckc-e>failed silently??
<jfred>if it's not installed by default then the guix package "emacs-guix" would get it for you
<jfred>it's got a whole menu-driven emacs interface to guix
<dckc-e>gr... still fails. how do I get emacs to notice that I installed it?
<dckc-e>normally I might quit and restart emacs, but now I'm more or less living in emacs, and I don't want to die.
<jfred>that's actually something I haven't quite worked out either for emacs packages installed through guix ^^;
<jfred>I feel like there must be a way to do it but I'm not in exwm so haven't dug into it that much
<dckc-e>exwm docs talk about s-r as a keybinding. I know what c-r or M-r is, but what's s-r???
<jfred>super-r (or windows-r) I assume
<jfred>you usually wouldn't use the super key in emacs because it's commonly used for WM/DE keybindings, but if emacs is your WM...
<dckc-e>ok... I'm back
<dckc-e>does emacs IRC keep logs somewhere? (for later, perhaps)
<dckc-e>more urgently...
<dckc-e>GRR! it forgot my font size change!!!
<dckc>"For any computer program that offers to record my knowledge, integrity is job one. No other feature matters if, after 20 minutes of editing, it crashes and throws away my work." -- https://www.w3.org/wiki/IntegrityIsJobOne
<dckc>I suppose this case wasn't that rude. I did explicitly tell it to quit, and somewhere I'm sure it's documented that the menu I used to set the font size doesn't persist between sessions. but... ugh.
<dckc>are we going to have a spritely goblins editor? :)
<dckc>(with persistence)
<dthompson>jlicht: machine is from 2022 so quite new, 32GB of RAM. 20 cores so I think that plus leaving firefox open with a billion open tabs ate all the memory. I did the following build without firefox running and was up to ~26GB of RAM usage at peak.
<dthompson>jlicht: I'm gonna leave a note of approval on your patch series. do you have commit access? I haven't kept up-to-date
<dthompson>dckc: we'd like to have a browser-based learning environment, at least. so we can walk people through the basics without them needing to install everything. something to use for conference workshops and stuff.
<dthompson>that would include some kind of editor + repl
<dckc>ah. right.
<dckc>see also https://github.com/Agoric/agoric-sdk/discussions/7033 zero-install / cloud-IDE option for getting started with agoric-sdk
<dthompson>minus the UI work that would be needed, we're close to having the other essential components usable
<dckc>have you considered gitpod?
<dthompson>dckc: cool thanks for the link
<dthompson>no, but looking at it I think it's too much for what we're going for.
<dthompson>like we don't want to be launching cloud environments or anything
<dckc>ah. I suppose you should be able to fit roughly your whole system in the browser
<dthompson>yeah we need to keep things pretty minimal in terms of resources
<dckc>have you seen newspeak? smalltalk-meets-ocaps https://newspeaklanguage.org/ "Try it online right now."
<dthompson>a fully featured dev environment is a little beyond our reach at the moment. but an app that can introduce goblins to people is feasible.
<dckc>newspeak is deployed to the web using webasm
<dthompson>I've seen a number of different "try it now" type things on various programming language web sites
<dthompson>generally either a js port or an interpreter compiled to wasm with emscripten
<jfred>it would be very cool if I could have live goblins code running in the browser on blog posts like my recent one
<dthompson>yeah I think that will become possible this year
<dthompson>I see that newspeak has https://newspeaklanguage.org/webIDE/public/assets/lib/primordialsoup.wasm
<dckc>yes... newspeak is just particularly interesting because it's ocaps-all-the-way-down (to a platform, which is in smalltalk). The module system is cool.
<jfred>(though I split up some of the objects in odd ways for commentary so I'd also need a way to tangle them together in literate programming style)
<jfred>ACTION has been meaning to look into newspeak more
<dthompson>might be good to take a closer look at it for oaken if it has a neat module system
<dckc>re primoridialsoup... discovering https://github.com/newspeaklanguage/primordialsoup cost me hours and hours of study :)
<dthompson>idk if there are other wasm binaries I'm not seeing but primordialsoup is quite small, only 322KiB. either there's more elsewhere or they've managed to do a lot with a little or maybe there's more stuff implemented in js
<dckc>looks like my newspeak deep-dive was Nov 2021. That's what git blame on awesome-ocap says, anyway
<dckc>primordialsoup.wasm is their VM
<dckc>written in C++ (sigh)... but it's a bytecode VM. eventual send is one of the bytecodes :)
<dckc>definitely an OCapN target
<dckc>hmm... maybe something to explore for genode, too
<dckc>void Interpreter::EventualSend(intptr_t selector_index, intptr_t num_args) https://github.com/newspeaklanguage/primordialsoup/blob/9ac43beaca8b006dce62ccd237dfb2f3f3c833c5/vm/interpreter.cc#L710C1-L710C75
<dckc>I wonder whether the sysinit folks have seen newspeak
<jfred>newspeak speaking ocapn to goblins would be neat :)
<dckc>I'd love to have the newspeak folks join an OCapN meeting or something sometime
<jlicht>dthompson: I can commit, or you can, after some appropriate time. I won't be at a PC before Monday either way :)
<dthompson>jlicht: do you know if these can go right to main is there a team branch that they need to go to?
<dthompson>I'm happy to commit them. I should check if node is a leaf package...
<jlicht>I'm guessing straight to main, but we're cutting it close wrt guix refresh stats
<jlicht>it impacts both chromium and the firefox-family of browsers, afaics
<dthompson>guix refresh -l node says 280 dependents
<dthompson>yeah I think we should ask someone to get this pre-baked in CI before merging or something
<dthompson>the browser recompilation will be disruptive
<jfred>(as someone who regularly uses guix on small arm boxes, thank you for that XD)
<jlicht>please do dthompson, thanks for getting this Node thing done
<dthompson>👍
<dthompson>I guess worst case scenario is I poke someone to take care of it at guix days lol