00:22 soverysour joined, soverysour left, soverysour joined 00:27 soverysour left 01:07 sibl joined 01:30 Aedil joined, soverysour joined 01:35 soverysour left
tonyo . 01:45
01:55 hulk joined, kylese left 02:10 annamalai joined 02:15 hulk left, kylese joined 02:31 sibl left 02:33 sibl joined 02:39 soverysour joined 02:44 soverysour left 03:09 lichtkind__ joined 03:12 lichtkind_ left 03:25 sibl left, sibl joined 03:46 soverysour joined 03:51 soverysour left 04:13 johnjay left, johnjay joined
avuserow Here's a screenshot of my terminal emulator work-in-progress: fosstodon.org/@avuserow/116395488959003887 . It has a very minimal UI and a self-reload function so I can develop it from within itself 04:28
04:40 soverysour joined, soverysour left, soverysour joined 04:45 soverysour left 04:46 Sgeo left 05:20 soverysour joined, soverysour left, soverysour joined 05:21 sibl left 05:25 soverysour left 05:40 sibl joined 05:47 soverysour joined, soverysour left, soverysour joined 05:51 soverysour left 06:09 sibl left, soverysour joined 06:13 sibl joined 06:16 abraxxa joined 06:22 Aedil left, abraxxa left 06:24 abraxxa joined 06:30 sibl left, abraxxa left 06:31 abraxxa joined 06:35 soverysour left 06:45 soverysour joined, soverysour left, soverysour joined 06:47 sibl joined 06:58 soverysour left 07:16 sibl left 07:20 soverysour joined, soverysour left, soverysour joined 07:31 soverysour left 07:32 soverysour joined, soverysour left, soverysour joined 07:37 soverysour left 07:44 sibl joined 07:52 dakkar joined 08:12 soverysour joined 08:20 soverysour left
disbot2 <librasteve> weekly: fosstodon.org/@avuserow/116395488959003887 08:51
notable6 librasteve, Noted! (weekly)
08:55 soverysour joined 09:00 soverysour left
apogee_ntv librasteve_: This was the thing I was working on raku.land/zef:apogee/Selkie -- appreciate any input. 09:39
Retained mode, opinionated (inspired by re-frame), declarative, default-safe TUI framework with native performance. 09:41
09:44 sibl left 09:50 soverysour joined 09:55 soverysour left 10:15 topnep left 10:16 topnep joined 10:32 soverysour joined, soverysour left, soverysour joined
librasteve_ apogee_ntv: this is very nice … installed deps on homebrew painlessly and then Selkie itself … counter works … so far so good 10:36
disbot2 <librasteve> (except I have to go Ctrl-C to quit ??) 10:38
apogee_ntv Ctrl-Q and Ctrl-C should both work 10:47
If Ctrl-Q doesn't work please let me know what terminal you're on and I'll investigate 10:49
10:49 sjn left, Aedil joined
Voldenet apogee_ntv: I wrote it before, but consider asciinema examples 10:50
apogee_ntv Voldenet: I am definitely planning to do some video demos. 10:55
I dont know if asciinema is better than VHS with notcurses, raw mode can be a pain to automate recordings for.
Voldenet other thing - consider typed stores, current store is too vanilla Redux js to me, maybe something like `store X { has Int $.a; }; my $store = X.new; $store.register-handler('counter/increment', -> $st { $st.a })`
maybe even typed with customized dispatch and reducers, but I'm not sure if it's supposed to support immutable store state (like redux) 10:56
11:00 soverysour left
apogee_ntv Typed stores are an interesting idea for sure, I've just been typing the accessors and using Monad::Maybe for optional values 11:00
Voldenet or even, register-handler could be per-property somehow 11:01
apogee_ntv You can already register multiple handlers for 1 event IIRC so thats not impossible 11:02
Voldenet `$store.register-handler(*.a, -> $a, %ev { … }); $store.subscribe(*.a, $widget); $store.dispatch(*.a)`
i remember that using untyped store in Redux is huge pain 11:03
especially if the global state grows
apogee_ntv Yeah, it's definitely not ideal for large app state. 11:05
Voldenet this has nice ideas regarding syntax fco.github.io/Sourcing-2/ 11:06
disbot2 <librasteve> yeah Ctrl-Q no working for me on vanilla macOS Terminal 11:08
Voldenet you could do something like `store MyStore { has Int $.x; method increment-counter() is mutation { $!x++ }; method get-counter() is query { $!x } }` also
11:09 soverysour joined
Voldenet that would define register-handler using simplified syntax 11:09
disbot2 <antononcube> Everyone is in a hurry to reinvent text-based terminals.
<librasteve> github.com/m-doughty/Selkie/issues/1
apogee_ntv This is what I get for only testing on kitty :D 11:10
disbot2 <librasteve> Ctrl-P is fine btw (dashboard example)
<librasteve> @antononcube - all code is fashion ... TUI is one of the current trends (as a way to make coders look even more geeky to the non-coder folks) 11:11
Voldenet antononcube: I would be more worried if they were in a hurry to reinvent picture-based terminals 11:12
sixels are not supported on my terminal at all though 11:13
disbot2 <librasteve> on asciinema - I have been messing with it (a lot) eg here cragcli.info (too much already!)
<librasteve> never tried on a TUI
<librasteve> this site uses Air::Plugin::Asciinema ... which is built on the asciinema JS player 11:14
<librasteve> if I were to do that again, I would consider instead to use agg (asciinema gif generator) due to the lack of layout control the JS player offers ... 11:16
<librasteve> TLDR: try agg if you need to share asciinema recordings
<librasteve> wonders if you could build a TUI RAG with Selkie? 11:17
11:17 simcop2387 left 11:18 simcop2387_ joined
Voldenet I've seen a lot of people upload things to asciinema.org directly and then embedding things in readme 11:18
apogee_ntv TUI is a good trend tbh, better than Electron lol 11:19
I am so fed up of trivial apps that take 1GB+ RAM
11:19 simcop2387_ is now known as simcop2387
apogee_ntv TUI is performant and doesnt require binding and vendoring GTK or Qt 11:20
Voldenet everything is better than Electron, if you're making html page, why bother repackaging it :\
and making me run 10 separate browser engines at the same time, eh 11:21
once you load the obnoxiously heavy browser, js webapps can get quite small on top of it, I can run 100 at the same time for "free" 11:22
disbot2 <antononcube> No, it is not that. Or, more precisely, it is not just that. The main reason is "big" LLM providers prefer to facilitate the LLM access via dedicated CLI tools. 11:31
<antononcube> And this dictates certain fashion of text terminal adoption. (Which in many ways should be a "no brainer"...) 11:32
librasteve_ Voldenet: yes asciinema has a cloud service too - good point … you can use that with Air::Plugin::Asciinema too 11:33
apogee_ntv librasteve_: Fixed Ctrl-Q on MacOS Terminal (and any other that sets IXON/IXOFF) in Selkie 0.2.3 11:38
tbh I thought notcurses did this automatically. 11:39
12:06 sp19833_ joined
librasteve_ all good with Ctrl-Q -tx! 12:25
apogee_ntv Sweet, let me know if you hit anything else. BTW there are full API docs at github.com/m-doughty/Selkie/blob/m...i/index.md -- will get a site up at some point to make this stuff easier to navigate. 12:32
12:36 sp19833_ left 12:37 sp19833_ joined 13:03 sp19833_ left 13:04 sp19833_ joined 13:45 sjn joined 13:46 sp19833_ left
disbot2 <librasteve> is there a way to check whether a zef package is a new module release? I am thinking of diff ing 360.zef.pm/ from week to week, but that seems like quite a lot of effort and there may well be a better way?? 14:49
14:53 sp19833_ joined 14:55 sp19833_ left, sp19833_ joined 14:59 sp19833_ left 15:01 sp19833_ joined 15:06 sp19833_ left, donaldh joined 15:07 donaldh_ joined 15:11 sp19833_ joined 15:12 donaldh_ left 15:16 soverysour left 15:28 sp19833_ left
[Coke] raku.land/zef:coke/App::Cal, for example, shows "7 Feb 2024" as the release date for the current version. 15:32
but that info doesn't seem to be in 360.zef.pm/ 15:33
wondering if raku.land is pulling that from the git repo or its logs.
a hygenic git repo has, e.g.: github.com/coke/raku-cal/releases/tag/0.9.1 15:34
(but you can't rely on authors doing that even if they do use github) 15:35
disbot2 <antononcube> @librasteve The most topical new package release is this one: raku.land/zef:antononcube/WWW::Hor...erisSystem
<librasteve> just in time ;-) 15:40
15:41 schbax joined
disbot2 <antononcube> Didn't have time to implement the 3D trajectory plotting. (In Raku.) 15:41
<antononcube> I plan to do it this week.
<librasteve> [Coke] thanks ... yeah I already automated grabbing the "most recent" from that page, but I am trying to avoid screen scraping the actual module page release date history drop down 15:42
<librasteve> I will probably just make a list of all modules manually, store as keys to a .raku hash and then append to it each week ;-) 15:44
librasteve_ notable6: weekly 15:45
notable6 librasteve_, 6 notes: gist.github.com/e2b318fa9486dc354f...a6efa72cf0
librasteve_ notable6: weekly reset 15:47
notable6 librasteve_, Moved existing notes to “weekly_2026-04-13T15:47:15Z”
librasteve_ bot test raku.org/tools 15:49
MOAR#768
linkable6 MOAR#768 [closed]: github.com/MoarVM/MoarVM/issues/768 Buncha warnings when compiling on Win10 using Strawberry Perl suite's compiler
librasteve_ rtfm
buildable6: status 15:50
disbot2 <librasteve> .hug 15:51
huggable6 hugs librasteve
16:25 annamalai left, annamalai joined 16:31 topnep left 16:33 topnep joined 16:48 dakkar left 17:02 soverysour joined 17:08 soverysour left 17:36 abraxxa left 17:38 soverysour joined
librasteve_ rakudoweekly.blog/2026/04/13/2026-...gs-busses/ 18:00
18:03 johnjay left 18:07 johnjay joined 18:25 annamalai left, annamalai joined 18:37 topnep left, Ekho left 18:38 topnep joined 18:39 Ekho joined
ugexe m: my $x = <1>; sub foo(Int() $y) { say $y.WHAT; $y; }; say foo($x) 18:50
evalable6 (IntStr)
1
ugexe m: my $x = <1>; sub foo(Int() $y) { say $y.WHAT; $y; }; say foo($x).WHAT 18:51
evalable6 (IntStr)
(IntStr)
18:58 soverysour left 19:19 abraxxa joined, abraxxa left 19:20 abraxxa joined 19:21 abraxxa left
lucs irclogs.raku.About a week ago, instead of using --force-fetch to grab a module with zef, I obtained and installed the raw.githubusercontent.com ca certificate, which permitted the fetch. 19:31
(Oops, spurious URL at the beginning there.)
Now today, I'm getting the same problem.
Obtained the certificate, and it appears to have changed.
Does it keep doing that? 19:32
avuserow raw.githubusercontent.com is signed by Let's Encrypt so it will rotate quickly 19:33
lucs Ah, hmm... 19:34
avuserow the CA cert shouldn't change that often though
lucs I'm not sure I'm doing this correctly, but I obtain the certificate with `openssl s_client -connect raw.githubusercontent.com:443 -showcerts` 19:36
avuserow Let's Encrypt should be trusted by basically all OSes trust stores, for what it's worth. but I am probably missing context on why you need to verify it directly
lucs My (limited) understanding is that once obtained, something like this is necessary (Slackware Linux): `cp the-certif.crt /usr/local/share/ca-certificates; update-ca-certificates` 19:38
Worked last time, will try with today's certificate to see... 19:39
avuserow you want to put a CA cert into your store (like from letsencrypt.org/certificates/ or equivalent), not the leaf one that's served up. then the CA cert can be used to validate any new leaf cert. (leaf cert is probably not quite the right term but the idea holds) 19:41
lucs I think I see what you mean. I'll aim for that. 19:44
20:04 librasteve_ left
avuserow I'm looking for some NativeCall advice. I'm trying to send a CArray of structs to a function that's like `void doSomething(MyType *stuff)`. If I define it as `sub doSomething(CArray[MyType]) is native(...)` then it gets sent as a MyType** rather than MyType*. I'd appreciate some pointers (heh) if anyone has done this 20:16
stackoverflow.com/questions/646842...-raku-to-c has a workaround for this situation but I was hoping there was a core-provided way since then
(otherwise I'd probably prefer to write a small C wrapper function myself since that seems safer/cleaner, at the cost of introducing a compiler step) 20:17
20:42 Aedil left 22:58 johnjay left 23:00 MasterDuke joined, johnjay joined 23:24 MasterDuke left
apogee_ntv avuserow: Wrapping is the least painful option. 23:32
Saying this as someone who writes a lot of nativecall, unless you want to abuse Buf and manually align struct fields... wrap it :D 23:33
23:47 Sgeo joined 23:55 soverysour joined, soverysour left, soverysour joined