🦋 Welcome to the former MAIN() IRC channel of the Raku Programming Language (raku.org). This channel has moved to Libera (irc.libera.chat #raku)
Set by lizmat on 23 May 2021.
00:02 reportable6 left 00:03 reportable6 joined
japhb raydiak: If I'm going to be doing a lot of DOM building, I'd probably want something a bit more fluent than that (the Pod API you demonstrated). Though I suppose I could just layer the simpler interface on top of the existing API. 00:04
00:05 _ed joined 00:10 _ed left
raydiak sounds like a good approach. I often wrap my external dependencies anyway right off the bat, just in case something changes upstream, or I have to work around a bug, or whatever. clear separation, and all that 00:12
plus then later if you decide you don't like Pod, want to use some other thing or write your own, you can just change the backend code of your wrapper instead of having Pod:: stuff strewn everywhere in the codebase 00:15
00:18 _ed joined 00:26 _ed left 00:28 _ed joined
raydiak and if you really want to get fancy, it lets you detect and use the modules you prefer out of what's installed, or give downstream users a way to choose between backends, stuff like that. likely overkill for your use case, idk what you're doing precisely. but cool nonetheless. abstractions make me happy 00:30
00:35 _ed left 00:39 _ed joined 00:44 _ed left
japhb Yeah, I habitually set up an abstraction layer for persistence, but it's a decent point about making one for doc building 00:45
Kinda makes me wonder what the pandoc DOM looks like
moon-child japhb: curious, what is this for? 00:47
japhb moon-child: For MUGS, in order to separate out semantics and layout in descriptions, rules, help screens, etc. 00:52
RandalSchwartz japhb? :) 00:53
japhb Because I need to be able to make content versus UI toolkit versus localization not be a really painful thing
RandalSchwartz is that the backup japh? :)
moon-child japhb: it sounds like what you want is a general scene graph and ui toolkit, with text layout as just one aspect of that 00:54
japhb RandalSchwartz: Not the same as japhy, no. It's a play on my actual name, and the fact that I've been doing Perl family languages since perl4. :-)
RandalSchwartz Me too, and then some. :) 00:55
japhb moon-child: Eventually, yes ... but scene graph is often specific to games that have some sort of "environment". I'm also supporting fully abstract games.
RandalSchwartz I remember downloading perl 1 as a 60-part "sharchive". Anyone else remember those?
japhb RandalSchwartz: Oh, I know. :-) 00:56
moon-child japhb: well, ok, widget graph
00:56 _ed joined
moon-child 2d/3d layout is distinct, and layout itself is not essential; you're right. But if you have 2d layout tools, you want to be able to use them generally, not just for text 00:56
japhb moon-child: Yes, I will need that. It's on my list. I was kinda hoping that the research that vrurg++ was doing a few months ago would get me that on the front end, but apparently that ran into trouble that needed Jonathan-level work to improve. 00:57
moon-child: Agreed.
RandalSchwartz: sharchives -- yes, I remember them. I'm glad I only had to deal with them briefly. :-) 00:58
moon-child I ran into shar fairly recently, doing some code archeology 00:59
japhb (Actually, come to think of it, there was the spiritual cousin of them used at a company that I used to work at. That was ... weird.)
moon-child gog uses effectively shar for their linux games
japhb "I know, instead of using shell to extract it, we'll use Python! That will make it all so much better!" :-P 01:00
01:00 _ed left
RandalSchwartz sharchives solved the "maximum usenet post size" quite nicely 01:01
japhb once worked at a company that did a usenet-to-web gateway
Turns out some people had figured out how to stream video directly into usenet, and decode it on the way out. There were even people who fed wild satellite feeds into Usenet, though we pretty much avoided that particular corner like the plague. 01:02
"How to piss off media lawyers, in one easy step!" 01:03
moon-child whaaat
how did you handle the latency?
japhb To be clear: We didn't. Just being in the industry, I knew about them. And it turns out that (at the time at least) Usenet feeds pushed a LOT of bandwidth comparitively. 01:04
Enough that watching a feed probably just had you on a few minutes time delay, anywhere in the world.
Well, anywhere that had access to a full-speed Usenet feed.
It was a classic "Provide any technical tool, and people will figure out how to make it run Doom and watch cat videos" 01:06
moon-child :D 01:07
01:34 _ed joined 01:38 _ed left 01:45 anony_mouse left 01:52 _ed joined 01:56 _ed left 02:26 gabiruh joined 02:42 _ed joined 02:46 _ed left 03:18 _ed joined 03:23 _ed left 03:34 _ed joined 03:38 _ed left 03:40 _ed joined 03:46 _ed left 03:50 neshpion left 04:06 RandalSchwartz left 04:14 _ed joined 04:18 _ed left 04:30 _ed joined 04:34 _ed left 04:41 Doc_Holliwood joined
lizmat weekly: github.polettix.it/ETOOBUSY/2021/0...er-values/ 04:50
notable6 lizmat, Noted! (weekly)
05:04 Eddward left 05:08 _ed joined 05:12 _ed left 06:00 _ed joined 06:02 reportable6 left 06:04 _ed left 06:05 reportable6 joined 06:18 _ed joined 06:22 _ed left 06:35 _ed joined 06:39 _ed left 06:56 discord-raku-bot left 06:58 squashable6 left 07:00 squashable6 joined 07:09 discord-raku-bot joined 07:16 _ed joined 07:20 _ed left 07:29 xinming_ joined 07:31 discord-raku-bot left 07:32 discord-raku-bot joined, Doc_Holliwood left, _ed joined 07:33 xinming left 07:37 _ed left 07:40 Sgeo left 07:50 _ed joined 07:55 _ed left 08:08 _ed joined 08:12 _ed left 08:53 _ed joined
chronon I used to have access to Usenet back in the day when ISPs all had an NNTP server. I miss it and if there was some way I could access Usenet again, I'd want to participate again. 08:55
Do people here still use Usenet in some form and, if so, by what method could I regain access to Usenet?
moon-child eternal-september.org and aioe.org 08:56
(the former is faster and its archives go back further, but it requires you to register an account; pick your poison :)
chronon Cool, that was easy. Thanks.
moon-child np 08:57
08:58 _ed left
chronon I suppose my next off-topic question has to be, which good curses mode Usenet readers should I use? 09:11
moon-child I use alpine
but alpine kinda sucks. And is crashy. And it takes forever to sort things
there's also gnus, which is nice if you like emacs, but I think it's also slow as all hell 09:12
chronon I'm rather stuck on vim key bindings. I wonder which one would fit my muscle memory best. 09:13
I see there is trn4, slrn, and maybe mutt can do NNTP too?
moon-child I was thinking at one point of doing my own mail/news reader in raku 09:14
I want to get away from hierarchical organization
chronon That would be SO cool.
moon-child and none of the existing clients are set up for that
chronon What do you mean by hierarchical in this context?
moon-child an email client organizes data elements (emails) hierarchically (directory a > directory b > some message) 09:15
the problem is that that hierarchy is fixed
chronon What are you proposing as an improvement? 09:16
moon-child what if I want to do directory b > directory a > some message?
chronon Surely B is a sub category of A if it has been created that way? What would be the reason for reversing it? 09:17
moon-child well that's the thing, usually you don't have 'subcategories'
what if a is the year 2017 and b is messages sent to the raku mailing list 09:18
chronon Are yu referring to Usenet or something else now? Usenet is rather hierarchiallly organised.
moon-child I might want to look at _all_ messages sent in 2017, or I might want to look at _all_ messages sent to the raku mailing list
(or some other mailing list, etc.)
chronon Oh so you want some kind of tagging system like Gmail then?
moon-child tagging system--kinda. (Don't know what gmail does.) I want to be able to create arbitrary hierarchies on the fly from tag categories 09:19
chronon Gmail taggin is pretty flexible. I had to use Gmail for work a few years back. I try not to touch anything Google outside of work. I cannot now remember if it was possible to drag the tags around into a hierarchy on the fly, but I do remember being quite impressed with it. 09:21
moon-child usenet itself is hierarchical. But there's no reason I shouldn't be able to grab all the messages and enforce my own hierarchy :)
chronon Perhaps you should experiment with Gmail's tagging before designing your own, just in case there are some good ideas worth stealing.
moon-child I'll take a look 09:22
chronon Oh and sign me up for beta testing your tagged fluid-hierarchy Raku Usenet reader. :) 09:23
moon-child heh, don't count on it; I have an endless supply of back-burner-yet-to-be-implemented projects 09:25
chronon I think that's just the fundamental condition of life as a coder. 09:26
09:32 _ed joined 09:36 _ed left 09:52 Manifest0 left 10:15 ecocode left 10:16 ecocode joined 10:48 _ed joined 10:52 _ed left 11:06 _ed joined, whatnext joined 11:10 _ed left 11:11 frost joined
whatnext hello all :) nice noob question for you. What do you think is the best way to iterate backwards over an array? Say with each iteration I want the index of the item in the original array (rather than the index in the reversed array) - ie it should go e.g. 9,8,7 rather than 0,1,2. Thoughts? :) 11:14
El_Che whatnext: reverse 11:21
n
evalable6: my @a=1,2,3; say @a.reverse; 11:22
evalable6 (3 2 1)
whatnext ok I thought of reverse but I assumed the index would come out the opposite. ie if I did @arr.reverse.kv I'd get 0,1,2 for the index 11:23
11:24 _ed joined
El_Che maybe I misunderstood the question 11:24
whatnext I think `for @arr.reverse.kv -> $k, $v {` would give me the right order of $v, but $k would be the opposite to what I want? Obviously I could get the right value by subtracting from the length, but I just wondered if there was a more straightforward way 11:27
11:28 _ed left
ugexe sort by value descending 11:30
m: my %h = a => 100, b => 50, c => 1; say %h.sort(*.value) 11:32
camelia (c => 1 b => 50 a => 100)
whatnext sorry, I just meant counting backwards from the end of an array (rather than a hash), keeping the index numbers of the original array 11:35
lizmat please note that .reverse on a reified array just creates an iterator that walks backward, it doesn't do any copying 11:42
whatnext lizmat - you mean $k would count down? 11:45
lizmat no
because the .kv doesn't know what type of iterator is its source
so as far as it is concernred, it's just moving forward, so $k would be starting at 0 11:46
m: my @a = ^10; for ^@a .reverse { .say } # perhaps that's a way ? 11:47
camelia 9
8
7
6
5
4
3
2
1
0
lizmat afaik that will actually highly optimize the for loop as well 11:48
m: my @a = "a" .. "j"; for @a.pairs.reverse -> (:$key, :$value) { say "$key: $value" # another way 11:49
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3e) { say "$key: $value" # another way7⏏5<EOL>
expecting any of:
postfix
statement end
statement modifier
stat…
lizmat m: my @a = "a" .. "j"; for @a.pairs.reverse -> (:$key, :$value) { say "$key: $value" }
camelia 9: j
8: i
7: h
6: g
5: f
4: e
3: d
2: c
1: b
0: a
whatnext isn't this still the values that are being reversed? 11:50
lizmat that actually creates a Seq of pairs, and then walks it in reverse order
there's copying going on in that case :-)
whatnext ah `pairs` I didn't look at that 11:51
yes that looks like it might work (y) 11:52
thanks 11:54
12:02 reportable6 left 12:03 reportable6 joined 12:22 whatnext left 12:47 _ed joined 12:52 _ed left 12:54 tejr left 12:56 tejr joined 13:00 titsuki joined 13:02 RandalSchwartz joined 13:10 titsuki left 13:17 xkr47 left 13:29 _ed joined 13:34 _ed left, Doc_Holliwood joined 13:46 _ed joined 13:50 _ed left 13:58 _ed joined, whatnext joined 14:02 _ed left
polettix hello all :) 14:18
is this expected? gist.github.com/polettix/16ffed140...6d34912dcb
I'm trying to understand the different ways to set a (default) value for a class attribute 14:19
14:20 Altai-man_ joined 14:29 _ed joined 14:34 _ed left 14:35 _ed joined 14:39 frost left 14:40 _ed left 14:43 swaggboi left 14:50 _ed joined 14:55 swaggboi joined 15:03 _ed left
tbrowder hi, has anyone converted a module created with mi6 to one compatible with fez? if so, can you share the repo location? 15:06
15:10 xkr47 joined
tbrowder on another subject, i have proposed a modf routine be added to the raku core and wonder if there is any support for that. i have an unpublished raku module with a complete working version that i would like to be my first fez module, but it's in mi6 format for cpan. 15:10
15:12 whatnext left
tbrowder note python has modf, as does c, c++, haskell, and others 15:13
15:14 _ed joined 15:19 Doc_Holliwood left 15:23 _ed left 15:24 monkey_ joined
tbrowder polettix: hi, l like yr blog site. are you running on a managed host or yr own remote server? 15:29
polettix tbrowder: GitHub Pages with Jekyll, github.polettix.it/ETOOBUSY/about/ 15:35
15:35 _ed joined
polettix tbrowder: I should probably put also the things that I added in time 15:36
MasterDuke committable6: releases gist.github.com/polettix/16ffed140...tfile.raku 15:37
committable6 MasterDuke, Successfully fetched the code from the provided URL
MasterDuke, gist.github.com/39ec6e4d5aa8dc5225...a53cd52fea
tbrowder what really got my attention (in addition to the nice pics and layouts) was the email address with the same domain. how are you managing that? 15:38
15:39 _ed left
polettix tbrowder: you can set your own domain name for GitHub Pages, there's a simple procedure for that 15:39
MasterDuke polettix: that doesn't look quite right, probably worth a stackoverflow question and/or a rakudo issue 15:40
tbrowder on subject of prs to core: i like to get support for the idea now before i waste time on the pr
polettix docs.github.com/en/pages/configuri...thub-pages
tbrowder polettix: i know about that, and have done it, thanks. 15:41
polettix MasterDuke: thanks, I'll go for the former first, then the second in case
tbrowder: I might have misunderstood your question then :/
tbrowder polletix: sorry, i'm confused, i thought i saw an email address on yr repo but i misread it. 15:42
but nice blog site!
15:47 Sgeo joined
polettix MasterDuke: I think I got it - putting &!foo in BUILD's signature forces overwriting the default with a "null" value, which later triggers the error message 15:53
expanded example -> gist.github.com/polettix/9ec1abaf9...c45f132208 15:55
note that &!foz is the same as &!foo for getting a default value, but it's not in BUILD's signature and this makes the default value stick 15:56
MasterDuke do you know about TWEAK? nowadays that's recommended over BUILD for most usecases
16:06 simcop2387 left, perlbot_ joined, perlbot left 16:08 perlbot_ is now known as perlbot, Doc_Holliwood joined 16:09 simcop2387 joined, neula joined 16:20 notna joined 16:57 Altai-man_ left 17:09 Doc_Holliwood left 17:22 Manifest0 joined
polettix MasterDuke: I read about TWEAK and the favor it has from experts, I formed a few ideas about it but still... 17:24
17:31 Eddward joined 17:52 notna left 18:02 reportable6 left 18:05 reportable6 joined 18:06 Doc_Holliwood joined 18:20 Altai-man left 18:28 monkey_ left 18:33 RandalSchwartz left
japhb tbrowder: Re: "has anyone converted a module created with mi6 to one compatible with fez?" -- I build all my repos with mi6, and I publish all the public ones in fez. I just use `fez checkbuild` and `fez upload` to do the upload part. 19:15
Someone was working on fez support directly for mi6's upload function, but I dunno what happened with that.
19:33 evalable6 left, linkable6 left 19:35 linkable6 joined 19:36 evalable6 joined 20:00 monkey_ joined 20:13 monkey_ left 20:22 sena_kun joined 20:39 RandalSchwartz joined
tbrowder japhb: do you have to change the :auth<> entry or anthing else specially before the fez actions? 20:48
also, were the same modules already published on CPAN? 20:49
21:39 linkable6 left, evalable6 left 21:40 Xliff joined 21:42 evalable6 joined, linkable6 joined 22:07 Eddward_ joined, Eddward left 22:09 neshpion joined 22:16 _ed joined 22:20 _ed left 22:26 neshpion left 22:28 [Coke] left 22:40 neula left 22:50 bd3i joined 22:53 Doc_Holliwood left 23:16 ttubrian joined 23:19 bd3i left
japhb tbrowder: Yeah, the auth haz to be zef:username 23:31
tbrowder: You have to create that user with fez first, of course. 23:32
*has
And no, not previously published on CPAN. 23:33