🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
rypervenche guifa: I'll happily submit a PR with anything that I can help with. :) 01:45
Geth doc: c470f93ef5 | (Stoned Elipot)++ (committed by Juan Julián Merelo Guervós) | doc/Type/Callable.pod6
Adjust operators' classification and xref them
05:56
doc: 8f08629f31 | (Stoned Elipot)++ (committed by Juan Julián Merelo Guervós) | doc/Type/Callable.pod6
Add missing articles
linkable6 Link: docs.raku.org/type/Callable
Geth doc/code-impl-detail: 7c07b0e3f0 | (Stoned Elipot)++ | 2 files
Revisite (is-)implementation-detail

  - xref implementation-detail trait
  - fix pasto (trait -> method)
  - give is-implementation-detail its own section in implementation-detail
trait's description, hence nicely grouped in search results and routine page
06:59
doc: stoned++ created pull request #3625:
Revisite (is-)implementation-detail
lizmat clickbaits rakudoweekly.blog/2020/09/07/2020-...ime-again/ 09:11
tbrowder hi, i'm admiring [Coke]'s tally.raku prog and have a question about line 43 where a regex contains a capture with <( .* )> instead of the usual (.*). is that required or 12:58
could either form have been used?
i notice he uses $/ instead of $0 for extracting the capture. is that the reason? 13:02
MasterDuke that's not a capture. it's `<(` and `.*` and `)>` 13:04
the `<(` and `)>` are non-(something, i don't remember the exact right term) markers 13:05
tbrowder ok, but why was it used instead of a capture?
MasterDuke dunno, for that you'd have to ask him
tbrowder sure
.ask [Coke] why in tally.raku did you use "<(.*)>" instead of "(.*)" to get the user id? 13:07
tellable6 tbrowder, I'll pass your message to [Coke]
[Coke] Ugh. got a ballot which causes my tally script to crash. Fun. 13:19
tellable6 2020-09-08T13:07:55Z #raku <tbrowder> [Coke] why in tally.raku did you use "<(.*)>" instead of "(.*)" to get the user id?
[Coke] tbrowder: because I want that to be the capture, just the ID.
tbrowder but isn't that already accounted for with the surrounding '@(' and ')'? 13:23
[Coke] ah, crud. Email::MIME expects you to give a Str to work with... with a message encoded in something that isn't utf8, that's not a Str...
tbrowder: those are literals.
I want to match the literal, but not include them in the match
so given @(hi), I just want "hi", not "@(hi)" to be the match. 13:24
phrasing is off there. I want them to *match*, but then not be in the *result*
tbrowder right, but that should happen without the <> shouldn't it? 13:25
tbrowder m: my $s = '@(foo)'; if $s ~~ /'@(' (*.) ')'/ { say "id = '{~$0}'"} 13:28
camelia 5===SORRY!5=== Error while compiling <tmp>
Quantifier quantifies nothing
at <tmp>:1
------> 3my $s = '@(foo)'; if $s ~~ /'@(' (*7⏏5.) ')'/ { say "id = '{~$0}'"}
tbrowder erg revers . and * 13:28
m: my $s = '@(foo)'; if $s ~~ /'@(' (**) ')'/ { say "id = '{~$0}'"} 13:31
camelia 5===SORRY!5=== Error while compiling <tmp>
Quantifier quantifies nothing
at <tmp>:1
------> 3my $s = '@(foo)'; if $s ~~ /'@(' (**7⏏5) ')'/ { say "id = '{~$0}'"}
tbrowder m: my $s = '@(foo)'; if $s ~~ /'@(' (.*) ')'/ { say "id = '{~$0}'"}
camelia id = 'foo'
tbrowder \o/
[Coke] you're referring to $0 after. I'm referring to $/ 13:32
codesections m: my $s = '@(foo)'; if $s ~~ /'@(' <(.*)> ')'/ { say "id = '$/'"} 13:33
camelia id = 'foo'
tellable6 2020-09-07T14:17:20Z #raku <tbrowder> codesections see raku/problem-solving issue on a raku blog site. i mentioned yr name there.
2020-09-07T14:20:37Z #raku <tbrowder> codesections also check forum at getzola.org for a rec for a theme for multi-blog-author zola site
tbrowder correct 13:37
[Coke] ah. easy fix on the utf-8 issue, just add a parameter to slurp. all the actual bytes I care about are ASCII, so this is all fine. :) 13:38
[Coke] tbrowder: so does that cover your question? 13:38
tbrowder well, does either way work in your code? if so, that satisfies me. i'm just not used to using your syntax except in heavier grammar stuff. 13:40
that was my basic question: is there a special need for that syntax 13:41
Geth Raku-Steering-Council/main: a206947960 | Coke++ | scripts/tally.raku
Handle non-utf8 emails
13:42
Raku-Steering-Council/main: 01d7d907ed | Coke++ | scripts/tally.raku
Add quiet option

  -q hides list of emails
