[00:46] *** schbax left
[00:52] *** schbax joined
[01:17] *** topnep left
[01:19] *** topnep joined
[01:36] *** johnjay left
[01:40] *** johnjay joined
[01:51] *** schbax left
[01:52] *** hulk joined
[01:53] *** kylese left
[01:57] *** schbax joined
[02:15] *** hulk left
[02:16] *** kylese joined
[02:28] *** schbax left
[02:34] *** schbax joined
[02:36] *** johnjay left
[02:36] *** johnjay joined
[02:47] *** johnjay left
[02:47] *** schbax left
[02:48] *** schbax joined
[02:49] *** johnjay joined
[02:53] *** schbax left
[02:55] *** johnjay left
[02:57] *** johnjay joined
[02:58] *** schbax joined
[03:06] *** lichtkind_ joined
[03:08] *** lichtkind left
[03:13] *** johnjay left
[03:18] *** schbax left
[03:23] *** topnep left
[03:24] *** schbax joined
[03:25] *** sibl joined
[03:27] *** topnep joined
[03:29] *** schbax left
[03:35] *** schbax joined
[04:08] *** Aedil joined
[04:12] *** abraxxa1 left
[04:12] *** abraxxa joined
[04:20] *** abraxxa1 joined
[04:20] *** abraxxa left
[04:20] *** abraxxa1 left
[04:20] *** abraxxa joined
[04:22] *** abraxxa1 joined
[04:37] *** schbax left
[04:43] *** schbax joined
[04:47] *** schbax left
[04:52] *** schbax joined
[05:07] *** abraxxa1 left
[05:12] *** soverysour joined
[05:12] *** soverysour left
[05:12] *** soverysour joined
[05:22] *** soverysour left
[05:31] *** topnep left
[05:32] *** topnep joined
[05:33] *** schbax left
[05:39] *** schbax joined
[05:42] *** sibl left
[05:45] *** sibl joined
[05:47] *** schbax left
[05:54] *** schbax joined
[06:02] *** schbax left
[06:07] *** schbax joined
[06:09] *** soverysour joined
[06:10] *** schbax left
[06:14] *** soverysour left
[06:15] *** schbax joined
[06:25] *** schbax left
[06:31] *** schbax joined
[06:39] *** soverysour joined
[06:44] *** soverysour left
[06:45] *** soverysour joined
[06:45] *** soverysour left
[06:45] *** soverysour joined
[06:54] *** sibl left
[06:55] *** sibl joined
[06:58] *** soverysour left
[07:03] *** schbax left
[07:06] *** sibl left
[07:07] *** sibl joined
[07:08] *** schbax joined
[07:09] *** schbax left
[07:15] *** schbax joined
[07:21] *** schbax left
[07:21] *** schbax joined
[07:30] *** Sgeo left
[07:59] *** dakkar joined
[08:00] *** Aedil left
[08:00] *** schbax left
[08:06] *** schbax joined
[08:11] *** schbax left
[08:17] *** schbax joined
[08:19] *** schbax left
[08:24] *** schbax joined
[08:27] *** schbax left
[08:33] *** schbax joined
[08:35] *** schbax left
[08:41] *** schbax joined
[09:20] <apogee_ntv> Notcurses::Native and Vips::Native now fallback to source compile automatically on old libc. Fixed intermittent UB on aarch64 due to stack allocation of variadic arguments.

[09:22] <apogee_ntv> patrickb: If you want an example of MacOS being much, much worse at dependency resolution than Windows: https://github.com/m-doughty/Vips-Native/blob/6e446782165cab7d57ce4d0d786403986a658a27/.github/workflows/build-binaries.yml#L183

[09:23] <apogee_ntv> This is what happens when you don't have sibling-first search paths and you try to dynamically open libs.

[09:31] *** schbax left
[09:36] *** schbax joined
[09:42] *** topnep left
[09:43] *** topnep joined
[09:48] *** schbax left
[09:54] *** schbax joined
[09:56] *** schbax left
[09:57] *** sibl left
[10:02] *** schbax joined
[10:05] *** _________ left
[10:20] *** schbax left
[10:26] *** schbax joined
[10:35] *** soverysour joined
[10:35] *** soverysour left
[10:35] *** soverysour joined
[10:44] *** librasteve_ left
[10:52] *** soverysour left
[11:03] *** _________ joined
[11:05] *** schbax left
[11:08] *** librasteve_ joined
[11:10] *** schbax joined
[11:10] *** schbax left
[11:10] *** soverysour joined
[11:10] *** soverysour left
[11:10] *** soverysour joined
[11:15] *** schbax joined
[11:17] *** schbax left
[11:18] *** soverysour left
[11:23] *** schbax joined
[11:42] *** soverysour joined
[11:42] *** soverysour left
[11:42] *** soverysour joined
[11:52] *** soverysour left
[11:57] *** schbax left
[12:03] *** schbax joined
[12:10] *** schbax left
[12:10] <lizmat> .oO( what would the libs think of that  :-)

