🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 6 September 2022.
00:14 sftp left 00:15 sftp joined 00:20 Manifest0 left 01:20 bisectable6 left, committable6 left 01:21 committable6 joined 01:23 bisectable6 joined 02:23 committable6 left, bisectable6 left 02:24 bisectable6 joined, committable6 joined 03:24 committable6 left, bisectable6 left 03:26 bisectable6 joined, bdju left 03:27 committable6 joined 03:28 Sgeo left 03:29 Sgeo joined 03:44 bdju joined 04:26 mark22k left 04:28 mark22k joined 05:28 bisectable6 left, committable6 left 05:29 bisectable6 joined 05:31 committable6 joined 06:20 GreaseMonkey left 06:58 abraxxa joined 07:13 saint- left 07:15 jpn joined 07:16 andinus left 07:17 andinus joined 07:30 jpn left 07:36 jpn joined 07:42 jpn left 07:43 Manifest0 joined 07:44 jpn joined 08:06 Sgeo left 08:07 lichtkind__ joined 08:11 dakkar joined 08:21 sena_kun joined 08:24 El_Che left 08:25 El_Che joined 08:52 abraxxa left 09:07 timo joined 09:30 sena_kun left 10:04 abraxxa joined 10:12 abraxxa left 10:16 guessed joined
guessed hi seeing the old version of the documentation website is only possible via, e.g., web.archive.org or similar tool? or is there an option or other website to see it 10:23
by old version i mean old design, the one before this current one 10:24
lizmat yeah, the wayback machine appears the safest bet: Aarok MALE 10:45
web.archive.org/web/20230114101631/....raku.org/ # oops mispaste :-)
guifa oooh 10:49
I managed to successfully implement in module the original idea behind the feed operators 10:50
guessed thanks
guifa just made each step create a channel and hook into the previous one 10:51
lizmat I wonder how that matches with gist.github.com/lizmat/cecd2801129...c9a8fe0ee7 :-) 10:54
antononcube @guifa " I managed to successfully implement in module the original idea behind the feed operators" -- Where is that module? What is the original idea? 🙂 10:58
guifa lizmat: i didn't use any nqp haha. i also didn't set up any max buffer size, each stage processes as eagerly as it can 10:59
lizmat you'd want some back pressure for the slower steps
otherwise the faster steps will produce more than the slower steps can handle, and use a lot of memory 11:00
guifa antononcube: right now, doing @foo ===> &bar ===> &xyz ===> @end is identical to @end = @foo>>.&bar>>.&xyz
lizmat: fair. I just did it in like an hour of playing around with Channels last nights ha. No real tweaks yet, but sounds like if you've done it in NQP it's to try to dump it in core soon 11:01
lizmat yeah, that was my original idea... but it was never accepted :-( 11:02
guifa antononcube but the idea would be to xyz to be called as soon as bar produces each result, and to push values to end as soon as xyz produces them 11:03
antononcube I see, interesting. That is inline with Seq, etc. 11:04
guifa so that you get something slightly more akin to @end = lazy gather { @foo.map({ take $_.&bar.&xyz} ) }
11:04 melezhik joined
melezhik o/ 11:04
if there is any linters for Raku? 11:05
guifa melezhik: I'm kinda sorta working on one but it's been more for my own person use with RakuAST stuff, but I do have plans to polish it up
melezhik I see
guifa okay time for work, afk.
antononcube @guifa I use the forward feed operator often (==>). Iy is especially good in data- or LLM transformations demos -- helps emphasize what is data or expression we start with. 11:06
@guifa It is nice to see discussion or work on this.
melezhik I started quite a big project on Raku in my company , people started to contribute , so they wonder of there is Raku linter?
we have Rake based DSL system to generate ninja templates
a really big project as it covers a dozens of applications 11:07
a really big project as it covers a dozen of applications
lizmat well, there is a prototype of a linter, if you will 11:09
say $source.AST.DEPARSE
use experimental :rakuast
antononcube @melezhik I wonder is BScan's plugin for VSCode might be useful to you: marketplace.visualstudio.com/items...-navigator 11:10
lizmat m: say "if 42 { 666 }".AST.DEPARSE
camelia ===SORRY!=== Error while compiling
Missing block
------> if 42⏏ 666
lizmat m: say 'if 42 { 666 }'.AST.DEPARSE
camelia if 42 {
666
}
melezhik lizmat: what $source.AST.DEPARSE does ?
lizmat .AST converts the given source to a RakuAST tree, and the .DEPARSE changes it back to source code 11:11
melezhik m: say 'sub foo() {}; foo()'.AST.DEPARSE
camelia sub foo { }
foo()
melezhik m: say 'sub foo() {}; foo'.AST.DEPARSE
camelia sub foo { }
foo()
melezhik I would like. linter that would raise a warning if foo called without parentheses
lizmat not all Raku features are supported yet though...
ok, then using RakuAST is *not* the way atm 11:12
11:25 pjlsergeant__ left 11:37 guessed left
nemokosch I think it's easy to see why a linter would be useful for a large collaboration but it's just as easy to see that the Raku community has no culture for it, as it is currently 11:38
the current mindset is much more like "anything somebody might write should be considered valid" with minimal disclaimer 11:39
melezhik lizmat: I see, thanks anyway 11:43
11:49 melezhik left 12:10 teatime joined
tbrowder__ melezhik: i like the linter idea. i asked Damian about a best Raku practices a long time ago and he said it was too early. i think raku ppl could start one now (with lots of options in the spirit of Perl's linter) 13:05
tellable6 tbrowder__, I'll pass your message to melezhik
nemokosch melezhik: sorry to bother you again but I'm really just figuring devops stuff out at the moment 13:07
tellable6 nemokosch, I'll pass your message to melezhik
nemokosch is Sparrow something like Ansible?
now that I roughly know the point of Ansible...
andinus sparrow is a CI iirc, more like github actions or travisci 13:10
nemokosch the way I understood is that these are "jack of all trades" tools 13:11
Sparrow6 for one just calls itself "automation framework" 13:12
that sounds much like Ansible to me 13:13
maybe I should really just read the readme, lol
> Sparrow could be thought as an alternative to existing configuration management and provisioning tools like Ansible or Chef, however Sparrow is much broader and not limited to configuration management only.
andinus ah i see, i'm not familiar with that 13:14
nemokosch what I'm starting to be confused about right now is... if tools like this exist for whatever hardware environment, what is the point of something like Vagrant? lol 13:15
it would be hard to downright declare that Vagrant is useless but now I get the impression that what I missed more often is more like Ansible and its alternatives 13:17
coleman one reason to still build images (or bake them, to use the cake metaphor) is that a pre made image launches quickly and can become operational without network access 13:24
but most can rely on network access 13:25
a pattern I like is to build a "base" virtual machine with common tools and then use config management scripts to sprinkle in the specialization. this gives the benefits of speed without the complexity of building dozens of images 13:27
nemokosch that also makes sense 13:29
just to imagine the amount of headaches that could have been avoided by having a configuration strategy and preferably some tool for autoconfiguring network interfaces at my previous workplace...
jdv ansible is just agentless box mgmt
nemokosch basically dev environment was "here, I made this reasonably working import from Virtualbox, good luck" 13:30
but what "reasonably working" meant or was even supposed to cover, that was completely ad-hoc 13:31
also, the fun of downloading 30GB images over VPN
coleman right. a snapshotted environment is not necessarily a reproducible environment.
so you need CI for your CI images and that's work that many organizations don't do 13:33
jdv what? 13:34
coleman a dev environment that doesn't have a reproducible build script, but is just a baked image, can become out of date and hard to update 13:35
CI images too. Hence needing CI for CI 13:36
nemokosch my other problem/objection was that I didn't necessarily want all the same settings
jdv i mean if your dev env is the same image as the prod one then you've just saved yourself a lot of wasted time
assuming you don't have crazy (pre)reqs 13:37
nemokosch maybe I wanted network interfaces to be set up differently, either for hardware reasons or because of my personal workflow
maybe I wanted something as mundane as a different keyboard layout or UI
coleman if you can make dev like prod, cool. but dev requirements are often chonkier and having debug tools on prod can be a security risk...no shortcuts
nemokosch but that was all in ad-hoc in-baked rc scripts and the like
sometimes layers of sourced profile files 13:38
jdv sure, but "CI" doesn't mean cultivating an image/env.
nemokosch the CI part wasn't half bad, or not annoying at least 13:39
there was like one person who understood Jenkins enough to configure a build server
and most of the time it just worked, even Sonarqube could be integrated 13:40
actually, it was much easier to just steal a network VM that took part in the CI deployment than to mangle with an own Virtualbox VM xD 13:41
it wasn't encouraged but it wasn't outright forbidden either so I just stopped looking for another way at some point
I could get used to the terms by which it worked and just be careful enough not to break it... 13:42
13:46 xinming left 13:48 xinming joined 13:51 greaser|q joined 14:00 lichtkind__ left 15:33 jgaz joined 15:45 xinming left 15:47 xinming joined 16:18 lichtkind__ joined 16:23 jpn left 16:31 jpn joined 16:39 dakkar left 17:00 manu_ is now known as eseyman 17:42 sena_kun joined 18:12 melezhik joined
melezhik Nemokosch: to bring clarity . We have ci.sparrowhub.io which is CI ( Aka SparrowCI) and we have Sparrow itself - github.com/melezhik/Sparrow6 which is automation tool ( well like Ansible but still a bit different ) , if you really after Ansible like tool in Raku please consider sparrowdo 18:14
tellable6 2023-10-04T13:05:53Z #raku <tbrowder__> melezhik: i like the linter idea. i asked Damian about a best Raku practices a long time ago and he said it was too early. i think raku ppl could start one now (with lots of options in the spirit of Perl's linter)
2023-10-04T13:07:19Z #raku <nemokosch> melezhik: sorry to bother you again but I'm really just figuring devops stuff out at the moment
melezhik The thing is those tools underlyingly are built on the same platform which is Sparrow however they are all for different users / use cases ))) 18:15
[21:08:17] melezhik: There are also Sparky , Tomty and Tomty in this family and they are also automation / devops / test tools built on the same Sparrow engine
And we also have Cromtit , )))
Depending on context I can give a recommendation which specific tool to use 18:16
And yeah I forgot to mention Bird
Now you should be be pretty "overwhelmed" haha 😂 with a choice 18:17
nemokosch this has always been my impression with these tools 😅 there is genuinely too much 18:18
18:19 melezhik left 18:26 melezhik joined
melezhik Well ... it depends on how you see it , let's get started , what do you want and I will equip you with a proper tool )))😀 18:27
18:28 melezhik left
nemokosch right now I really only want to create a deployment workflow for a Typescript project. Let's say that I push to the dev (I think it's actually called "debug", whatever) branch of the repo on github. I would like it to be deployed on my VPS automatically. 18:32
rather than pull manually and run some yarn commands manually 18:33
19:01 melezhik joined
melezhik Nemokosch: you can install hosted SparrowCI on your vps and it will do the job you want . 19:03
If SparrowCI is too heavy for that you can do pretty much the same with Sparky only which in that case lightweight version of SparrowCI with a bit low level api , but still good enough 19:04
nemokosch It's rather just the "broader context of things" that there was a little infotainment kind of presentation about Ansible and since I've seen it being used recently, now that I kinda get what it's for, that also sounded like something that can be useful a lot of times
Perhaps more times than deployment but my concrete personal deal is deployment-related 😛 19:05
melezhik So yes, for CD use Sparky , sorry I did not pay attention . SparrowCI won't fit as it for CI only. But Sparky is a hosted cicd server 19:07
github.com/melezhik/sparky 19:08
In your case you are interested in localhost jobs 19:10
github.com/melezhik/sparky#trigger...cm-changes 19:11
19:19 melezhik left
ab5tract melezhik: I have to say, I've considered digging into Sparrow but usually get lost due to interconnected references to other similar-but-different projects :) 19:21
tellable6 ab5tract, I'll pass your message to melezhik
nemokosch yes, it is kind of embarrassing for me as well when I get this feeling 19:22
like, I genuinely appreciate it and have all the reasons to believe that it's well done
but... I just can't get around it, or develop a connection 19:23
antononcube I really liked the idea of SparrowCI, but then I simply got out of habit to associate or register my packages in it. 19:39
Another thing -- GitHub actions seem more visible and immediate. So, if go the CI way at all, I would use GitHub actions. 19:41
nemokosch anyway, now I know that my drug of choice is Sparky
antononcube I think for me is simply about mental bandwidth (CI-wise...) 19:42
melezhik @ab5tract - it’s ok, again feel free to ask me and give you some recommendation depending on your case 20:13
tellable6 2023-10-04T19:21:05Z #raku <ab5tract> melezhik: I have to say, I've considered digging into Sparrow but usually get lost due to interconnected references to other similar-but-different projects :)
20:25 jgaz left 20:26 jgaz joined, xinming left 20:28 xinming joined 20:39 eseyman left 20:41 manu_ joined 20:45 manu_ is now known as eseyman 20:59 abraxxa joined
abraxxa ARGH @vscode 1.83.0 release notes: 21:00
Perl 5/RakuThe Perl 5 language has been renamed to Raku (language identifier raku), and Raku will be automatically selected as the language for .raku files.
ab5tract ?? 21:08
21:22 Sgeo joined
scullucs Off-by-one error. 21:23
nemokosch XD 21:36
so we did kill Perl, after all 🤣
El_Che abraxxa: autch 21:55
22:00 sena_kun left 22:05 kst joined 22:15 kst left 22:35 lichtkind__ left 22:37 kst joined 22:51 abraxxa left 22:58 abraxxa joined 23:04 jpn left 23:25 abraxxa left, abraxxa joined 23:29 abraxxa left 23:44 teatime left, teatime joined, initrod joined 23:46 teatime left, teatime joined 23:55 teatwo joined 23:58 teatime left, merp left, initrod left