[Coke] *need*? no, you can do it either way
there we go, tally script working again: 17 ballots reporting 13:43
codesections m: say '@(foo)' ~~ /'@(' (.*) ')'/ 13:44
camelia 「@(foo)」
0 => 「foo」
codesections m: say '@(foo)' ~~ /'@(' <(.*)> ')'/ 13:45
camelia 「foo」
codesections tbrowder: I think of it more about semantics/expressing my intent. 13:46
tbrowder ok, thnx
that's fair enough :-D
rypervenche tbrowder: I suppose if you need the @() later on at any point, then using your way would be better.
codesections the expression with `(…)` returns a match *and* a sub-match; the one with `<(…)>` just returns a match. If I want to throw away part of it, it feels cleaner to do that at the start and not return the outer match 13:47
imo, of course
MasterDuke if you're matching some large text, it might be more efficient not to have to carry it around. but that seems likely to be a micro-optimization
rypervenche It's also more things to remember as you're not capturing exactly what you want/need. 13:48
codesections rypervenche: exactly. By keeping the @(), I'd read that as implicitly saying "I might need this later". By *not* keeping it, the code is guarenting we *don't* need it later 13:49
(that grammar was all sorts of messed up, but I think my meaning survived) 13:50
rypervenche Reminds me of Bruce Gray's talk where he said "write what you mean", in reference to 'a' ^..^ 'z' instead of writing 'b' .. 'y'.
tbrowder well, for a one-finger typist, my method saves 2 chars 13:56
rypervenche Rather, "say what you mean versus what you almost mean".
codesections tbrowder: :D only on the front end, though -- you lose at least one of those keystrokes and maybe more when using the match :) 13:58
m: if '@(foo)' ~~ /'@(' (.*) ')'/ eq 'foo' { say "got a 'foo'" } 13:59
camelia ( no output )
codesections m: if '@(foo)' ~~ /'@(' <(.*)> ')'/ eq 'foo' { say "got a 'foo'" } 14:00
camelia got a 'foo'
codesections m: '@(foo)' ~~ /'@(' (.*) ')'/; if $0 eq 'foo' { say "got a 'foo'" } 14:01
camelia got a 'foo'
[Coke] If you're planning on voting for RSC, please don't wait until the last minute. 14:21
Do we have a ballpark on how many distinct voters we have? (over the various repos on the announcement) ? 14:23
Geth Raku-Steering-Council/main: 22c3131d79 | Coke++ | scripts/tally.raku
Pull github id from message if present

  (Not everyone put it in brackets)