[13:13] *** annamalai left
[13:14] *** annamalai joined
[13:34] *** soverysour joined
[13:34] *** soverysour left
[13:34] *** soverysour joined
[13:35] <disbot2> <librasteve> thanks to all for the webhook comedy performance btw

[13:40] *** abraxxa left
[13:42] <disbot2> <librasteve> ;-)

[13:44] *** soverysour left
[13:53] *** topnep left
[13:54] *** topnep joined
[14:19] <librasteve_> o/ please can someone with chops go `fez org invite cro member librasteve`

[14:33] *** soverysour joined
[14:38] *** soverysour left
[15:01] *** merp left
[15:18] <apogee_ntv> Selkie v0.4.0 now has a bunch of graph/chart widgets built in.

[15:22] <disbot2> <librasteve> cool

[15:36] <disbot2> <librasteve> post?

[15:54] *** Aedil joined
[15:56] <apogee_ntv> None yet

[16:04] *** merp joined
[16:31] <disbot2> <antononcube> I have not heard of Notcurses before, but it seems to be of very niche interest.

[16:32] <disbot2> <antononcube> If I can convince it to work with an AI-agent or two, I might be more interested in it.

[16:33] <disbot2> <antononcube> My biggest problem is that all videos about Notcurses seem chaotic and incoherent. So, hopefully, the Raku related posts / videos are better.

[16:35] *** soverysour joined
[16:36] *** dakkar left
[17:11] <apogee_ntv> They're going to be working at the C level, I don't know how familiar you are with C but that would make them pretty incoherent.

[17:11] <apogee_ntv> The goal with Selkie is to essentially have the framework deal with all of the pain and you just write a declarative TUI application.

[17:11] <apogee_ntv> Posted on reddit.

[17:12] <apogee_ntv> As for getting it to talk to LLMs I already have a WIP client using LLM::Chat & LLM::Character.

[17:19] *** Sgeo joined
[17:30] *** soverysour left
[17:37] *** soverysour joined
[17:37] *** soverysour left
[17:37] *** soverysour joined
[17:42] *** soverysour left
[18:16] <disbot2> <antononcube> The content of the videos is incoherent and unclear. I do not see what C has to do with it.

[18:17] <disbot2> <antononcube> The videos I think/thought that might be informative are 3÷5 years old. (So, maybe too old.)

[18:23] <[Coke]> do we have a URLencoder in the ecosystem?

[18:23] <[Coke]> I know I can roll my own but was hoping for something off the shelf.

[18:25] <[Coke]> ah, URI::Encode

[18:55] <[Coke]> I have a run() command that calls $*e

[18:56] <[Coke]> $*EXECUTABLE - if I don't pass :out, :err, it runs and the output goes to out. If I add :err, :out, then     $proc.out.close(:slurp).say; (the result of run is in $proc), I get Invocant of method 'close' must be an object instance of type

[18:56] <[Coke]> 'IO::Pipe', not a type object of type 'IO::Pipe'

[18:57] <[Coke]> .. but If I do a simple test on the command line with something like $*EXECUTABLE, '-e', 'say 3' ... it works.

[18:57] <[Coke]> m: my $p = run($*EXECUTABLE, "-e", "say 3", :out); $p.out.slurp(:close).say

[18:57] <evalable6> [Coke], rakudo-moar 2fe33db32: OUTPUT: «3␤␤»

[18:57] <[Coke]> ... any ideas why I'm getting that weird type error otherwise?

[18:58] <[Coke]> Working off the examples in https://docs.raku.org/type/independent-routines#sub_run , search for "raku is great"

[19:05] <[Coke]> OOF

[19:05] <[Coke]> I had "run (*$EXECUTABLE"

[19:05] <[Coke]> m: my $a = run

[19:05] <evalable6> [Coke], rakudo-moar 2fe33db32: OUTPUT: «(exit code 1) Cannot resolve caller run(...); n…»

[19:05] <evalable6> [Coke], Full output: https://gist.github.com/fba904ee9db8ab6f22c81f5466b60ce7

[19:05] <[Coke]> m: my $p = run ($*EXECUTABLE, "-e", "say 3", :out); $p.out.slurp(:close).say

[19:05] <evalable6> [Coke], rakudo-moar 2fe33db32: OUTPUT: «(exit code 1) 3␤Invocant of method 'slurp' must be an object instance of type␤'IO::Handle', not a type object of type 'IO::Pipe'. Did you forget a␤'.new'?␤  in block <unit> at /tmp/9P0GsWSO2n line 1␤␤»

[19:06] <[Coke]> there it is. LTA error

[19:19] <lizmat> m: my $p = run($*EXECUTABLE, "-e", "say 3", :out); $p.out.slurp.say

[19:19] <evalable6> lizmat, rakudo-moar 2fe33db32: OUTPUT: «3␤␤»

