🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
Geth rakudo/main: c890ea594a | (Elizabeth Mattijsen)++ | src/core.c/metaops.rakumod
Make left triangle metaop ([\op]) 45% faster

in the 2 arg case (which is most common) by replacing the use of gather/take by a proper iterator. Part of research into #1705
10:40
Geth rakudo/main: 399fea1d79 | (Elizabeth Mattijsen)++ | src/core.c/metaops.rakumod
Make left triangle metaop ([\op]) 45% faster (>2)

in the > 2 arg case by replacing the use of gather/take by a proper iterator. Part of research into #1705
12:22
rakudo/main: 880503720d | (Elizabeth Mattijsen)++ | src/core.c/metaops.rakumod
Streamline left metaop

This is mostly micro-opt, except for the N > 2 case, where the support to handle slips has been removed, and the code a bit more nqp-ified for performance. The slip support could be removed because the iterator for the +values signature already expands slips.
13:56
rakudo/main: b7f47a2a68 | (Elizabeth Mattijsen)++ | src/core.c/metaops.rakumod
Remove support for Slip in [\op] N > 2

As noted in 880503720d, support for Slips is not needed as the iterator for the +values signature handles Slips already. Part of research into #1705
14:29
finanalyst I tried to access the IRC chat from the website. It's 404'ing 16:36
I thought it was a temporary issue, but the last time I tried I got the same problem 16:38
Guest40 web.libera.chat LGTM, what are you using? 16:40
finanalyst Has anyone used Google's protocol-buffer ?
finanalyst I'm just clicking on chat from the web site 16:41
It now shows a host error
timo looks like kiwiirc.com is completely down, not just a 404
maybe we should be linking to web.libera.chat instead 16:42
finanalyst what would be the url?
[Coke] finanalyst: which site?
finanalyst docs.raku.org
[Coke] chat link on top menu of docs?
finanalyst click on chat at the top 16:43
[Coke] that's going to kiwiirc.com/client/irc.libera.chat/#raku which is hanging for me as well
timo i saw one in the main text
finanalyst that's the one
[Coke] it's the same link as on raku.org/community/irc
timo i don't know if web.libera.chat lets you put a channel in the URL 16:44
finanalyst If we can find a better URL, I'll change the links on the docs page
timo libera.chat/guides/webchat#linking-or-embedding 16:45
[Coke] tried hitting front page of that site - it eventually came up but was VERY slow
finanalyst web.libera.chat/gamja/#raku 16:46
?
timo that's for gamja, which is a lightweight client, compared to kiwiirc which i'm not sure is very heavyweight to begin with 16:47
[Coke] don't use gamja. 16:48
web.libera.chat/#raku
Guest40 oh someone has experience? :)
finanalyst I just tried the link I found. I had to logout here first. 16:49
Guest40 what does "share when i'm typing a message" do, i wonder
finanalyst But I got SASL authentication failed
timo you were trying to use your username and password?
finanalyst Yes. I could have used another username, but I wanted to see if mine would wokr 16:50
[Coke] most of the users coming through there will be using Guest, I'm betting 16:51
timo we could put something like "RakuGuest" as the suggested default, it will add numbers if needed
is kiwiirc much work to host? does it have anything that has to actually run on the server? 16:53
well, i can't look it up on their website right now LOL
finanalyst web.libera.chat/gamja/?nick=RakuGuest#raku Testing
timo if it's no performance cost on the server to host, and if someone has lots of time left over, we could maybe have one or two little customizations for a kiwiirc that would be hosted on perl6.org, for example something that makes discord-bridged users a little less odd looking, and something for the output of our eval bots 16:54
finanalyst I was fooled for a minute because I couldn't see any activity on #raku 16:56
(i'm not an IRC guru) 16:57
[Coke] would you be OK with me changing the chat URL for the website to the above?
timo not gamja, finanalyst 17:03
well, that's what coke said while you were briefly off line
finanalyst web.libera.chat/?nick=RakuGuest#raku This one? testing 17:04
RakuGuest Ok this one works too, but the gamja response was way quickeer 17:05
finanalyst RakuGuest == finanalyst
[Coke] I would not specify a guest name 17:06
timo it does look like both gamja and kiwiirc do need a little server component that talks websocket to the browser and IRC to the irc server
[Coke] web.libera.chat/#raku should be fine, IMO
timo there are irc servers that can accept websocket connections, but i don't see an indication that libera.chat is configured that way
RakuGuest I'll create a PR in a mo
[Coke] ... I'd rather have the nicer looking one advertised for guests. 17:07
RakuGuest I think we should have something that works,
[Coke] obviously we can use whatever for our personal connections.
... It does work?
RakuGuest I'm using it now 17:08
[Coke] *shrug* I don't have a veto on this, feel free.
I'm saying that the one I suggested does work - I inferred you were saying it didn't
finanalyst web.libera.chat/#raku no pre-suggested nic one? testing
[Coke] Please also update raku.org if you can. (or open a ticket if you only change the docs one, so we can keep it in sync) 17:09
timo did you have a particular reason against gamja, coke? or kiwiirc just looks nicer?
[Coke] "A simple IRC web client. 17:14
"
the simple (and then the UI) makes me prefer the default. I am fine if I'm outvoted, no worries.
(I think web.libera.chat/ is the same as the old one we linked, except it's hosted -at- libera instead of kiwiirc. 17:15
finanalyst [Coke] where is raku.org repo? I havent looked at the repo for a while 17:17
found it 17:18
timo who is Group Contact for the Raku Community on libera.chat? i would like to request a project cloak 17:19
[Coke] www.bbc.com/news/articles/cly7n2jm5m5o "Will young developers take on key open source software? 17:22
lizmat?
(for group contact)
timo lizmat is definitely set as the Founder in the #raku channel, i assume that means something 17:24
www.freewear.org/PerlandRaku oh i had no idea! 17:25
finanalyst [Coke] I dont have a commit bit for raku.org. I've raised an issue there with the edit needed 17:28
Has anyone used the API for Google translate? 17:30
There seem to be wrappers for Perl, but not for Raku
I'm just reading up on the API, and it appears that Google has some form of `protocol-buffer` that's language neutral 17:32
timo right, protocol buffer is a specification with which you generate code that parses or writes the specified format 17:34
unlike json or yaml it doesn't self-describe
finanalyst since I've seen some blogs about LLMs, have others used the protocol buffer for other projects? 17:35
The documentation about other languages has three wrappers for Perl 17:37
timo i'm not aware that the LLM related APIs tend to use protocol buffers
finanalyst i dont know if they do. The Google documentation for translation implied the pbuffers are used across Google Cloud 17:38
timo hm, is grpc generally biased slightly towards protobuf? 17:41
finanalyst again, I'm only just getting into the topic, so I'm not sure I understand. But, the translation documentation states that protobuf is multiple times faster than using REST 17:43
ugexe for communicating to a translation api serialization is not going to be a bottle neck 17:45
finanalyst FYI, This is the start of work to create 1st draft translations of web sites, such as the Raku documentation web site.
timo using REST with json over an HTTP2 connection is probably slower than going over a GRPC2 connection (which is kind-of sort-of HTTP2 compatible) with protobufs, but it really depends on many factors. for example what ugexe just pointed out
finanalyst understood. Also this is not for real-time translation, just a one-off 1st draft, with the expectation of human editing 17:47
timo i'm not sure what the worth of machine translated documentation will be. i imagine that if it's not very clear when the user is reading something that was automatically translated vs what a real person reviewed and corrected
i guess everybody works differently when it comes to making translations, and someone may work better with a rough initial draft, even if 90% has to be thrown away 17:48
finanalyst timo: Completely true! Which is why I have said `1st draft`
timo but also also, i don't think i would volunteer time to do translation work. i would think i'm not good at it, and i'm not sure if i would enjoy it 17:49
so if i'm not going to contribute, i shouldn't stand in the way of someone who would
finanalyst Also, my plan is to have synronchisation at the section level between the canonical language and the translated language. This needs a template to be established that is then modified
timo not sure what synchronisation means here 17:50
kind of like "section headers stay in the same order, content stays in their section"
finanalyst Suppose you are half-way down a page and you just want to see what the Englist/French says for that paragraph. Synchronisation means being able to go to that section in another language and then switch back 17:51
And also, the UX language does not change 17:52
timo oh ok
finanalyst I have a proof of concept working at new-raku.finanalyst.org/language/operators 17:53
Try 'Switch UI' for Welsh, Japanese. Dutch, French 17:54
Again these are `1st draft`
timo that changes the UI as well as the text on the page if it's available?
finanalyst Only changes the UI, not the text
So far, only English content available 17:55
timo oh ok
i imagine sections where a translated version is available might have something to the side that lets you switch, kind of like tabs
ugexe have you tried using browsers built in translation? 17:56
i think lizmat suggested that a month or so ago
finanalyst timo: yes. I was thinking of right click on a section heading
ugexe in firefox you open the hamburger menu then click "Translate page"
[Coke] finanalyst: I don't see a raku.org issue on github.com/Raku/raku.org/issues
no need, I'll just make the same change.
timo [Coke]: it accidentally went into rakudo.org repo 17:57
i'm not a big fan of overriding the native right-click menu on websites
finanalyst ugexe: built-in translations are already possible, but there are some things for which human input is needed 17:58
timo: I've not yet decided on the correct UI. May be a floating language changer? The syncronisation is the difficult bit, especially since I want for the URLs to be in the content language too 18:00
ugexe: humans like to invent jargon to fool translators, like young people change their speech 18:01
timo it's nice that the translation in at least firefox runs on-device, but it's also a rather small model
ugexe is jargon invented to fool translators a problem for the docs? i would assume no 18:34
i can understand sometimes the browser translator might not be sufficient. however it is possible that for our use case it is. i personally have no idea because i have not spent time checking, but if i *were* spending time in this area I would probably investigate it 18:35
i do suspect it wouldn't be sufficient though since there is going to be text that it should not translate (like identifiers) 18:37
which i doubt it is smart enough to not translte
yeah for instance it does not translate Str.trans, but does translate StrDistance. we dont want either of these translated 18:38
[Coke] We know about the source documents here, we might be able to have the rakudoc be smart enough that the translation can avoid that 18:43
(that's a lot more work than 'translate the whole page', ofc.)
gist.github.com/coke/234179e4fab75...91d99e673e - the difference between creating release tarballs in moar & rakudo 18:49
Looks like we could simplify the moarvm one quite a bit. 18:50
ab5tract ugexe: can I trouble you to please update R#5485 when you get a chance? 19:10
linkable6 R#5485 [open]: github.com/rakudo/rakudo/pull/5485 [IO][6.e] Deprecate IO subs that operate on multiple paths in 6.e
ab5tract ahhh, I see there is a thumbs-up that I didn't see before
unfortunately emoji don't trigger an "updated" status 19:11
Geth rakudo/ugexe/deprecate-multi-file-operations: f8cc6bf027 | (Nick Logan)++ (committed by ab5tract) | 6 files
Deprecate IO subs that operate on multiple paths in 6.e

While convienient, being able to pass multiple paths to e.g. &rmdir is problematic because there isn't a blessed way to handle what to do when an exception or failure occurs, i.e. should it try to rmdir every entry even if some things fail, or stop on the first failure?
... (30 more lines)
19:41
ab5tract ugexe: so I'm inclined to view your thumbs up as an overall approval, but I'll let it simmer for a day or two in case there are any additions or changes to be made before merging 19:44
ugexe Yeah I'm good with it. I just generally don't explicitly approve my own PRs as that seems wrong and probably also disincentivizes someone who did not write any of the code to review it 19:51
ab5tract ugexe: Fair enough! I submitted my own review on this one mostly out of cheekiness 21:17
well, entirely out of cheekiness :O) 21:19
Geth rakudo/main: cd34688a8d | (Nick Logan)++ (committed by ab5tract) | 6 files
Deprecate IO subs that operate on multiple paths in 6.e

While convienient, being able to pass multiple paths to e.g. &rmdir is problematic because there isn't a blessed way to handle what to do when an exception or failure occurs, i.e. should it try to rmdir every entry even if some things fail, or stop on the first failure?
... (30 more lines)