14:38
Raku-Steering-Council/main: ab9902639a | Coke++ | scripts/tally.raku
Don't include ] in ID if present
14:42
codesections [Coke]: The (heavily promoted) Raku User Survey has 162 responses and obviously not all of those respondents can vote. So it's hard to imagine that there will be all *that* many votes 14:43
[Coke] m: say 17/162 14:47
camelia 0.104938
tbrowder codesections: ah, but golfing id 14:48
*is not my style, maintenance is
tbrowder and yes, that takes more chars 14:49
and i don't understand why the '@(' is lost or saved based on either "capture" method in the prog it is used in 14:51
codesections tbrowder: because `<(…)>` isn't creating a capture *within* the match, it's limiting the capture *of* the match. docs.raku.org/language/regexes#Cap..._%3C(_)%3E 14:53
codesections m: say 'foo bar baz' ~~ /'foo' <.ws> <(.*)> <.ws> 'baz'/ 14:54
camelia 「bar 」
[Coke] m: say 'foo bar baz' ~~ /'foo' <.ws> <(.*?)> <.ws> 'baz'/ 15:32
camelia 「bar」
tbrowder ah, yes, now i recall, thnx. 15:37
[Coke] m: say 'foo bar baz' ~~ /'foo' <.ws> <(.*!)> <.ws> 'baz'/ ## TIL about ! 15:52
camelia 「bar 」
Geth doc: 28f25acf7d | (Stoned Elipot)++ (committed by Juan Julián Merelo Guervós) | 2 files
Revisite (is-)implementation-detail

  - xref implementation-detail trait
  - fix pasto (trait -> method)
  - give is-implementation-detail its own section in implementation-detail
trait's description, hence nicely grouped in search results and routine page
ezzieyguywuf I've recently (past 5 or so months) picked up functional programming in haskell. If I wanted to dip my toes in perl, specifically to write functional-style programs, would perl 6 be a good candidate? or perl 5? or is perl not a good fit? 17:41
moritz ezzieyguywuf: both Raku (formerly Perl 6) and Perl 5 offer quite a few features for functioncal programming; Raku a few more than P5, if you ask me :D 17:43
codesections ezzieyguywuf: I can't speak to perl5/7, but Raku (formerly known as Perl 6) is an *excellent* fit with functional programming
ezzieyguywuf so there's a perl 7 now? 17:44
and perl 6 was renamed to raku?
moritz being discussed/developed right now
(p7)
ezzieyguywuf gotcha
moritz one of the small, nice features that Raku has is a special syntax for partial application of operators
m: say (1, 2, 3, 5).map: * + 10 17:45
camelia (11 12 13 15)
codesections it's basically p5 with a few very minor changes -- it doesn't pick up any of the changes from Raku (that aren't already in p5)
ezzieyguywuf also - for your veternal perlers (rakuers?): do you find that perl (raku?) lends itself well to "production" code, i.e. writing programs that are user-facing and expected to be maintainable long-term?
moritz m: say <foo bar baz>.map: *.upper # same for method calls
camelia No such method 'upper' for invocant of type 'Str'
in block <unit> at <tmp> line 1
ezzieyguywuf i.e. let's say you wanted to write a CAD program, including 3d graphics - would you use perl for this, or would you reach for a different language?
moritz m: say <foo bar baz>.map: *.uc # same for method calls
camelia (FOO BAR BAZ)
ezzieyguywuf moritz: ah - haskell has that :-P 17:46
ezzieyguywuf i.e, `fmap (+ 10) [1,2,3,5]` 17:46
moritz ezzieyguywuf: TBH for a CAD program, I'd look for a suitable GUI framework *before* looking into a programming language to use it; but then I've never actually written a CAD program
ezzieyguywuf moritz: I'd prefer not to use a pre-existing GUI framework due to dependency nightmares - let's say you were prepared to write the GUI stuff yourself given a adequate OpenGL library 17:47
codesections ezzieguywuf: a few functional-programming in Raku resources: docs.raku.org/language/haskell-to-p6 (a WIP), wimvanderbauwhede.github.io/articl...s-in-raku/ (and other posts on the same blog)
ezzieyguywuf codesections: thanks! 17:48
El_Che releasable6: status
releasable6 El_Che, Next release in ≈11 days and ≈1 hour. 1 blocker. Changelog for this release was not started yet
tellable6 hey El_Che, you have a message: gist.github.com/4b8dc42e7f57a33dd6...5bc4016cfd
releasable6 El_Che, Details: gist.github.com/65bf0f9f59339dafc0...f2aac7c997
codesections re: Raku as production-ready. I'd say we're not _quite_ to the point where I personally feel comfortable releasing Raku code in production but we're *really* close. 17:50
ezzieyguywuf codesections: interesting. What about perl 5? (which, I guess, is an entirely different language, right?)
codesections (My main hesitation at the moment is re: security in package management)
moritz I would have some hesitations doing a project in raku if I expected it to grow to a million lines of code 17:52
for smallish projects, no problems 17:53
El_Che by the time you write millions of line there would be a lot on new raku releases 17:54
ezzieyguywuf I expect it to grow large
dunno about millions, but then again, I don't really know that much about programming :-P
codesections Perl 5 is definitely production ready. But, like I said, I don't know how to program in perl 5 so I can't speak to that in any detail
ezzieyguywuf fro smallish projects I'd typically reach for python - I guess this is the main space in which raku competes?
Geth Raku-Steering-Council: jubilatious1++ created pull request #32:
tally.raku -- remove `@` if present in voter github_ID
17:55
codesections moritz: I'd generally agree with you re: smaller projects other than github.com/Raku/problem-solving/issues/229 and similar concerns 17:57
guifa` I think by tonight I'll have the localized exceptions template ready to be used. Just have to finish writing the updater script so I know I can reparse the localized stuff :-) 17:59
codesections exxieyguywuf: Yeah, I'd generally say Raku competes in the same space as Python, (server-side) JavaScript, Ruby, Racket, etc -- basically, Raku is a strong competitor to non-statically-typed, garbage collected languages 18:00
*ezzieyguyfuf
(I don't know why, but it sure seems like I just _can't_ spell your nick correctly; sorry about that!) 18:01
moritz codesections: use tab completion for nick names; most IRC clients have that 18:02
codesections moritz: O.o TIL
El_Che codesections: I call him maurice in my head (and mauricio on sunny days) 18:03
moritz re #229, I agree that's an issue that needs solving, but I'd also like to point out that many ecosystems don't have a proper solution either (especially when it comes to authors deleting their modules, and then name squatters coming in to reclaim the name)
codesections moritz: yeah, true. But there's a big difference between an attack that's possible when a package isn't maintained and an attack that's possible *all* the time 18:04
AlexDaniel` yeah I'm quite surprising by people saying it's not a problem and it's meant to be this way 18:06
Geth Raku-Steering-Council/main: 1cb5a54133 | jubilatious1++ (committed using GitHub Web editor) | 4 files
Merge pull request #1 from Raku/main

Update from origin (Raku/Raku-Steering-Council)
Raku-Steering-Council/main: 37537e4cc0 | jubilatious1++ (committed using GitHub Web editor) | scripts/tally.raku
remove `@` if present in voter github_ID
Raku-Steering-Council/main: cccee605a3 | (Will Coleda)++ (committed using GitHub Web editor) | scripts/tally.raku
Merge pull request #32 from jubilatious1/main

tally.raku -- remove `@` if present in voter github_ID
moritz we really need some way to to tie authentication to an "auth"
El_Che rakudo-pkgs released (the relocatable build were blocking, but a woraround was found) 18:07
codesections moritz: agreed. That plus forbidding ambiguous shortnames in META6.json would be enough to solve the issue 18:08
sena_kun El_Che++
codesections (or shortnames entirely, which is obviously a superset of "ambiguous shortnames") 18:09
AlexDaniel` codesections: in your opinion, why is it a strong competitor?
El_Che I would love to see a solution like on go: link to a repo *tag* directly (resposability of the author) + a read only caching proxy against removal and moving of tags 18:09
everything else feels to me like overengineering with subpar results 18:10
codesections El_Che: who do you mean by "the author"? The author of the upstream package? Or the author of the downstream META6.json? 18:11
El_Che the author of the lib
he publishes it in his own repo with a tag in semantic version format
[Coke] is surprised to get a PR for tally.raku 18:13
Geth ecosystem: juliodcs++ created pull request #541:
Add BigRoot to ecosystem
18:14
[Coke] Also: 19 ballots reporting
El_Che with vendoring to add your raku-only dependencies to your repo, so you are not dependant on the network
guifa` Can you pass args to a module using -M ?
codesections Maybe I'm missing something, but that seems like it doesn't solve the problem. Here's the use case I'm concerned about: I write an application with «"depends": "Pod::To::HTML"» when there are many different packages in the ecosystem with that shortname and at least 1 is malicious. 18:15
It seems like we need to make that line fail 18:16
El_Che codesections: you denpend on github.com/foo/pod-to-html v 0.1.2 18:16
not on Pod::To::HTML 18:17
(if we're ripping off the go way)
codesections El_Che: Yeah, that would be fine with me
[Coke] I think having safe defaults is good, but we should also be encouraging people to specific an author/version/etc. to avoid that sort of thing. 18:18
[Coke] *specify 18:18
codesections [Coke]: yeah, agreed
[Coke] (probably should update the various META6.json files under Raku/ org to set a good example here)
Raku/doc is a good place to start. :)
AlexDaniel` or, maybe, just maybe, it shouldn't even be possible to have packages with the same name published by multiple people 18:19
El_Che I think the raku way strated from a CPAN-centric view of the world, but the world moved on in the meantime 18:20
codesections [Coke]: right now, though, there *isn't* way to be specific enough that it can't be exploited -- as moritz pointed out, there's not yet a check that a package owns the `auth` field it claims to own
El_Che *started
Grinnz AlexDaniel`: you always want to have the ability to "pass on" or let other people assist in maintenance though. hence why pause permissions work the way they do for perl
codesections (at least not without specifying an exact version, which means giving up even non-breaking bugfixes) 18:21
AlexDaniel` Grinnz: why PRs to a package registry wouldn't be a solution to that?
guifa` El_Che: did CPAN at least have people claim namespaces?
didn't*
El_Che guifa`: CPAN was the best there was at the time 18:22
Grinnz it might be? just laying out some of the concerns you'll want to keep in mind
El_Che it made sense then
Grinnz package permissions for pause don't always transfer from one person to another. they might be continued to be held by the original author but comaint given to 7 other people. or the original author might pass on ownership but keep comaint themself to help with releases 18:23
this is all based on the model of "the first person to release this package name gets ownership of it" so i guess you have to define that assumption first 18:24
guifa` Grinnz: yeah, that's what I recalled it doing. It has some big plusses and minuses of course
In one way, it keeps some mild semblance of quality control and unambiguity of module names. But I dunno how they handled it when an author disappeared and no one else had permissions to update. 18:25
Grinnz at the highest level there are two major considerations: 1) how does one get and ensure they can keep permissions on a namespace, 2) how does one share or transfer those permissions as necessary
Grinnz guifa`: documented takeover process, which involves a good faith attempt to contact the author and have them resolve it, or at least give written permission to the admins to do so 18:26
MasterDuke i was recently reading (seen on HN) someone's review of their time with Rust. iirc, one of the complaints was no namespacing, so some long-expired crates with generic names mean the name can never be used again 18:27
Grinnz that has been occasionally a problem on CPAN, but it only remains a problem if the owner of the namespace is persistent
which is rare 18:28
El_Che MasterDuke: see my full qualified module names of go
MasterDuke: where that is not an issue
MasterDuke yes, java is similar
El_Che yes, but Java predated the github era 18:29
and it sucked compared to CPAN *then*
Grinnz but one of the key concerns here is being able to assure authors that their namespace *won't* be wrested away arbitrarily, which CPAN has gone out of its way to avoid and certain other ecosystems did not do so well
something something leftpad 18:30
El_Che which is kind of a copy of cpan
AlexDaniel` looking at other languages is a good idea. Interesting github-based way of doing it in Julia, although I don't know if there's any solution to dead packages and stuff like that. github.com/JuliaRegistries/General/pulls
guifa` zef can support multiple ecosystems though, yeah? Perhaps there's a way to get the best of both worlds of the current wide-open (but potential classes and security stuff), and a semi-curated system that obliges buyin to extended names and has some of CPAN's namespace control
El_Che in raku, with multi author support, how do you choose the default lib for a name? First come, first serve? the best? The most popular would be not really fair 18:31
AlexDaniel` it also has a built-in handling of environments, which is kinda cool
Grinnz first come is really the only objective way to resolve it
(as a starting point, anyway) 18:32
El_Che then you risk having a POC, outdated or abandoned module as the default 18:33
Grinnz yes, and you need ways to resolve that, hence my second point
codesections Grinnz: It seems like the big advantage we have with Raku is the concept of `auth`. If we require `auth` in META6 and enforce that the package is hosted at the matching auth, then our `use` statments can be really concise and the first-come-first-serve work can be handled in the META6 file 18:34
Grinnz but other than "approved modules by X" where X is some group of people acting on subjective reasoning, there's no other mechanism you can use really 18:34
El_Che Grinnz: I hated that in Perl
Grinnz i'm sure many did, but it's also necessary 18:35
the ecosystem doesn't work if you can't retain ownership
El_Che Oh, I use the modules recommended by X list
Grinnz and yeah, i don't pretend to comment on how the auth mechanism in raku interacts with this - just on what is needed if you want to resolve things without specifying auth 18:36
rypervenche guifa`: Nice, I'm looking forward to seeing the localized exceptions template. I bought "Learning Perl 6" in Mandarin in case I needed any help with translating things. Just arrived :)
guifa` Oh sweet
El_Che but it's weird. I think it says to users "CPAN is full of shit, use these modules if you want good or working stuff'
the hierarchical nature of CPAN creates expectations that a small community like raku can't resolve 18:37
Grinnz i might have misinterpreted what you said you hated 18:38
El_Che The lists are great, the message of their existence, less so 18:39
guifa` El_Che: I've thought about making a curating website that gives an overview of different module choices for different tasks in Raku. So for makin roman numerals, it'd list all the different options, and make mention that Numerals::Roman (made up name) is super light weight with no overhead, and Intl::Format::Number is powerful, but probably overkill. And if Numerals::FancyFormat and Numerals::Roman have matching APIs, mention that too
Grinnz i was more subtweeting the registered modulelist which was a failed attempt in perl to have "approved" modules for certain namespaces
El_Che guifa`: it would be a great resource, but it won't scale 18:40
github star is something a lot of people use to quickly evaluate libs for other langs
Grinnz having curation is great, but you can't make the curation canonical
and you can't rely on it
guifa` Grinnz: yeah, that list would be totally separate
Grinnz Task::Kensho is an example of a good way to do this in perl (if it was kept up to date better) 18:41
guifa` As you say, there has to be aw ay to say "this is the default module for a given identifier"
El_Che Anyway, as AlexDaniel` states, there is a potential security problem, but also importantly there is a reproducibility problem 18:44
Grinnz the ever tradeoff between being able to depend on a specific version for compatibility, and getting bugfixes... not an easy question 18:45
El_Che I mentioned the vendor dir in the repo as a solution for that 18:46
Grinnz in a managed repository like for a distro, people can rely on semantic versioning and tailor their requirements to that... not so much in the wild west of an unmanaged self publishing repo 18:47
El_Che however, my point is rather about getting a module fron a different author, maybe not api compatible
Grinnz sure, different implications, but same problem 18:48
El_Che the wild west is where golang uses semantic versioning
they only bump revisions 18:49
and choose the lowest compatible version
if you want to go higher you need to do that your self 18:50
guifa` rypervenche: as soon as I get the updater script done, I'll commit to github and you'll be able to start ^_^ initially you'll want to run the updater script fairly often because I keep finding oddities in the Exceptions' .message that need special treatment
El_Che golang.org/ref/mod#versions 18:51
guifa` I'm probably going to end up doing a big PR for Exceptions based on a lot of it, including making some new subclasses
El_Che I would like to have a look at how other languages solve the same problems
AlexDaniel` actually, a comment listing package systems of other languages and their notable solutions… wow I'd like to see that 18:55
not sure if it's going to help but damn that'd be interesting
like maybe a table or something, see this for inspiration: github.com/perl6/user-experience/issues/19 18:56
El_Che AlexDaniel`: it would be top hit on HN :) 18:58
AlexDaniel` well, just having links and some short comments can be very helpful, and that wouldn't be HN-worthy 19:00
don't know if that's good or bad :D
Geth ecosystem: 03bb646e9f | (Ramiro Encinas)++ (committed using GitHub Web editor) | META.list
Add System::Stats::DISKusage to ecosystem

