|
00:40
librasteve_ left
01:14
kylese left,
hulk joined
01:35
topnep left
01:37
topnep joined
02:15
hulk left,
kylese joined
03:24
vasko4535586 left
03:28
vasko4535586 joined
03:38
megeve_ left
03:41
topnep left,
topnep joined
06:04
Aedil joined
07:51
topnep left
07:53
topnep joined
08:01
Aedil left
|
|||
| Voldenet | SmokeMachine: works for me, but I've peeked at the code – add some UI framework to the prompt or else you're going to get unmaintainable spaghetti with tons of vanilla js | 08:04 | |
| for some reason AI tools don't mind writing 2000 lines of js instead of 300 lines of vue | 08:06 | ||
| disbot2 | <librasteve> works for me - may I share at slangify.org/playground for now? [this is a work in progress site ... the idea is to do something similar to langium.org/playground/ and have a place to showcase all Raku DLS goodness ... so I think all I need to do is figure out how to wrap your code as an Air::Plugin and then we can host it there (perhaps need some safeguards as we try to spread the word) | 09:06 | |
| <librasteve> ] | |||
| <librasteve> actually this morning I was just going to try and make a web version of what you have done already ;-) | 09:07 | ||
| SmokeMachine | Sure. There are a few changes I still plan on doing there… | 09:20 | |
| I’m thinking to get the ast of the code and die if there are any node not related to grammar to make it a bit safer… | 09:22 | ||
|
09:27
librasteve_ joined
|
|||
| librasteve_ | usercontent.irccloud-cdn.com/file/....27.25.png | 09:28 | |
| omg | |||
| disbot2 | <librasteve> just taught me to change <ws> to <.ws> - amazing | 09:29 | |
| <librasteve> in fact I think the match output is MVP level (ideally I would add in the Action also and have a text output - so two new panes) ... and the raku hiliting in the Grammar pane is cool | 09:31 | ||
| librasteve_ | fixed indent (my bad) usercontent.irccloud-cdn.com/file/....33.13.png | 09:33 | |
| disbot2 | <librasteve> it would be very cool if the STRING pane could also be hilited according to the token / rule names in the Grammar (and maybe strings and literals) - in other words same hiliter as the GRAMMAR pane, but throw in a new colour for the GRAMMAR token / ruke names??? | 09:39 | |
| <librasteve> ok - its "live" | 09:40 | ||
| Voldenet | meh, if you're executing the code in raku anyway, you probably can't assume it's safe – nqp-js would be probably better fit | 09:41 | |
| even if you validate the grammar, grammars itself can compute a lot | |||
| disbot2 | <librasteve> have to go to slangify.org and click the nav item for now ... bear in mind that the current home page is just a throw-away (to illustrate my recent blog post) going forward it will have (much better) content | 09:42 | |
|
09:45
Sgeo left
|
|||
| disbot2 | <librasteve> what about running in a sandbox process (or vm container) and checking for death every couple of mins? may want to bump that process down the pri level too | 09:47 | |
| SmokeMachine | librasteve_: now that's starable: 187.77.178.93:3001/?g=dG9rZW4lMjBUT...s=aGVsbG8= | 09:54 | |
| I'm running it inside docker | 09:57 | ||
| disbot2 | <librasteve> yeah I put a cheeky while True {} in the GRAMMAR box in one window - I would say the front end is well behaved (both browsers tell you they are reconnecting) and the back end recovered when I deleted the bad code - so some kind of process box should work with a watcher imo (but I am not a security expert) - the whole site (if we host on my server) is in a VM already too - so I think that DoS is the main risk, more against user errors than | 10:00 | |
| malicious folks) - thoughts / concerns? | |||
| Voldenet | generally you can't any run user code in backend safely and docker is not a security tool | 10:07 | |
| SmokeMachine | I asked open code to run the grammar execution inside a different container with a timeout... let's see how well it goes... | 10:08 | |
| Voldenet | I'm not saying it's easy to run copyfail inside raku grammar, but it's possible | ||
| as a matter of fact, VMs are not a security tool either, securely running any remote code is always risky | 10:15 | ||
| disbot2 | <librasteve> if we can keep the risk modest and recover (or at least notify) then I am happy to try this (on slangify.org - or host on another machine) ... specifically not raku.org ... tbh I think that all web sandboxes are a potential nightmare - look at the shared code on glot.io for example | ||
| <librasteve> shareable ++ , url length is a tad scary though! | 10:16 | ||
| Voldenet | url is just urlcomponent encoded base64 of the grammar | 10:17 | |
| and string | 10:18 | ||
| disbot2 | <librasteve> yeah - I thought is maybe - well scary is as scary does | ||
| <librasteve> I like the idea that no server side storage needed | |||
| Voldenet | well, full link in compilerexplorer is even longer, it's not even base64-encoded | 10:19 | |
| maybe if the code was compressed first, link length would be more tolerable | 10:21 | ||
| nah, it's not really helping - gzip/zstd both give you 170 base64 characters, it's still scary | 10:23 | ||
| disbot2 | <librasteve> slangify.org/ | 10:34 | |
| <librasteve> (still a wip!!) | |||
| <librasteve> and another "small" request - please can the MATCH/TRACE pane get 1/2 the width when the other is closed | 10:36 | ||
|
10:40
vasko4535586 left
|
|||
| SmokeMachine | it was doing that... I asked to change... I can revert it... | 10:45 | |
| disbot2 | <librasteve> tx | 11:03 | |
| lizmat | librasteve_: re slangify.org: why copy all of the python boilerplate in Raku ? | ||
| disbot2 | <librasteve> okaay - didn't think I had - can you be specific about which block(s) - I guess I left the render block untouched and if that is the one you mean - a gist or a PR would be very welcome | 11:06 | |
| <librasteve> fwiw I want the parser to load an object (thus the Actionable module) ... since going forward I envision class Invoice {method pdf {...} method html {...}} | 11:07 | ||
| <librasteve> -or- maybe my approach is muddle-headed and I should just render the Match ... hmmm lemme try that | 11:18 | ||
| lizmat | gist.github.com/lizmat/e59c97d9ca1...b5e96650f7 | 11:25 | |
| basically, use a heredoc for the render, and add some utility methods | |||
| disbot2 | <librasteve> that's great - will fix - many thanks!! | 11:38 | |
| <librasteve> ¶afk for a bit | 11:39 | ||
| Voldenet | hm, but isn't the approach with building large array and then joining it faster? | 12:28 | |
| In a lot of languages such approach doesn't precompute length, but incrementally increases buffer size multiple times, so I'm surprised | |||
| (ofc, I don't actually know how it works underneath) | 12:30 | ||
|
12:55
annamalai left,
annamalai joined
|
|||
| Voldenet | Huh, so I have compared these and the result is exactly the same | 12:58 | |
| 584/s vs 583/s, so there's insignificant difference which otherwise doesn't matter | |||
| in rakuast's case, simple .join() performs better | 12:59 | ||
| nevermind, in the long test it's exactly the same | 13:00 | ||
| (I know that nobody asked, but I like numbers) | 13:01 | ||
| SmokeMachine | librasteve_: is the hiding looking better now? | 13:37 | |
| librasteve_ | perfect! | 13:38 | |
| SmokeMachine | it's also timing out the requests and caching the result of the 20 last code requests | 13:40 | |
| [Coke] | .ask el_che - hey, can you help resurrect the docker builds on raku/blin? | 13:41 | |
| tellable6 | [Coke], I'll pass your message to El_Che | ||
| [Coke] | .tell el_che they've been dead for about 6 years now. | 13:42 | |
| tellable6 | [Coke], I'll pass your message to El_Che | ||
| Voldenet | Eh, I wanted to use Selkie – imagine my disappointment when after updating everything and finally installing things I realized that it doesn't work under tmux… ;| | 14:06 | |
| it works under tmux under screen though, I'm not going to think about it too much :> | 14:07 | ||
| disbot2 | <librasteve> phew | 14:28 | |
| Voldenet | heh, but 24-bit colors don't work under screen it seems sadly | 14:33 | |
| understandable but disappointing | |||
| refactus | might try fiddling with the TERM env var, but I think notcurses has some known open issues wrt tmux, including the color thing | 14:35 | |
| Voldenet | yeah, and since it's debian, the versions aren't probably the newest possible - I bet git-built notcurses + tmux may work actually | 14:39 | |
| I remember waiting very long time for truetype colors inside terminal | 14:40 | ||
| refactus | notcurses has open issues and unmerged pull requests because of brokenness under tmux, so I wouldn't count on even the latest builds to work correctly. also looks like activity on notcurses has been really light in the past year | 14:52 | |
| now that the data finally loaded from github, it looks like it hasn't hardly seen any activity since early 2022 | 14:55 | ||
| Voldenet | eh, so it's fairly risky library at the moment | 15:13 | |
|
15:35
abraxxa joined,
Aedil joined
15:36
abraxxa left
|
|||
| librasteve_ | ok - I did a comparison and heredoc lost (very narrowly) - other points taken on board www.irccloud.com/pastebin/znMpj81v | 15:41 | |
|
15:48
belluzj joined
|
|||
| timo | it would be kind-of neat if we had a default .fmt for user-defined classes that let you put the names of attributes and methods in the format string, and that would also work as-expected for Positional and Associative of X ... :S | 15:52 | |
| well I guess .fmt is probably not the right peg to hang this off of | 15:53 | ||
| maybe not very fitting to put this into core either? | 15:54 | ||
|
15:55
belluzj left
|
|||
| timo | `perldoc perlform` comes to mind | 16:04 | |
| github.com/japhb/Text-MiscUtils also has tables / columnisation | 16:06 | ||
| lizmat | raku.land/zef:raku-community-modules/Form needs some TLC | ||
| avuserow | from the "this blogpost could've been a toot" department, my 2c on failures: avuserow.bearblog.dev/rakus-failur...t-success/ | 16:14 | |
|
16:14
belluzj joined
|
|||
| timo | oh that's cool. i've been a bit hot-and-cold on Failure | 16:16 | |
| I wonder if some kind of tooling to help figure out where failures can come from and where they would get triggered could help with the issues I think of | 16:17 | ||
| avuserow | I'm in Golang world for my day job so this is a nice middle ground between errors-as-values and exceptions IMO | 16:20 | |
|
16:22
belluzj left,
belluzj joined
|
|||
| avuserow | But I can imagine that they aren't great if you let the values propagate all over the code base | 16:23 | |
|
16:24
belluzj left
|
|||
| lizmat | avuserow: nice, design reminds me of the friendly orange glow: was that intentional? | 16:25 | |
| avuserow | It's one of their built-in templates, but for me the classic monochrome monitor is orange, not green, so that part is intentional | 16:26 | |
|
16:26
belluzj joined
16:27
belluzj left
16:28
MasterDuke joined
|
|||
| avuserow | lizmat: just searched, is that a reference to PLATO? If so that's before my time but PLATO is from my alma mater so that's another connection for me | 16:29 | |
| timo | I have wanted to have something comparable to how you have to annotate methods in Java with the types of exceptions they can throw; in raku it can feel a little bit loose | 16:33 | |
| disbot2 | <melezhik.> @librasteve you can use this for Raku web site example - gist.github.com/melezhik/ac53ef21e...715385736c | 16:35 | |
|
17:30
Sgeo joined
|
|||
| disbot2 | <librasteve> weekly: avuserow.bearblog.dev/rakus-failur...t-success/ | 17:33 | |
| notable6 | librasteve, Noted! (weekly) | ||
| Voldenet | wow, a blog where you can simply upvote without all the logging in ceremony | 17:36 | |
| disbot2 | <melezhik.> @librasteve and this one - gist.github.com/melezhik/a0341dcf7...49a9c123b7 | 17:37 | |
| <melezhik.> Both maybe out under security compliance checks | |||
| Voldenet | btw, does that check handle `Include /etc/ssh/sshd_config.d/*.conf` too? | 17:45 | |
| it's kinda important because vps vendors simply add the file especially saying `PasswordAuthentication yes` | 17:46 | ||
| timo | hahaha yeah I saw that once :D | 17:47 | |
| sshd has a flag to parse all its config files and spit out the final assembled configuration, including following the actual rules it has for priorities / overrides | |||
| Voldenet | sshd -T | 17:48 | |
| timo | in fact, many programs have something similar, and it's a fantastic QoL feature that more programs should get | 17:49 | |
| Voldenet | yeah, nginx has exactly the same flag | 17:51 | |
| disbot2 | <librasteve> wonders if exegesis & apocalypses should be in Raku CCM? | 17:53 | |
| <librasteve> melezhik: thanks … I have no way of choosing one or the other … please tell me your preferred one | 17:54 | ||
|
17:54
justache left
|
|||
| disbot2 | <librasteve> I’ll make a PR and request some reviews… | 17:55 | |
|
17:58
justache joined
|
|||
| disbot2 | <melezhik.> Yeah , guess we can just feed sshd -T into the check | 18:01 | |
| <melezhik.> @librasteve you can pick the first one ( sudoers ) | 18:02 | ||
| <librasteve> ok - thanks | |||
| <melezhik.> It depends on how many space sparrow has on the examples page , but even one example is fine either way me ) | 18:03 | ||
| <melezhik.> either way me -> fine with me | |||
| <melezhik.> Typo | 18:04 | ||
| <librasteve> is it similar to all the other examples in raku.org? | |||
| <librasteve> (the main page is the “examples page” and I want you to propose something that you think is going to fit in | 18:05 | ||
| <librasteve> ) | |||
|
18:08
itaipu left
|
|||
| disbot2 | <melezhik.> I don’t know , it depends on what do you mean by similar . I guess in a sense it’s small snippet - yes, but it’s not pure Raku- it’s Sparrow task check DSL with invocation of Raku handler | 18:11 | |
| lizmat | avuserow | 18:12 | |
| indeed it was :-) | |||
| Go Illini! | 18:13 | ||
| disbot2 | <melezhik.> Maybe you can add security tab here ? | ||
|
18:19
Guest32 joined
18:21
Guest32 left
|
|||
| SmokeMachine | librasteve_: what do you think about this? usercontent.irccloud-cdn.com/file/.../image.png | 18:45 | |
| librasteve_ | that’s great - does shareable bring in both the GRAMMAR and ACTIONS? | 19:00 | |
| SmokeMachine | librasteve_: | 19:18 | |
| 187.77.178.93:3001/?g=dW5pdCUyMGdyY...;s=aGVsbG8 | |||
| %3D&a=Y2xhc3MlMjBCbGElMjAlN0IlMEElMDloYXMlMjAlMjQubGV0dGVyJTNCJTBBJTA5aGFzJTIwJTI0LnR5cGUlM0IlMEElN0QlMEFjbGFzcyUyMEFjdCUyMCU3QiUwQSUwOW1ldGhvZCUyMFRPUCglMjQlMkYpJTIwJTdCJTBBJTA5JTA5bWFrZSUyMCU0MCUzQ2xldHRlciUzRS5tYXAlM0ElMjAqLm1hZGUlMEElMDklN0QlMEElMDltZXRob2QlMjBsZXR0ZXIoJTI0JTJGKSUyMCU3QiUwQSUwOSUwOW1ha2UlMjBCbGEubmV3JTNBJTBBJTA5JTA5JTA5JTNBdHlwZSglMjQlM0N2b3dlbCUzRSUyMCUzRiUzRiUyMCUyMnZvd2VsJTIyJTIwISElMjAlMjJjb25zb25hbnQlMjIpJTJDJTBBJTA5J | |||
| TA5JTA5JTNBbGV0dGVyKH4oJTI0JTNDdm93ZWwlM0UlMkYlMkYlMjQlM0Njb25zb25hbnQlM0UpKSUwQSUwOSU3RCUwQSU3RA%3D%3D | |||
| it broke it in several messages... :( | |||
| disbot2 | <librasteve> lol | 19:19 | |
| SmokeMachine | shorturl.at/Xq9fE | ||
| disbot2 | <librasteve> yeah - think we gonna need a shorturl service - but only really need to prime the various examples so can do that by hand | 19:21 | |
| SmokeMachine | maybe I'll need to add an sqlite to that... | 19:25 | |
| disbot2 | <librasteve> shorturl.at/dIhJx | 19:49 | |
| <librasteve> this is very close (I had to rewrite the Action) - but the MADE box seems not to like \n | 19:50 | ||
| SmokeMachine | librasteve_: should it be loading this?shorturl.at/dIhJx | 19:56 | |
| librasteve_: should it be loading this? usercontent.irccloud-cdn.com/file/...6%402x.png | 19:57 | ||
| disbot2 | <librasteve> sorry must &afk | ||
| SmokeMachine | :+1 | 19:58 | |
| 👍 | |||
|
20:53
Aedil left
21:33
MasterDuke left
22:31
topnep left,
topnep joined
|
|||
| ugexe | m: sub f { my $x = Failure.new(X::AdHoc.new(:payload("boom"))); $x.so; $x }; f().handled; module M:ver(f()) { }; say M.^ver.gist; | 22:48 | |
| evalable6 | vHANDLED.boom.in.code.at.tmp.upOu_wWMyS.line.1.… | ||
| ugexe, Full output: gist.github.com/4b90d469684fdb7447...8bc398ab98 | |||
| ugexe | i think im going to make that throw in rakuast | 23:14 | |
| SmokeMachine | librasteve_: 187.77.178.93:3001/d85043c9d35d88b7...682a64e1a7 | 23:19 | |