SmokeMachine apogee_ntv: thinking about that again, now I think I should create a new distro and when done, if you think you should, you can include that inside your distro. I'm thinking it because I'm rethinking on how it should work and my idea goes against some of your disto's principles... 00:04
apogee_ntv: now I'm thinking on something like this: www.irccloud.com/pastebin/XtCffbni/ 00:05
ugexe github.com/rakudo/rakudo/pull/6129 adds the bug compatibility to RakuAST and then revision gates the removal of that bug compatibility in 6.e while also emitting a non-fatal worry for users 6.d and earlier telling them what to change 00:10
00:26 sacomo left 00:38 sacomo joined
SmokeMachine apogee_ntv: by going against some of the distro’s philosophy I mean going against `Explicit over implicit` point 00:41
apogee_ntv Yeah it may make sense to make it a separate module. I don't dislike the idea, just not sure if I want to maintain it. :D 00:44
SmokeMachine 👍 and in the future if you change your your mind, we can change it… 00:46
apogee_ntv: is there a subscribe with callback with no computation? 00:56
apogee_ntv SmokeMachine: Whats the use case? compute is how the callback knows whether to run. You want to run it on every update even if there's no change? 01:01
There's on-tick or you could set compute to s -> { now } or something, that would be different every tick. 01:04
SmokeMachine apogee_ntv: I plan to, if `has $.something is state` and `Widget(…).some-change({ $!something })`, I’d like to do a subscribe to ‘something’ and run `$widget-object.method-related-to-some-change( $!something )`, and $!something would be a proxy that will call .get-in: “something”.
apogee_ntv: no, I want to run a callback only when a state path is update. 01:05
s/update/updated/ 01:06
apogee_ntv $store.subscribe-with-callback("some-change-{self.WHICH}", { $!something }, -> $v { self.method-related-to-some-change($v) }, self) if I'm understanding right does what you're asking for. 01:08
SmokeMachine That way, when a path changes, everything that uses that path will be updated
apogee_ntv Yeah so under the hood what compute does is just store the value of the compute fn, and then when that value changes it runs the callback. 01:09
SmokeMachine apogee_ntv: yes, but if I got it right, it will run the first block every iteration, right? I’d like to avoid that and only run that when the path’s value is changed 01:11
apogee_ntv Yeah it will run it every iteration, but it has to run a comparison every iteration to know if the value changed either way. 01:12
SmokeMachine Do you also compare the path value on every iteration? I though you would use a dirt flag as you do on widgets… 01:13
But if that’s the case, yes, I can use what you described 01:14
apogee_ntv For compute yes, it's usually used for more complex comparisons.
Will add push-based callback sub in next release 01:16
SmokeMachine apogee_ntv: did you have the chance to take a look at the snippet I sent? Any opinions/suggestions? 01:17
apogee_ntv The DSL? I got a quick look, looked fine at a surface read. 01:18
SmokeMachine The one I posted today?
apogee_ntv Yeah the Selkie one? 01:20
www.irccloud.com/pastebin/XtCffbni/ This one?
SmokeMachine apogee_ntv: this one: www.irccloud.com/pastebin/XtCffbni 01:21
01:22 kylese left, hulk joined
apogee_ntv Yeah, I think if you want to, make it a module and then we can always merge it in if it makes sense to. My main thing is it would have to be maintained and right now Selkie changes 4x a week :D 01:22
(if it were merged)
SmokeMachine Yeah, I plan to make it a different module. 01:23
apogee_ntv Pushing 0.4.5 with subscribe-path-callback(Str:D $id, @path, &callback, Selkie::Widget $widget) 01:34
SmokeMachine Thanks! 01:35
apogee_ntv np
Sorry took me a second there, its 2.30am here and I've had a couple of whiskeys :D
When you said un-computed my brain went to 'compute always passes', not 'a path sub with a callback' lol 01:37
And compute always passes is on-tick 01:38
In the old version it compared every iteration that an event was handled, so not every tick but if any part of the state changed, compute runs. 01:45
If state didnt change, subs-primed gated it
So it wasn't doing compute-widgets * 60 checks/sec :D 01:46
SmokeMachine Np. I’m sure my English didn’t help either… :) but thank you
apogee_ntv No your English is fine :D just my brain was fried from counting CPU wakes for past 4hrs trying to work out why Selkie was using more battery than cubase (it now uses much less than cubase). 01:47
SmokeMachine \o/ 01:48
apogee_ntv Actually uses ~400x less than before where a debug I forgot to take out was basically pinning a core :D
Or rather, I removed a sleep to debug and forgot to put it back 01:49
So the main loop was doing ~260,000Hz instead of 120Hz 01:50
SmokeMachine At least it would be comfortable to use that on cold weather… :)
apogee_ntv Well it was just doing a 'has 8ms elapsed' check and then re-looping it. On a macbook pro it wasnt producing any obvious impact except on the battery. 01:52
8ms since last tick* 01:53
Now it sleeps for the rest of the tick because we use notcurses buffer for events, then just drains the notcurses buffer on tick
key/mouse events* 01:54
K I'm going to bed, very tired. Night all.
SmokeMachine Me too… see ya 02:07
02:15 hulk left, kylese joined 02:51 sibl joined 03:19 sibl left 03:20 sibl joined 04:00 Aedil joined 04:01 lichtkind__ left 04:29 sibl left 05:29 [r4] joined 05:37 sibl joined 06:07 sibl left, sibl joined 06:21 dpk joined 06:24 [r4] left 06:39 Sgeo left 07:21 abraxxa joined 07:29 abraxxa1 joined 07:33 abraxxa left 08:05 dakkar joined 09:04 abraxxa1 left 09:10 abraxxa joined 09:40 sibl left 09:47 sibl joined 10:22 abraxxa left 10:24 abraxxa joined 10:25 sibl left
disbot2 <melezhik.> o/ 10:59
<melezhik.> I know some Raku folks are into AI/LLM stuff here. Any thoughts on qwen.ai? 11:00
<melezhik.> What do you think about qwen.ai ? I have played a bit with it with regards to tell it generate sparrow tasks , the results are not that bad
<melezhik.> I was impressed how quickly it grasped the documentation and created pretty solid code for me 11:01
<melezhik.> Though I did not give it too complicated tasks . But still , given that Sparrow framework is not well known 11:02
<melezhik.> My next thoughts - ok , I will probable be able to teach it all the stuff and generate a tons of sparrow plugins for automation , but how can “sell” them to business ? $ ) 11:05
apogee_ntv o/
Qwen is decent, I mostly use Kimi. 11:06
disbot2 <melezhik.> Ok ) I am thinking about using agents as well , so far it’s just chat via web ui 11:07
<melezhik.> Kimi is Chinese as well ?
<melezhik.> Also using LLM against your frameworks is pretty effective way to actualize / polish documentation 11:09
apogee_ntv Kimi is chinese yeah. 11:24
I use Kimi Code
11:33 abraxxa1 joined 11:36 abraxxa left 11:40 constxd left, constxd joined 12:07 dakkar_ joined
disbot2 <antononcube> I have downloaded a "qwen*" models in/via Ollama. Last one I downloaed and used is "qwen3-coder:30b". I had decent coding results with it, I think. Using in Raku sessions or tools, BTW. But since Google released the "gemma4" models I use "gemma4:26b" a lot. 12:09
<melezhik.> What’s Ollama? 12:10
12:10 dakkar left
disbot2 <melezhik.> I would like to integrate a model into my system how can I do so ? 12:11
<melezhik.> In other words I would like to have a persistent state for my model , so I won’t have to retrain it every time 12:12
12:13 dakkar_ left
disbot2 <melezhik.> “"Chatnik" uses files of the host Operating System (OS) to maintain persistent interaction with multiple LLM chat objects” looks like what I need ? 12:14
<melezhik.> Sorry for silly questions. I am a AI newbie) 12:15
<antononcube> There are, of course, multiple ways to do that. It really depends on: - What is "persistence" or a good "persistent level" for your project? - Do you want to use Raku? Or Python? - Can you use a locally-run model? 12:16
<antononcube> The first question, actually, has a few sub-questions. 12:17
12:17 dakkar joined
disbot2 <antononcube> Ollama can be used to interface with "locally run" LLMs. (I.e. run on your computer.) ollama.com 12:18
<antononcube> There is a Raku package "WWW::Ollama" that is an Ollama client.
<antononcube> With "Chatnik" you can make LLM pipelines with the OS shell. Good, useful, or cute, but I doubt it is what you need. 12:19
12:23 [r4] joined 12:40 dakkar left 12:44 dakkar joined 13:10 dakkar_ joined 13:11 dakkar_ left 13:14 dakkar left 13:43 abraxxa joined
[Coke] ugexe: any more commits expected before release? 13:43
github.com/raku-community-modules/.../issues/27 13:46
13:46 abraxxa1 left
ugexe just merged the PR with the fixes 13:48
[Coke] ok. If that fixes the Testo issue, we're probably good. 13:49
testing now.
Thanks for all the work this release! 13:50
ugexe: note: that avoids the Testo error entirely, and I don't see a deprecation warning. 13:56
guessing the check might be class specific and skip role? 13:57
(this can be changed post release)
ugexe probably the `&& $existing.HOW.HOW.name($existing.HOW) eq 'Perl6::Metamodel::ModuleHOW'` needs to be expanded to also check for PackageHOW. but yeah I probably wouldn't worry too much about it... i'll probably take a crack at improving it in the future but i dunno if it will be a high priority 14:07
14:33 Aedil left
disbot2 <antononcube> I am trying to get CNN's fear and greed index using Raku. I can do that with Python and Wolfram Language, but with Raku I get "I am teapot" message. 14:38
<antononcube> I tried "HTTP::Tiny", "HTTP::UserAgent", and "Cro::HTTP::Client" -- in case one of these might work. 14:39
<antononcube> Here is an example: use HTTP::Tiny; my $url = 'production.dataviz.cnn.io/index/fe...raphdata'; my $User-Agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'; say .<content>.decode with HTTP::Tiny.get($url, headers => {:$User-Agent, Content-Type => 'application/json'}); # I'm a teapot. You're a bot. 14:40
<antononcube> What might be the explanation? 14:42
<antononcube> One of the LLMs suggests that CNN does not treat Python requests (by the package "requests") as bot requests.
<antononcube> Maybe, just using curl would work, but I have not tried that yet... 14:43
15:07 abraxxa left 15:19 havochunter joined
disbot2 <rcmlz> @antononcube glot.io/snippets/hhtg6x61un 15:39
<rcmlz> I just copied the header line by line my firefox is sending until it worked. 15:40
<antononcube> Thank you!! Really good to know! 15:42
<rcmlz> (shame now everyone can see what ancient hardware I am using .. ;-) 15:44
<antononcube> Great! That code of yours works for me too.
<rcmlz> (shame that a "bot protection" can be overcome so easily .. ;-) 15:46
<antononcube> This means I can make a Raku post about CNN-supported 😨 & 💰.
16:28 abraxxa joined, dakkar joined 16:39 dakkar left 16:46 abraxxa left
ugexe [Coke]: i'll push a commit later to handle the testo case (i.e. handle the issue with outer package names not just outer module names) so we can rename the exception to be more generic before the release (since it wont just apply to module) 16:50
[Coke] ugexe++ 17:08
17:57 librasteve_ joined
librasteve_ notable6: weekly 17:59
notable6 librasteve_, 2 notes: 2026-04-14T07:22:52Z <librasteve>: www.reddit.com/r/rakulang/comments..._for_raku/ ; 2026-04-16T11:15:51Z <librasteve>: github.com/Raku/doc/issues/3807
El_Che . 18:09
18:15 Aedil joined
librasteve_ rakudoweekly.blog/2026/04/21/2026-...framework/ 18:35
El_Che that's a nice TUI 19:52
20:07 havochunter left 20:26 Aedil left 21:24 [r4] left 22:27 Sgeo joined