[19:20] <[Coke]> Yup, just needed run(), not run ()

[19:20] <lizmat> the space makes the arguments be a list, in which :out becomes a Positional Pair I guess

[19:20] <[Coke]> ... or no parens

[19:21] <lizmat> m: my $p = run ("echo","foo",:out); $p.out.slurp.say'

[19:21] <lizmat> foo out	True

[19:21] <evalable6> lizmat, rakudo-moar 2fe33db32: OUTPUT: «(exit code 1) ===SORRY!=== Error while compilin…»

[19:21] <evalable6> lizmat, Full output: https://gist.github.com/910fc04e468ee9f2de4b20ad74996225

[19:21] <lizmat> m: my $p = run ("echo","foo",:out); $p.out.slurp.say

[19:21] <evalable6> lizmat, rakudo-moar 2fe33db32: OUTPUT: «(exit code 1) foo out␉True␤Invocant of method 'slurp' must be an object instance of type␤'IO::Handle', not a type object of type 'IO::Pipe'. Did you forget a␤'.new'?␤  in block <unit> at /tmp/pb3NUUlyf0 line 1␤␤»

[19:21] <lizmat> note the foo outTABTrue

[19:22] <lizmat> without parens it's ok

[19:22] <lizmat> m: my $p = run "echo","foo",:out; $p.out.slurp.say

[19:22] <evalable6> lizmat, rakudo-moar 2fe33db32: OUTPUT: «foo␤␤»

[19:23] <lizmat> I think that's a more general gotcha

[19:24] <lizmat> at least with routines that have a slurpy

[19:24] <lizmat> m: sub a(*@a, *%h) { dd @a, %h }; a("foo", :out)

[19:24] <evalable6> lizmat, rakudo-moar 2fe33db32: OUTPUT: «["foo"]␤{:out}␤»

[19:24] <lizmat> m: sub a(*@a, *%h) { dd @a, %h }; a ("foo", :out)

[19:24] <evalable6> lizmat, rakudo-moar 2fe33db32: OUTPUT: «["foo", :out]␤{}␤»

[19:25] <lizmat> m: sub a(*@a, *%h) { dd @a, %h }; a "foo", :out

[19:25] <evalable6> lizmat, rakudo-moar 2fe33db32: OUTPUT: «["foo"]␤{:out}␤»

[19:43] <patrickb> Which delimiters am I allowed to use for delimiting the here doc terminator? Is that list of allowed terminators showing up anywhere else in the language?

[19:45] <lizmat> you mean heredoc or quoting in general

[19:46] <lizmat> the heredoc terminator needs to be an identifier

[19:46] <lizmat> afaik

[19:48] <patrickb> I mean the thing that delimits the terminator. q:to/TERM/ <- the slash in this case

[19:49] <patrickb> ' is forbidden

[19:49] <lizmat> right, so that's not specific to heredocs

[19:49] <patrickb> < is ok

[19:49] <lizmat> afaik, anything that you can do with q//

[19:49] <patrickb> ah

[19:50] <patrickb> got it. Thanks!

[19:50] <lizmat> the :to is basically just an adverb that initiates some special grammar handling 

[19:50] <lizmat> but that's really it

[19:57] <patrickb> Whoop! Got it working. Now Rainbow gets that right also.

[20:20] *** tester123451 joined
[20:21] *** tester123451 left
[20:27] *** soverysour joined
[20:31] *** soverysour left
[21:46] <[Coke]> if I am on windows, and I have a path like "C:\\a\rel\path", and I want only "rel/path"... what is the correct way to do that? I have cheated and feel bad.

[21:47] <[Coke]> I have a var with "C:\\a" in it, so I strip off a leading C:\\a and an optional / or \, then subst all \ to /

[21:47] <[Coke]> Surely there are methods to do what I want here by converting between IO::Paths.

[22:10] <ugexe> m: my $path = "/a/rel/path"; say $path.IO.relative("/a");'

[22:10] <evalable6> ugexe, rakudo-moar 2fe33db32: OUTPUT: «(exit code 1) ===SORRY!=== Error while compilin…»

[22:10] <evalable6> ugexe, Full output: https://gist.github.com/e7dc74388983939c671a465a168e362e

[22:11] <ugexe> m: my $path = "/a/rel/path"; say $path.IO.relative("/a");

[22:11] <evalable6> ugexe, rakudo-moar 2fe33db32: OUTPUT: «rel/path␤»

[22:14] <[Coke]> yup, that was a definite miss on my part.

[22:26] *** Aedil left
[22:40] <apogee_ntv> Just dogfooding Selkie, I built most of a TUI version of Omnifocus (gtd app) in a day, has tags/projects/time logging/repeatable tasks etc. Flagging, forecast view, quick capture.

[22:43] <apogee_ntv> Uses an encrypted database by default.

[22:44] *** librasteve_ left
[23:47] *** kaskal left
