[00:22] *** soverysour joined
[00:22] *** soverysour left
[00:22] *** soverysour joined
[00:27] *** soverysour left
[01:07] *** sibl joined
[01:30] *** Aedil joined
[01:30] *** soverysour joined
[01:35] *** soverysour left
[01:45] <tonyo> .

[01:55] *** hulk joined
[01:55] *** kylese left
[02:10] *** annamalai joined
[02:15] *** hulk left
[02:15] *** 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
[03:25] *** sibl joined
[03:46] *** soverysour joined
[03:51] *** soverysour left
[04:13] *** johnjay left
[04:13] *** johnjay joined
[04:28] <avuserow> Here's a screenshot of my terminal emulator work-in-progress: https://fosstodon.org/@avuserow/116395488959003887 . It has a very minimal UI and a self-reload function so I can develop it from within itself

[04:40] *** soverysour joined
[04:40] *** soverysour left
[04:40] *** soverysour joined
[04:45] *** soverysour left
[04:46] *** Sgeo left
[05:20] *** soverysour joined
[05:20] *** soverysour left
[05:20] *** soverysour joined
[05:21] *** sibl left
[05:25] *** soverysour left
[05:40] *** sibl joined
[05:47] *** soverysour joined
[05:47] *** soverysour left
[05:47] *** soverysour joined
[05:51] *** soverysour left
[06:09] *** sibl left
[06:09] *** soverysour joined
[06:13] *** sibl joined
[06:16] *** abraxxa joined
[06:22] *** Aedil left
[06:22] *** abraxxa left
[06:24] *** abraxxa joined
[06:30] *** sibl left
[06:30] *** abraxxa left
[06:31] *** abraxxa joined
[06:35] *** soverysour left
[06:45] *** soverysour joined
[06:45] *** soverysour left
[06:45] *** soverysour joined
[06:47] *** sibl joined
[06:58] *** soverysour left
[07:16] *** sibl left
[07:20] *** soverysour joined
[07:20] *** soverysour left
[07:20] *** soverysour joined
[07:31] *** soverysour left
[07:32] *** soverysour joined
[07:32] *** soverysour left
[07:32] *** soverysour joined
[07:37] *** soverysour left
[07:44] *** sibl joined
[07:52] *** dakkar joined
[08:12] *** soverysour joined
[08:20] *** soverysour left
[08:51] <disbot2> <librasteve> weekly: https://fosstodon.org/@avuserow/116395488959003887

[08:51] <notable6> librasteve, Noted! (weekly)

[08:55] *** soverysour joined
[09:00] *** soverysour left
[09:39] <apogee_ntv> librasteve_: This was the thing I was working on https://raku.land/zef:apogee/Selkie -- appreciate any input.

[09:41] <apogee_ntv> Retained mode, opinionated (inspired by re-frame), declarative, default-safe TUI framework with native performance.

[09:44] *** sibl left
[09:50] *** soverysour joined
[09:55] *** soverysour left
[10:15] *** topnep left
[10:16] *** topnep joined
[10:32] *** soverysour joined
[10:32] *** soverysour left
[10:32] *** soverysour joined
[10:36] <librasteve_> apogee_ntv: this is very nice … installed deps on homebrew painlessly and then Selkie itself … counter works … so far so good

[10:38] <disbot2> <librasteve> (except I have to go Ctrl-C to quit ??)

[10:47] <apogee_ntv> Ctrl-Q and Ctrl-C should both work

[10:49] <apogee_ntv> If Ctrl-Q doesn't work please let me know what terminal you're on and I'll investigate

[10:49] *** sjn left
[10:49] *** Aedil joined
[10:50] <Voldenet> apogee_ntv: I wrote it before, but consider asciinema examples

[10:55] <apogee_ntv> Voldenet: I am definitely planning to do some video demos.

[10:55] <apogee_ntv> I dont know if asciinema is better than VHS with notcurses, raw mode can be a pain to automate recordings for.

[10:55] <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 })`

[10:56] <Voldenet> maybe even typed with customized dispatch and reducers, but I'm not sure if it's supposed to support immutable store state (like redux)

[11:00] *** soverysour left
[11:00] <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:01] <Voldenet> or even, register-handler could be per-property somehow

[11:02] <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)`

[11:03] <Voldenet> i remember that using untyped store in Redux is huge pain

[11:03] <Voldenet> especially if the global state grows

[11:05] <apogee_ntv> Yeah, it's definitely not ideal for large app state.

[11:06] <Voldenet> this has nice ideas regarding syntax https://fco.github.io/Sourcing-2/

[11:08] <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
[11:09] <Voldenet> that would define register-handler using simplified syntax

[11:09] <disbot2> <antononcube> Everyone is in a hurry to reinvent text-based terminals.

[11:09] <disbot2> <librasteve> https://github.com/m-doughty/Selkie/issues/1

[11:10] <apogee_ntv> This is what I get for only testing on kitty :D

[11:10] <disbot2> <librasteve> Ctrl-P is fine btw (dashboard example)

[11:11] <disbot2> <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:12] <Voldenet> antononcube: I would be more worried if they were in a hurry to reinvent picture-based terminals

[11:13] <Voldenet> 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 https://cragcli.info (too much already!)

[11:13] <disbot2> <librasteve> never tried on a TUI

[11:14] <disbot2> <librasteve> this site uses Air::Plugin::Asciinema ... which is built on the asciinema JS player

[11:16] <disbot2> <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] <disbot2> <librasteve> TLDR: try agg if you need to share asciinema recordings

[11:17] <disbot2> <librasteve> wonders if you could build a TUI RAG with Selkie?

[11:17] *** simcop2387 left
[11:18] *** simcop2387_ joined
[11:18] <Voldenet> I've seen a lot of people upload things to asciinema.org directly and then embedding things in readme

[11:19] <apogee_ntv> TUI is a good trend tbh, better than Electron lol

[11:19] <apogee_ntv> I am so fed up of trivial apps that take 1GB+ RAM

[11:19] *** simcop2387_ is now known as simcop2387

[11:20] <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 :\

[11:21] <Voldenet> and making me run 10 separate browser engines at the same time, eh

[11:22] <Voldenet> 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:31] <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:32] <disbot2> <antononcube> And this dictates certain fashion of text terminal adoption. (Which in many ways should be a "no brainer"...)

[11:33] <librasteve_> Voldenet: yes asciinema has a cloud service too - good point … you can use that with Air::Plugin::Asciinema too

[11:38] <apogee_ntv> librasteve_: Fixed Ctrl-Q on MacOS Terminal (and any other that sets IXON/IXOFF) in Selkie 0.2.3

[11:39] <apogee_ntv> tbh I thought notcurses did this automatically.

[12:06] *** sp19833_ joined
[12:25] <librasteve_> all good with Ctrl-Q -tx!

[12:32] <apogee_ntv> Sweet, let me know if you hit anything else. BTW there are full API docs at https://github.com/m-doughty/Selkie/blob/master/docs/api/index.md -- will get a site up at some point to make this stuff easier to navigate.

[12:36] *** sp19833_ left
[12:37] *** sp19833_ joined
[13:03] *** sp19833_ left
[13:04] *** sp19833_ joined
[13:45] *** sjn joined
[13:46] *** sp19833_ left