See github.com/ramiroencinas/System-Stats-DISKUsage
19:40
rypervenche I wonder if we could get some of the source code from Comma to help with writing other lexers. 19:47
[Coke] someone sent in a ballot with a github ID that is purely numeric. Is that a thing? 19:57
(If I go to github.com/dddddddd it's a 404 19:59
rakudo & MoarVM part of the "Artic Code Vault" on github. (I got a badge for it?) 20:01
MasterDuke saw something on HN about it recently. i think github took a bunch of open source code and etched it into crystals and stuck it in a vault. like has been done with seeds 20:02
codesections Yeah, and they were pretty extensive about what they put in the vault (I had contributed to three Rust projects that were included, and none were exactly core to that ecosystem) 20:07
timotimo that's nice 20:08
let's hope interstellar societies get to unearth the vault before the sun swallows up our little earth bean
El_Che As a non-microsoft fan, my badge shows 2 ms repos I contributed to when you over it 20:13
codesections Is there any particular reason why `Test` has `isnt` and `unlike` but no negations for any of the others? (E.g, no `isn't-deeply`, etc) 20:20
And, while I'm at it, why isn't `isnt` `isn't`?
[Coke] some of that may be historical (since parts are based off p5) 20:25
Grinnz in p5 isn't is actually a fully qualified function call to isn::t, which Test::More makes work anyway, but nobody owns isn:: 20:29
also, don't use it :P 20:30
AlexDaniel` [Coke]: numeric logins are a thing, but it could also be their ID. Try a link like this: api.github.com/user/5507503 20:51
actually… I… don't know if that works 20:53
that link above should return my account, and it does work when I visit it 20:54
but I tried getting other accounts with known IDs and it returns random users
AlexDaniel` ah no! It works! 20:55
dumb me copied the wrong thing :)
[Coke] AlexDaniel`: ah, that's it. (user/ for the ID, users/ for the name) 21:37
Thanks.
AlexDaniel` I wonder how they got the number :D
I mean, it's easy to get it through the API, but it's clearly not what we meant 21:40
Geth Raku-Steering-Council/main: 6d343f5e2e | Coke++ | scripts/tally.raku
Reject malicious ballots

Someone could submit a hand-rolled ballot with multiple votes for the same person
Barry Keeling++ for noticing this gap.
21:42
[Coke] I have gotten more code review on this dumb script... :) 21:48
Geth Raku-Steering-Council/main: 51498b775a | Coke++ | scripts/tally.raku
Note failure condition in comments
21:51