🦋 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.
lizmat drops a pin 10:01
nine picks it up and gives it back to lizmat. These things are dangerous! 10:02
lizmat well, it's not like it's scissors
and I was not running with it! 10:03
thank you!
sjn would love some camelia pins; who made those originally? 10:23
moritz looks to lizmat and wendyga 10:24
lizmat If I remember correctly, someone in the Ukraine, will check with woolfy 10:25
lizmat woolfy is going through her notes 10:27
hmmm Bufs / Blobs are considered to be strings at some level 10:30
m: dd Buf.new(1,2,3) ~ Buf.new(4,5,6) 10:31
camelia Buf.new(1,2,3,4,5,6)
lizmat yet we cannot do an .index on a buf:
m: dd Buf.new(1,2,3).index(2) # sorta expected to see 1 as the result
camelia No such method 'index' for invocant of type 'Buf'
in block <unit> at <tmp> line 1
lizmat m: dd Buf.new(1,2,3).split(2) # or .split for that matter 10:33
camelia Cannot resolve caller split(Buf:D, Int:D); Routine does not have any candidates. Is only the proto defined?
in block <unit> at <tmp> line 1
lizmat weekly: www.youtube.com/yapcna 12:12
notable6 lizmat, Noted! (weekly)
masak [Coke]: your cat might be a Maoist 13:33
lizmat masak o/ 13:37
masak \o 13:40
moritz \o/ 13:46
masak m: say (Bool.roll ?? $_ !! "" for "\\o/".comb).join 13:48
camelia o
masak camelia is rather armless today
moritz the arms are just pressed in curves around its body, so you cannot see them 13:49
masak I always mistake the Starbucks lady's fishes for huge arms 13:50
lizmat m: <\ o />.map({$_ if Bool.roll}).join.say # keeping it functional 13:58
camelia \/
masak lizmat: your result is the complement of mine
masak .oO( Bring Your Own Arms )
lizmat m: <\ o />.map({$_ if Bool.roll}).join.say # not always? 13:59
camelia o/
lizmat m: <\ o />.map({$_ if Bool.roll}).join.say # not always?
camelia o/
lizmat m: <\ o />.map({$_ if Bool.roll}).join.say # not always?
camelia \o
masak :) 13:59
lizmat sometimes I wish we had some syntax for { $_ if $cond }
m: <\ o />.map(* if Bool.roll).join.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1)
at <tmp>:1
------> 3<\ o />.map(* if 7⏏5Bool.roll).join.say
14:00
masak m: sub mebbe($x) { $x if Bool.roll }; say <\ o />.map(&mebbe).join 14:03
camelia o
masak lizmat: can always define a function and eta it :) 14:04
masak .oO( first-class functions: the ultimate syntax ) 14:04
Altreus masak: they're fish?! 14:08
I thought they were just cool sleeves!
masak Altreus: I'm constantly thrown off by them, even though I know they're fish
lizmat masak: indeed, but I was thinking more generically :-) 14:17
masak no fault in that 14:18
I think I might be in the wrong headspace for wanting more syntax; not just tonight, but this whole season
lizmat guess I'll have to wait until RakuAST lands :-) 14:19
El_Che listing to jjatria :) 14:27
jjatria El_Che: 🍿 Enjoy!
El_Che "we're looking for perl and go developers": stop targetting me
:)
masak .oO( they ran that way! ) 14:28
El_Che it's cool to see talks of people I've met irl 14:30
jjatria It's a pity the last time was so long ago!
El_Che 2017?
I have a shirt :) 14:31
tonyo my PTS sweater from oslo is almost just a black sweater now
jjatria Was that Amsterdam?
El_Che yes
we had a fun time at the pub and the japanese resto in the evening 14:32
lizmat yeah, I remember that conference :-)
jjatria Yeah, that was nice :D
El_Che lizmat: you still have the receipts :)
lizmat yeah, and -20K euro or so :-(
El_Che lizmat: yeah, I heard about it :/ 14:33
lizmat even though it was a successful conference, in hindsight I would like to have spent that on jnthn's work 14:34
El_Che it was part of the maturing of raku
lizmat possibly, but also at the expense of souring inter-personal relations within the Dutch Perl community 14:35
with one of the original organizing team considering attacking another member with a knife (in an email) 14:36
El_Che things escalated quickly 14:37
lizmat yeah :-( 14:40
on the plus side, we got to hang out with TheDamian for a whole afternoon :-)
El_Che I remember chatting quite a lot with Larry and Gloria about non-it stuff. It was fun as well 14:42
jjatria How are they, by the way? The last I remember hearing about them was for the conference in Riga. Did he receive the postcards? 14:44
lizmat I think so
Larry recently resurfaced on the mailing list, so he's still alive and kicking
other than that, I don't know much more 14:45
jjatria I'm glad :) I thought the postcards were a nice thing to do
masak just hopes TimToady is doing OK 14:48
jjatria I think it was in Amsterdam that I sat net to them at the conference dinner. We had a nice chat about the Lord of the Rings 14:49
El_Che (remember the lost 2015 fosdem video...)
Juerd 16:36 < lizmat> with one of the original organizing team considering attacking another member with a knife (in an email) 15:12
wtf
I quit having any part in the whole ordeal after fosdem 2017, but every time I hear something about what happened after, it's something worse than before 15:13
Juerd But threatening with a knife? Holy crap. 15:14
lizmat Juerd: yeah :-( 15:49
in an email nonetheless
on a mailing list
codesections lizmat: what's the difference between your wished-for { $_ if $cond } syntax with .map and a regular .grep? 16:30
m: say <\ o />.grep({Bool.roll}).join
camelia \
lizmat flexibility in the value returned 16:31
if it is $_ then indeed the grep would work
codesections makes sense. Of course, you can always .grep and then .map, but that gets a bit longer 16:32
(though sometimes the separation is nice) 16:33
lizmat ah, yeah, plenty of ways to get the wanted semantics :-)
Altreus too many options! I'm moving to python 16:34
codesections Altreus: :D I recently watched a conference talk that solved the same problem 8 ways in APL, and I'm half-seriously considering a version that recreates that in Raku with 26 ways 16:36
Altreus what was the problem? 16:38
codesections testing whether all elements in an array are the same www.youtube.com/watch?v=GZuZgCDql6g 16:45
Altreus fun, I bet in Raku there are a few definitions of "the same" that you could make use of :)
codesections and they were very proud of the shortest APL solution (3 chars). But Raku can match that with [≡] 16:46
Altreus unicode feels like cheating but I say if you've got 'em, flaunt 'em 16:47
codesections well, the APL solution was ⍋≡⍒, so I don't feel bad at all about Raku's unicode! 16:48
Altreus I can't even distinguish the detail on those in my terminal! 16:49
lizmat m: .say for "⍋≡⍒".uninames 16:50
camelia APL FUNCTIONAL SYMBOL DELTA STILE
IDENTICAL TO
APL FUNCTIONAL SYMBOL DEL STILE
codesections Kind of odd that Unicode calls that an APL symbol but then uses a different name than APL does (they call them 'grade up' and 'grade down') 16:52
Altreus well one is DELTA STILE and one is DEL STILE, which does not feel particularly helpful 16:55
lizmat
.oO( there's more than one way to name it )
Altreus oppan delta stile 17:00
lizmat says something 17:56
Altreus you said: something. Is this correct? 18:02
lizmat yeah... 18:04
Altreus then it's working!
lizmat testing the live update feature of the logs server :-)
testing to be concluded after some cycling while the outside temperature has dropped to more acceptable levels& 18:10
Altreus cycling logs! 18:11
[Coke] masak: :P 18:18
... oops I missed the conference. 18:19
well, mostly
tadzik it's never too late to miss the conference! 18:20
codesections And the Raku BoF session is happening now 18:21
[Coke] tadzik: ha
tadzik I would know :(
on the plus side, I got vaccinated \o/ 18:22
moritz tadzik++
or tadzik.shots++ ? :D 18:23
tadzik yes, that was the second one :)
moritz nice, I got my first one 4 weeks ago, so still waiting for the second 18:24
tadzik sweet :)
sjn thought Util's talk yesterday was pretty good, so I posted a link to it on /r/ProgrammingLanguages :-) --> www.reddit.com/r/ProgrammingLangua...ce_in_the/
tadzik should be any day now then, right?
moritz tadzik: nah, the recommended time betwen the shots is *at least* 6 weeks, better to wait 10-12 weeks for max efficacy 18:25
tadzik oh, interesting
is that for biontech?
my little leaflet says "recommended 2nd dose 3 weeks later", ended up being roughly a month later 18:26
moritz huh 18:27
so the German official recommendation for biontech is 6 weeks, and for AZ it's 6 to 12 weeks
tadzik right, AZ is waiting a few months over here too
moritz afaict all the clinical trials were done with relatively short time between the shots, and later data showed better results with more time between them 18:28
my first shot was AZ, trying to get biontech for the second
tadzik oh, I didn't even know you could mix them – but why not, I suppose 18:29
here it isn't an option, you signup for 2 doses of the same thing (unless it's No More Tears obviously)
moritz well, stuff's complicated due to the changes in EMA recommendations
early on, AZ was only recommended for those <60yo, now it's only recommended for those >60yo 18:30
so younger folks first vaccinated with AZ get a second short with an mRNA vaccine, without any prior trials (but experts said it's plausible it works well)
tadzik huh 18:31
moritz and data from those cases suggests that it works better than two doses of AZ, and with around 12 weeks between them, roughly equals 2x biontech
nine Will be 5 weeks for me to the second dose of Biontech 19:10
El_Che biotech is the pfizer one? 19:39
nine zes 19:43
yes
codesections I just sat in on a Perl conf talk about how Perl devs can transition to a new language (as Perl jobs become harder to find) and it made "learning a new language" sound like a huge undertaking (something like a 6 month project). I would have thought that an experienced dev would (1) already have 3+ langs under their belt and (2) be able to pick up a language like JS or Go in ~week or so. Am I way off base? 19:45
ugexe syntax sure 19:47
jdv productively and idiomatically - 1w seems unrealistic 19:48
tadzik the deutscher call it biontech even though pfizer sounds more deutsch :P
I've no idea why, but I learned it from moritz++ on twitter so I adapt in conversations :P 19:49
codesections yeah, jdv that's fair
stoned75_ well 6 months is not much, compared to the 10 years required to learn programming ;-) norvig.com/21-days.html
tadzik ah, that's because the EU company is actually called biontech?
Pfizer is just the "publisher" afaiui 19:50
s/EU company/iventor/
makes sense
El_Che ah 19:57
thx for the background 19:58
codesections Yeah. But precisely because there _is_ so much to learn in programming, the skills seem very transferable. I had to write some JS recently, and felt like I could write better JS now than I could when I worked full time in the langugae
S/languae/language
even though I hadn't otherwise touched JS in 2+ years 19:59
raydiak_ imo it depends heavily on where you put the "done learning" finish line. you can generally learn the syntax and semantics in a short time, yes. but knowing all the corners and quirks and how to avoid the common traps, core libraries, other common libraries, etc is a very differnt thing, not to mention if you have to interact heavily with the community, being aware of the cultural norms and conventions which can 20:03
vary widely between languages. you can learn JS, but then do you know all the DOM manipulation functions? jQuery and/or some other popular framework(s)? have you memorized or are at least aware of the messes like this: dorey.github.io/JavaScript-Equality-Table/ ? what about cross-browser inconsistencies? do you know enough to recognize and avoid javascript from the 90s copy-and-paste sites? that's a lot
to learn, or even become aware of these various corners, and none of that transfers to another language
stoned75_ I'm looking at github.com/rakudo/rakudo/commit/09...3aa17667ca 20:04
codesections Yeah, I *generally* agree. I mentioned Go and JS on purpose because those issues seem smaller there
stoned75_ it means that Rat and FatRat have the same domain 20:05
right ?
as they both use Int as denominator, since 2012 !
codesections DOM manipulation is less relevant if you're building React (or similar) apps, and irrelevant all together for backend JS (presumably where most Perl devs would want to be?) 20:06
And given that most shops use prettier.js, codding conventions aren't as relevant as the used to be 20:07
gfldex The dominating factor is the brain in question. 20:07
jdv a web dev that doesn't know dom - eek 20:10
shoudn'
t be playing with react then probably 20:11
codesections well, I don't think *my* brain is anything special. So maybe I'm underestimating the task!
raydiak_ you were asking about time it takes to learn a language. the currnet state of javascript is completely beside my point, unless I've missed something
maybe it's not the DOM you have to learn, maybe it's some other set of manipulations. which really only further points to the fact that two people can think they "know" javascript, and know very different and separate things. whether you do or don't "know" something as broad as a language, community, and ecosystem is pretty subjective 20:13
codesections raydiak_: well, I said a language "like Go or JS". Learning Rust definitely took me 6+ months, but I was coming from JS and had never worked in a statically typed lang
jdv does anyone really "know" raku?...:) 20:14
MasterDuke34 stoned75_: look at github.com/rakudo/rakudo/blob/mast....c/Rat.pm6
nine tadzik: around here everyone calls it the Pfizer, but I like to give credit to where credit is due, not just the manufacturer :) 20:15
tadzik fair :)
gfldex It isn't just the capability to learn but also the emotional level when it comes to accept change. Being scared can dumb down any human.
tadzik I was caught off guard getting a paper that says "comirnaty" 20:16
raydiak_ all I'm trying to say is where you're at after a week is only the very shallow end of the "knowing" pool
codesections Actually, Bruce Gray had a talk where he argued that Raku has too many "super experts", who not only know Raku but know it so well (and have known it for so long) that they can't remember the challenges of the beginner
yeah, 100% agreed that it'd put you on the shallow end 20:17
MasterDuke34 and you can see that there are cases where Rat/FatRat/float are created based on whether e.g., the denominator is less than 2**64 or not and/or some of the participating object are already FatRats 20:18
gfldex That's something I can agree on. Pretty much with every blog post I spend at least 15 minutes thinking about what a beginner might need to know to understand what I write about.
And then I publish the post anyway. :)
codesections But I guess where I was coming from is that it doesn't seem (to me) that people should think of themselves as "Perl developers" who need to "retrain" to get a job as a "Javascript developer"; they should think of themselves as software developers applying for a job. 20:19
but maybe that's naive 20:20
nine In company history we've only ever hired a single developer who actually knew the languages we use 20:21
gfldex It's not from the standpoint of a developer. Sadly those seldomly decide who gets hired. And that is where the fear is comming from.
stoned75_ MasterDuke34: yeah the XXX is still there, UInt64 was replaced by uint and Rat is still Rational[Int, Int]
or did I missed something ?
MasterDuke34 github.com/rakudo/rakudo/blob/mast...6#L75-L113 for example 20:22
stoned75_ MasterDuke34: ooh OK I think I get it 20:23
MasterDuke34 my understanding is that yes, Rat uses the same types for implementation as FatRat, but deliberately changes the result of operations if that result would end up with values in the implementation that exceed a threshold 20:25
raydiak codesections: I would definitely agree that someone with an adequately broad background can step into a job using a language they aren't very experienced with, and very quickly come up to speed with that company's preferred patterns and tools. within certain limits, of course. perl -> js would be a lot easier than, say, perl -> haskell
nine Come to think of it. My very first job out of school was as a PHP developer. I started looking into PHP 2 hours before the interview :D 20:26
codesections yeah, fully agree. Stepping outside of the Algol family of languages would make it a lot harder
tadzik nine: sounds very university :P 20:27
stoned75_ MasterDuke34: thanks for your insight
MasterDuke34 welcome. and i also welcome any corrections/expansions from the rest of the channel 20:28
raydiak as for your brain not being anything special...never underestimate yourself. we pretty much all have certain cognitive abilities that we take for granted, which are more challenging for others. some people memorize things easier. some people see and mentally manipulate complicated strucutres more naturally. for others, it's the ability to adapt quickly and operate effectively in less-familiar environments, 20:34
extrapolating likely truths from a smaller set of known points. some people go through life very successfully on social and linguistic skills more than anything else. whether an ability is "special" or not is pretty subjective
nine tadzik: Yeah, I'm kinda surprised that this article doesn't contain my picture: en.wikipedia.org/wiki/Student_syndrome
tadzik :D
moritz it's a wiki, we could change that :D 20:36
gfldex And adding a face can't possibly count as defacement. 20:37
nine But they have weird rules :D
gfldex: so it's a.... facement instead?
gfldex I guess so. But then, I learned English on the interwebs.
stoned75_ the more I dive in the numeric types' doc the more my backlog is growing... I must be missing something :-} 20:38
pmurias codesections: re retrain there is still a gap between learning enough of a language & ecosystem to be productive in it and having a ton of experience and being an expert in it 20:50
m6locks www.youtube.com/watch?v=hKkQRIBBK7U 21:50
guifa leont: about half way through your talk so far, really well done! (sorry I couldn't attend live, f***ing $day-job) 22:33
leont :-) 22:54