»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:02 mcmillhj joined 00:06 skids joined, mcmillhj left 00:07 mcmillhj joined 00:08 Cabanossi left 00:09 BenGoldberg joined, Cabanossi joined 00:12 skids left 00:24 mcmillhj left 00:27 aindilis joined 00:33 mcmillhj joined 00:37 Cabanossi left 00:39 mcmillhj left, Cabanossi joined
samcv oh my. what have i done github.com/Juerd/p6-mqtt/commit/21...7d7493db08 00:52
yoleaux 12 Jun 2017 18:48Z <eveo> samcv: on 6.c-errata t/spec/S15-nfg/grapheme-break.t now fails 3 Regional_Indicator tests. Are the tests wrong?
samcv what have i done!
i suggested they not do that :P but. hah github.com/Juerd/p6-mqtt/issues/3 00:53
i did give them the idea
i guess it's not that bad to be honest
sammers ha
samcv see my last link for the backstory on it 00:54
00:54 mcmillhj joined
sammers yeah 00:54
samcv though it *is* artistic-2.0 licensed so technically they did follow that advice 00:56
technically..
01:00 skids joined 01:02 mcmillhj left 01:03 ramortegui left
Juerd samcv: Don't feel sorry. It's a wonderful license! 01:03
The only thing we should fear about the "any OSI" license is that one day perhaps this license itself might be listed as an OSI compliant license, in which it becomes recursive... 01:05
01:08 aborazmeh joined, aborazmeh left, aborazmeh joined
samcv "any OSI license" becomes an official OSI license :P 01:11
haha
tbh i'm totally fine with what you did. when zef gets good features of white and blacklisting licenses it should work as expected letting people install your software if they've whitelisted any OSI approved license
so that is nice
and now that it's explicitly in the metadata it becomes more clear you literally mean any OSI license :P 01:13
01:13 mcmillhj joined
timotimo under what license is the list of spdx licenses distributed? 01:13
samcv cc0-1.0 01:14
it says here github.com/sindresorhus/spdx-license-list/
TEttinger CC0-1.0 isn't OSI-approved, IIRC 01:15
I have code that's CC0 just because I don't know a better way of public domain declaration
samcv unless that's just the list
TEttinger it's pretty confusing
samcv TEttinger, CC0 is fine though as far as OSI is concerned
the reason it was rejected. is because it says in the text that the license doesn't affect any patents 01:16
which is basically the case for public domain
and they didn't want to set a precedent to include licenses which specified in writing that it didn't affect patents
The most serious of the concerns raised had to do with the effects of clause 4(a), which reads: "No ... patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.". While many open source licenses simply do not mention patents, it is exceedingly rare for open source licenses to explicitly disclaim any conveyance of patent rights, and the Committee felt that approving such a license would set a 01:17
dangerous precedent, and possibly even weaken patent infringement defenses available to users of software released under CC0.
TEttinger opensource.org/faq#cc-zero is really confusing still
samcv it's a fine license. they just don't want to start going admiting patent restricting licenses
as slippery slope or something? i think cc0 is FSF approved
TEttinger I don't especially understand patent/trademark law, not having made enough sacrifices of goats to mammon to pass the bar exam 01:18
01:18 lichtkind left
samcv FSF wants it to grant the licencee patent use rights OR just not mention it at all 01:18
because their hope is that somehow a court will rule that a license implies patent use rights or something? idk 01:19
the area of patents and Free software licenses which don't mention them is very murky
TEttinger ah
you've seen the amazing work that went into finding an illegal prime and publishing it?
samcv oh? 01:20
TEttinger en.wikipedia.org/wiki/Illegal_prime
samcv checks with her lawyer before clicking
01:21 mcmillhj left
samcv DeCSS can be acomplished with just a prime number? 01:21
TEttinger two primes actually
either works 01:22
one is 1401 digits, the other 1905 digits (base 10)
so... really huge
samcv so the DeCSS code doesn't work until you get the prime number? 01:23
TEttinger the numbers are represented in binary in an identical way to the compressed form of the DeCSS algo
samcv was that prime number used in the creation of the CSS copyright production?
TEttinger nope
Juerd samcv: Via your site I found Pygments, and I had to try the hardest thing I could think of... I wonder if they'll support nested quotes :D bitbucket.org/birkenfeld/pygments-...ble-quotes
samcv or is it just data stored in a prime
TEttinger primes are prior art
samcv yeah
heh Juerd
if you are really cool you can make/find a plugin for jekyll which does perl 6 highlighting 01:24
via my perl 6 highlighter that's used in atom/github/docs.perl6.org
that would be pretty neat
i'm sure it's not "that" hard to do
since i got it working for docs.perl6.org
that highlights properly in my highleghter 01:25
01:25 lookatme left
Juerd samcv: I don't think I'm cool enough for that... 01:25
samcv k :3
Juerd Basically I shouldn't spend too much time on side projects but I find time for short bug reports now and then... 01:26
samcv heh
since github uses jekyll for github pages and they made highlights... maybe someday they'll do it 01:27
though i think it must be different servers which run that stuff than the other github stuff..
01:36 Cabanossi left 01:39 Cabanossi joined 01:45 ilbot3 left 01:47 ilbot3 joined, ChanServ sets mode: +v ilbot3 01:49 mcmillhj joined 01:54 Ben_Goldberg joined, mcmillhj left 01:55 BenGoldberg left 01:58 Ben_Goldberg left 02:02 skids left 02:05 bioduds joined 02:06 mcmillhj joined, Cabanossi left 02:09 Cabanossi joined 02:14 mcmillhj left 02:21 Sense8 joined 02:22 mcmillhj joined 02:24 BenGoldberg joined 02:33 skids joined 02:34 pilne left 02:36 noganex joined 02:37 Cabanossi left 02:38 noganex_ left 02:39 Cabanossi joined 02:41 xinming joined 02:44 xinming_ left 02:50 mcmillhj left 02:51 anon joined 02:52 anon is now known as Guest67551 03:01 mcmillhj joined 03:05 skids left 03:08 skids joined 03:09 mcmillhj left 03:25 uberbaud joined 03:46 aborazmeh left 03:48 mcmillhj joined 03:50 uberbaud left 03:52 Cabanossi left, mcmillhj left 03:53 Cabanossi joined 03:54 mcmillhj joined 03:58 mcmillhj left 04:10 kurahaupo left 04:12 |oLa| joined, kurahaupo joined 04:18 cpage__ joined 04:19 cpage_ left, cpage__ is now known as cpage_ 04:21 skids left 04:26 AlexDaniel left 04:31 BenGoldberg left 04:43 curan joined 04:47 skids joined 04:50 khw left 04:58 skids left 05:24 xtreak joined 05:31 kent\n left 05:35 kurahaupo left, kurahaupo joined, kurahaupo left, kent\n joined 05:36 kurahaupo_ joined, Cabanossi left 05:37 kurahaupo_ left, maettu joined, kurahaupo_ joined 05:38 Cabanossi joined 05:39 kurahaupo_ left, kurahaupo joined 05:40 kurahaupo left, kurahaupo joined 05:47 domidumont joined 05:48 lowbro joined, lowbro left, lowbro joined 05:52 cpage_ left 05:53 cpage_ joined 05:57 domidumont left 06:02 espadrine joined 06:03 wamba joined 06:18 Gruber joined 06:19 kaare__ joined 06:20 Grrrr left, kaare_ left 06:27 domidumont joined 06:35 Cabanossi left 06:38 Cabanossi joined
DrForr_ o/ 06:40
yoleaux 6 Jun 2017 21:42Z <tbrowder> DrForr_: you have a new PR for Perl6::Parser
DrForr_ .tell tbrowder Committed (somewhat blindly - I've recently had many other things on my mind.) 06:42
yoleaux DrForr_: I'll pass your message to tbrowder.
El_Che DrForr_ is alive! 06:45
06:47 DrForr_ is now known as DrForr
El_Che Ah, it's DrForr and not DrForr_, took you for someone else 06:48
DrForr github.com/drforr/angular-perl6-blog # Do your Angular development with a Perl 6 back end, other feature ideas.
*other ideas to come along. 06:49
06:50 kurahaupo_ joined 06:51 kurahaupo__ joined 06:52 kurahaupo__ left, kurahaupo__ joined, kurahaupo_ left 06:53 kurahaupo left 06:58 rindolf joined 06:59 scimon joined 07:03 ChoHag joined 07:04 Sense8 left 07:09 lizmat left 07:15 abraxxa joined 07:17 domidumont left, domidumont joined 07:23 lizmat joined 07:34 cpage_ left 07:36 cpage_ joined 07:38 wamba left 07:43 dakkar joined 07:50 committable6 left 07:57 espadrine left 08:00 chee left, integral_ left
lizmat clickbaits p6weekly.wordpress.com/2017/06/12/...ty-sorted/ 08:00
08:02 chee joined 08:03 jonas2 joined 08:05 Cabanossi left 08:08 Cabanossi joined, nattefrost joined 08:16 xtreak left, xtreak joined 08:17 salv0 joined 08:20 astj_ left, astj joined, robertle joined, xtreak_ joined 08:21 xtreak left
DrForr o/ Ah, we have a newsgroup now.. or have had for a while, but I've been too lazy. 08:21
08:21 zengargoyle left 08:25 zengargoyle joined 08:29 wamba joined 08:30 pmurias joined 08:35 Cabanossi left 08:38 Cabanossi joined 08:43 kurahaupo joined 08:44 kurahaupo left 08:45 kurahaupo joined 08:46 kurahaupo__ left 08:47 kurahaupo_ joined 08:49 nadim_ joined, kurahaupo left, kurahaupo joined, kurahaupo_ left 08:50 cpage_ left, kurahaupo_ joined, kurahaupo_ left 08:51 zakharyas joined, kurahaupo_ joined 08:54 kurahaupo left 09:02 xtreak_ left 09:03 xtreak joined 09:05 xtreak left, xtreak joined 09:38 cpage_ joined 09:42 kurahaupo joined, kurahaupo left 09:43 kurahaupo joined 09:44 kurahaupo__ joined 09:46 kurahaupo_ left 09:48 kurahaupo left 09:50 Cabanossi left 09:53 Cabanossi joined 09:56 kurahaupo__ left, kurahaupo joined 09:58 JimmyZ joined 10:07 zakharyas left, mr-fooba_ joined 10:09 mr-foobar left
Geth doc: 78831c390d | (Lloyd Fournier)++ (committed using GitHub Web editor) | doc/Type/Proc/Async.pod6
Proc::Async.write returns a promise
10:16
ecosystem: 8b94cc700a | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Remove deleted module

  irclog.perlgeek.de/perl6-dev/2017-...i_14724942
10:35
10:37 robertle left 10:40 ramortegui joined, ramortegui left 10:42 travis-ci joined
travis-ci Doc build errored. Lloyd Fournier 'Proc::Async.write returns a promise' 10:42
travis-ci.org/perl6/doc/builds/242361283 github.com/perl6/doc/compare/95a0d...831c390d4a
10:42 travis-ci left
Geth doc: 9492cb6002 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO.pod6
Fix typo
10:42
10:51 Cabanossi left
Geth doc: 02b2990c34 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO.pod6
Reword/expand &indir

  - Reword to avoid implying $*CWD is set *to* $path; a derivative object
   is actually created
  - Document relative $path gets changed to absolute at all times (this
   avoids some issues, since some things expect $*CWD to .Str to an
   absolute path)
10:52
tbrowder DrForr: hi, Perl6::Parser needs another rename (_build-tree to build-tree) to get testes to pass), new PR on deck
yoleaux 06:42Z <DrForr_> tbrowder: Committed (somewhat blindly - I've recently had many other things on my mind.)
10:53 Cabanossi joined
tbrowder i understand, looking forward to yr presentation in dc 10:55
11:00 zakharyas joined 11:03 travis-ci joined
travis-ci Doc build errored. Zoffix Znet 'Reword/expand &indir 11:03
travis-ci.org/perl6/doc/builds/242371409 github.com/perl6/doc/compare/9492c...b2990c34bd
11:03 travis-ci left 11:20 nadim_ left, nadim_ joined, cognominal joined 11:25 travis-ci joined
travis-ci Doc build errored. Zoffix Znet 'Fix typo' 11:25
travis-ci.org/perl6/doc/builds/242368687 github.com/perl6/doc/compare/78831...92cb600227
11:25 travis-ci left 11:28 zakharyas left 11:43 xtreak left 11:44 kurahaupo left, xtreak joined, kurahaupo joined 11:46 xtreak left, xtreak joined 11:47 kurahaupo left, kurahaupo_ joined, kurahaupo_ left 11:49 kurahaupo joined 11:51 xtreak left, Cabanossi left 11:53 Cabanossi joined, bwisti joined 12:02 wamba left 12:03 ctilmes joined 12:16 raschipi joined 12:21 araraloren joined
araraloren evening 12:21
12:23 wamba joined
nadim_ afternoon 12:24
raschipi morning 12:26
yoleaux 12 Jun 2017 22:49Z <pilne> raschipi: "thank you for the pointer to sparrowdo"
12:30 committable6 joined, ChanServ sets mode: +v committable6, committable6 left 12:31 committable6 joined, ChanServ sets mode: +v committable6 12:33 esh left
DrForr %appropriate_greeting<local>; 12:37
12:42 skids joined 12:44 esh joined 12:46 esh left 12:48 esh joined, mcmillhj joined 12:50 skids left 12:52 mcmillhj left
raschipi lizmat: EC::Grammars::DIG was written by Eduardo Capanema (bioduds), not me. Sorry for the confusion on the commits to the ecosyetm. 12:54
lizmat raschipi++ # fixed 12:55
raschipi Thanks. 12:56
12:59 bdmatatu joined 13:00 mcmillhj joined, aborazmeh joined, aborazmeh left, aborazmeh joined
pmurias DrForr: re calling Perl 6 compiled to JS "PerlScript", something called PerlScript already exists (and is some Active Scripting Windowsy thing) 13:01
bioduds Hi guys 13:03
Got IO::Socket::Async to work which is better cause it sets me free and does not require threading in incoming signals
tbrowder fyi, i have a rough working linter that counts pod begin/end lines as well as open/close lines. see at: github.com/tbrowder/Perl6-Linter-Lite 13:09
pmurias DrForr: I looked into how the create-react-app build things and they are using webpack (I have hooked up nqp.js in the past into webpack) so I should be able to hook up rakudo.js into it 13:10
masak IMHO, Perl 6 compiled to JavaScript is either Perl 6, or JavaScript, depending how you see it ;) 13:12
abraxxa zostay: can you please release a new DOM::Tiny with the license fix included so it can be installed with zef without the failing test? Thanks! 13:14
zostay Sure
I thought I had already, hmmm 13:15
13:17 zakharyas joined
pmurias the tests that rakudo does not run but are in roast are not part of 6.c? 13:19
13:21 nightfrog joined 13:22 nightfrog is now known as culb
zostay And so I did... I'm on my phone atm and I am not seeing why the ecosystem is not picking up the current version 13:27
bioduds seems like it is hanging though 13:28
perigrin pmurias: it's libperl set up as a WIndows Scripting HOst language so you can write ASP or Excel macros in Perl rather than VBScript 13:30
zengargoyle abraxxa: i just installed DOM::Tiny via zef without any problem. 13:31
Installing: DOM::Tiny:ver('0.3.3'):auth('github:zostay') 13:32
abraxxa I got a test failure regarding the 'Artistic' license which isn't listed at spdx.org/licenses/
13:32 cdg joined
abraxxa don't have the shell log open any more though 13:32
zengargoyle "license" : "Artistic-2.0", --- you might be picking up an older version, maybe check that zef is up-to-date or maybe `zef update` for older zef? 13:34
13:38 vike left 13:39 aborazmeh left
bioduds if I ctrl+c the programm running the Async listener and try to run it again 13:40
it hangs
well, actually it hanged
not hanging anymore
zengargoyle it does take a while to test, 105 files 1022 tests, 56 seconds on the desktop.
DrForr pmurias: Good to know. It caused some serious conflicts when I was trying to work with more "regular" CSS so I haven't focussed on that much, but I think that replacing Typescript or at least compressing it into something Perlish is another option, that might also not require the need for the JS backend. Not that I don't *want* a JS backend for Perl 6, I'm just afraid the tooling we'd have to do for the libraries would fall out of sync too fast 13:41
13:47 ufobat joined
ufobat i am a cpan newbie. i am currently looking on what to do, in order to get the good tarball for Bailador for pause. if anyone has a hint i would appreciate it 13:49
zengargoyle ufobat: do you mean creating a Ballador-X.Y.Z.tar.gz file to upload? 13:54
ufobat i know App::Mi6
i am currently wondering why it "changes" my META6.json 13:55
but actually, i dont want to make something wrong and want to avoid pitfalls
zengargoyle, yes :)
zengargoyle well, i *think* App::Mi6 misses putting in a MANIFEST file, but i'm not really sure if it's mandatory or not.
ufobat: mi6 mostly just re-orders META by pretty-printing the json and alphabetizing things. 13:56
i found that out yesterday by putting my old META and the new META through `jq -S .` to make them the same level of pretty and doing a diff. 13:57
ufobat and kills my README.md
zengargoyle it ordered keys and changed '"key": "value"' to '"key" : "value'
it generated README.md from the Module.pm6 POD text. 13:58
ufobat ah
so bacially i can discard both hanges
pmurias DrForr: you had the problem with react using class for it's own purposes?
zengargoyle yeah... not so sure about that.
pmurias DrForr: it uses className for the CSS class, the DOM uses className too because it's a keyword in 13:59
13:59 lowbro left
ufobat because for cpan the POD is important not the README.md? 13:59
b2gills README.md is for GitHub 14:01
pmurias DrForr: what do you mean by replacing Typescript?
zengargoyle i think that's just the way it 'automates' things. build the README.md from the main Module.pm6 POD. it might be better if it left a README.md alone and created a README.pod so you could have both.
ufobat okay! i am going to put this on my todo list :-) thanks for your help 14:02
zengargoyle it means you have to put your travis build status icons and stuff in your pod somehow... seems LTA. 14:03
you could just build the tarball yourself...
git ls-files > MANIFEST; edit MANIFEST and take out .gitignore, .travis.yml, .precomp dirs, etc.; tar --files-from=MANIFEST zcf /tmp/Module-X.Y.Z.tar.gz 14:06
eh, forget that. more like make a Module-X.Y.Z directory and copy MANIFEST and the files in MANIFEST into the directory then tar the whole thing up. 14:08
ufobat i took the Folder which was generated by App::Mi6 and modified it a bit and recreated a tarball the same way app::mi6 does.
zengargoyle ah, cool. 14:09
[Coke] hurls github.com/perl6/doc/issues/1375 for some LHF.
zengargoyle i noticed mi6 makes Module-Name-v.X.Y which is a bit different than normal CPAN modules, but i don't think it matters that much. 14:10
ufobat tarball is on pause
so :)
yay!
zengargoyle sweet!
ufobat i am in italy :) its vacation time
time for a aperol spritz :)
DrForr pmurias: Perl 6 has to offer something beyond just being able to serve up Angular.js code, at least in my mind. Replacing TypeScript with somethng that can integrate a data model so that you can wrap up a model + data service into one package is just one notion. 14:11
[Coke] anyone here going to TPC next week? 14:12
DrForr Unfortunately no :(
ufobat i just noticed mi6 doesn't create a MANIFEST file
zengargoyle see above for what it does when building the dist directory. 14:13
ufobat *nod* 14:14
14:14 pmurias left
zengargoyle let us know if PAUSE works without the MANIFEST :) 14:14
my old mbtiny generated p5 modules have the MANIFEST, 14:16
14:18 wamba left
ufobat the log doesn't show a error, (when) should it be displayed in metacpan.org? 14:18
zengargoyle no clue, all my modules were just injected into a darkpan. 14:19
14:20 skids joined
[Coke] decides that he can't take the last minute invite to the monday night dinner at TPC. Ah well. 14:21
zengargoyle i'm not sure if cpan/metacpan is doing anything with p6 things besides providing a Module::Name from the provides and mapping it to a tarball to download. not sure if it searches or displays them yet. 14:25
ufobat mhmmm, how do i see if everything worked fine? 14:27
bioduds address already in use
hang 14:28
let me post a gist
14:28 khw joined
zengargoyle zef search zef -- shows it found in cpan and p6c. i'd guess when you search and it turns up found on cpan it's there. :) 14:29
raschipi Now we need to show the pages for the modules and a search function. 14:30
zengargoyle woot: 1 |Zef::Repository::Ecosystems<cpan>|Bailador:ver('0.0.4') 14:31
bioduds gist.github.com/bioduds/fcb7d30703...df6cccda6a here 14:32
my guess is the thread is lost there
raschipi bioduds: when you send gists, send pure perl6 so that paeople can copy and paste. You can send messages with them, just add a '#' at the start of the lines that aren't valid Perl6. 14:34
zengargoyle is it the 'address already in use' that's the problem? 14:37
ufobat zengargoyle!!! :D thank you! 14:38
raschipi IO::Socket::Async should choose a high port if one isn't provided. 14:39
14:39 bioduds left 14:40 bioduds joined
bioduds ok, done 14:40
14:40 robertle joined, curan left
zengargoyle it's picking the same one, and the previous program even after exiting the OS is keeping that port open for a bit for the shutdown process. you need to add a flag to re-use. (i totally forget what the magic incantation is). 14:41
you don't need to reboot, you just need to wait longer for the socket to become available to be re-used again.
raschipi zengargoyle: What I would do is to choose a random port each time and return that to provide it to the other side of the connection. 14:42
zengargoyle or open it with a flag that tells the OS that you're going to be closing and re-opening the same socket. 14:43
raschipi That works too. But choosing a random port avoids other problems.
Better, IO::Socket::Async should let the system chose an available high port if one isn't provided. 14:44
14:44 zakharyas left
raschipi Which would be the way network clients usually work. 14:45
zengargoyle ah, it's TIMEWAIT or something. if you kill the server while the client still has the connection open, the server OS is going to have to wait for the client to finish up the TCP connection. so you can't restart the server until the client that's connected has given up.
you need a socket with SO_REUSEADDR set. 14:46
www.unixguide.net/network/socketfaq/4.5.shtml 14:47
14:47 ufobat left
zengargoyle it's usually something you can set in your server code when opening the socket. 14:48
bioduds reading... irc crashed 14:49
let me look for the flag 14:50
raschipi But these options aren't being exposed by IO::Socket::Async ...
zengargoyle that definately may be the case. :)
but that's in general why you can't have a server that listens on port X and then kill it and listen on port X again. there is sometimes a still in progress TCP session between X and the client that has to finish before the port is available again, unless you set that flag when you open X, then it's OK (as long as you were the previous owner i think). 14:53
bioduds sorry, you mean directly? 14:54
by forcing?
raschipi bioduds: It's available in the OS interface but it isn't exposed by Perl6 14:55
You'll have to walk around that limitation for now. 14:56
bioduds so it would be done by running a system command, for instance?
to clear out the port?
raschipi We would call it "NativeCall"
bioduds ok, let me look for it 14:57
thanks :D
14:57 st_elmo joined
zengargoyle bioduds: if you waited long enough, you wouldn't have to reboot the server to re-bind to the socket, it would eventually timeout. 14:57
bioduds: you do p5 right? 14:59
bioduds yes
zengargoyle perldoc IO::Socket::INET -- ReuseAddr Set SO_REUSEADDR before binding 15:00
if p6 Socket had that option, you could use it and not get the error about address already in use. 15:01
or if your client shutdown properly before you killed the server, it would probably not happen at all. 15:02
15:02 vetmaster joined
zengargoyle when you're killing your client and server, the TCP connection remains alive because it didn't go through the TCP shutdown procedure, so the ports used by the client and server are still open and in-use, they will eventually time-out and be reclaimed. 15:05
before that happens, you can't re-start the server on the same port without using that SO_REUSEADDR flag to say "it's ok if it's still waiting for a timeout". 15:06
if you wait long enough, it will timeout and you can re-start the server without any problem.
15:09 cdg left 15:10 cdg joined
lucs m: say <a b c>.map({ $_, $_.uc }).join('|'); # Why are there spaces between the letters? 15:16
camelia a A|b B|c C
lucs (in the output, that is) 15:17
15:21 cdg left
[Coke] m: say <a b c>.map({ $_, $_.uc }).join('|').perl; 15:21
camelia "a A|b B|c C"
15:21 cdg joined
[Coke] m: say <a b c>.map({ $_, $_.uc }).perl; 15:21
camelia (("a", "A"), ("b", "B"), ("c", "C")).Seq
[Coke] ^^ because you're stringifying elements that are lists, and then joining those elements. 15:22
m: say <a b>
camelia (a b)
[Coke] so, same reason there's a space there.
15:22 jonas2 left
lucs Hmm... 15:22
[Coke] m: say <a b c>.map({ $_, $_.uc }).flat.join('|').perl;
camelia "a|A|b|B|c|C"
[Coke] you can flatten the list before joining, if you like. 15:23
m: say <a b c>.map(|{ $_, $_.uc }).join('|').perl; # does this work?
camelia "a A|b B|c C"
dogbert17_ m: <a b c>.map(|{ $_, $_.uc })
camelia ( no output )
dogbert17_ m: say <a b c>.map(|{ $_, $_.uc })
camelia ((a A) (b B) (c C))
15:27 abraxxa left 15:29 zakharyas joined
raschipi m: say <a b c>.map( {|($_, $_.uc)} ) 15:29
camelia (a A b B c C)
dogbert17_ say <a b c>.map( {|($_, $_.uc)} ).join('|') 15:31
evalable6 a|A|b|B|c|C
zengargoyle bioduds: not that you should, but you could try to use ssh to forward a port between the client machine and the server, then hopefully if you kill the ssh, the ports will close in a well handled fashion. 15:32
Geth doc: 5e30f3cbed | (Lloyd Fournier)++ (committed using GitHub Web editor) | doc/Type/Proc/Async.pod6
Put space after -->

to give it the same style as the others
15:37
15:41 araujo joined, araujo left, araujo joined
zengargoyle bioduds: ssh -N -L 5000:localhost:$SERVER_PORT $SERVER &; ./client localhost 5000; # killing the ssh would close TCP session correctly (most likely) 15:41
15:42 Reed_ joined 15:43 domidumont left, Reed_ left 15:47 araraloren left
geekosaur it does not 15:49
ssh will keep the session open as long as the forwarded connection is open. if you forcibly kill ssh then the connection is reset (i.e. both ends get TCP RST) 15:50
zengargoyle bummer, i thought that would be clever. :/ 15:51
geekosaur "close the session correctly" requires more than just a TCP close for many protocols; things are more likely to recover properly for an RST than if the session is closed correctly at TCP level but not at the level of the logical connection
zengargoyle wait, isn't that enough that the server port would be released? 15:52
geekosaur also, SHUTDOWN wait applies even for properly closed connections so you still need SO_REUSEADDR/SO_REUSEPORT to restart 15:53
(because networks are not always 100% reliable so it wants time to catch any stray packets that get delivered post-shutdown) 15:54
15:54 grondilu left
geekosaur "it" here being the kernel TCP stack 15:54
15:58 grondilu joined 15:59 cdg left, cdg joined 16:01 scimon left
raschipi bioduds: If you want to solve it immediatly, do a 'my $port = (1024..65535).pick' before starting the client and server and have them use a different port each time. 16:01
16:03 bdmatatu left
zengargoyle and have a simple web server that only serves a single file on the server, have the server code write the port to the file, have the client use WWW to get the port to connect to. :) 16:04
16:04 BenGoldberg joined
raschipi Or do it with the proper tool, rpcbind 16:05
zengargoyle heh 16:06
geekosaur if you do it that way then you really need to check if the bind succeeded and if not increment the port and try again
16:07 cdg left
zengargoyle surely there's some more web-scale solution. 16:07
geekosaur most servers just use the SO_REUSE* flags 16:08
zengargoyle for rpcbind
like etcd or something.
raschipi Get the network interface configured with many ip adresses and use a different one in each connection
zengargoyle just have the server start at 9000 and go up until it finds one, and have client try connecting from 9000 up until it connects. 16:09
raschipi Works until the client connects to the wrong server 16:10
zengargoyle that's a test. :)
16:14 robertle left
vetmaster m6: say 2 ~~ /\w/ 16:20
m: say 2 ~~ /\w/
camelia 「2」
16:22 travis-ci joined
travis-ci Doc build errored. Lloyd Fournier 'Put space after --> 16:22
travis-ci.org/perl6/doc/builds/242472793 github.com/perl6/doc/compare/02b29...30f3cbed87
16:22 travis-ci left
bioduds sorry I was out 16:25
zengargoyle bioduds: you're probably struck with passing a in a port for your server to start on and telling the client to use that port and cycling through ports until you find one. 16:26
s/struck/stuck/ 16:27
vetmaster pastebin.com/z0C1dhxy 16:28
why this prints 'alp' instead of 'alp!;abet'? 16:29
bioduds I like the idea raschipi but doesn't that rely on the node having all ports opened?
16:30 domidumont joined 16:31 Actualeyes left
bioduds nice solutions 16:31
raschipi bioduds: No, it will chose a port and use only one. 16:32
Or should I say it will pick a port 16:33
zengargoyle bioduds: why aren't you testing on your own machine? it seems like it would be easier to get working.
bioduds because I already did locally
16:33 araujo left
zengargoyle ah, nevermind. 16:33
bioduds now I putted up a node on AWS to test
so one node is local the other on AWS 16:34
zengargoyle right, raschipi: server on AWS so port opening is a thing.
bioduds I might consider using INET too if the forking pipeline is fine 16:35
geekosaur doesn't aws have some elastic binding for this kind of thing?
bioduds because it also leaves opened bidirectional communication 16:36
16:36 andrzejk_ joined
vetmaster pastebin.com/z0C1dhxy 16:36
why this prints 'alp' instead of 'alp!;abet'?
bioduds I'm not building a server, it is a P2P network
vetmaster why does this print 'alp' instead of 'alp!;abet'?
raschipi vetmaster: It's looking for digit or punct between two alpha, but the string has 2 punct between alpha, so it doesn't match.
zengargoyle i would open a small range and try the server listen one each until one works, then print it. that's the way vnc worked.
bioduds I gotta make it so any computer can have it working
with minimal requirements 16:37
geekosaur bioduds, you get to go learn how p2p networks handle this kind of thing
raschipi bioduds: the way zengargoyle is suggesting is a good way of doing it.
bioduds yes, I do
zengargoyle just to get around the start/stop/address in use thing.
bioduds in special, bitcoin
I need to catch up on that knowledger part, I agree 16:38
geekosaur againm the right answer to that is to use the SO_REUSE* options
zengargoyle i took a peek at IO::Socket::INET/Async code and there's no obvious way to hack in SO_REUSE* at least for me.... it quickly goes down into nqp land.
bioduds one question, how would I go around threading in Perl6?
16:38 mr-fooba_ left
zengargoyle it creates and binds or listens all in one little place. 16:39
bioduds cause INET does not seem to run into this problem
16:39 mr-foobar joined
zengargoyle INET would have the same address already in use problems. 16:40
unless you're talking about some other problem.
geekosaur you likely want to talk to (I think) jnthn about that while the code is still being modified, exporting some way to do that would be smart 16:42
bioduds the benefit of going Async is not having to deal with the threads
geekosaur most servers need to use the reuse options so they can be restarted without having to sit out TIME_WAIT
bioduds surely
geekosaur and 99.99% of the time any stray packets will be caught by the sequence number
bioduds I'll get into the REUSE, can you point me out to a link? 16:43
so I can try to learn it
geekosaur stackoverflow.com/questions/322986...tion-linux
it just tells the tcp stack to let you use an address/port that is in TIME_WAIT state 16:44
bioduds yeah, that seems like the way to go
geekosaur (SO_REUSEADDR, SO_REUSEPORT; a port is identified uniquely by its bind address and port number)
bioduds I left it running for about an hour here and it stopped
zengargoyle neither INET nor Async have it so.... 16:45
bioduds so it kinds of floods the com channel somehow
looks like memory leak
jnthn github.com/MoarVM/MoarVM/blob/mast...ket.c#L309
bioduds hi jnthn, reading it
jnthn SO_REUSEADDR is set by libuv automatically, and when recently porting sync sockets away from libuv I replicated it 16:46
So SO_REUSEADDR should be being set in both cases, afaik
bioduds oh 16:47
zengargoyle SO_REUSEPORT?
bioduds that means something else is going on then
since it is built in
jnthn SO_REUSEPORT ain't being
bioduds any thoughts? on what could be the cause? 16:48
16:48 Util joined
bioduds memory? 16:48
as I said, I did not catch that on INET, only with Async
jnthn What's the problem you're having? 16:50
bioduds gist.github.com/bioduds/fcb7d30703...df6cccda6a this, every once in a while
jnthn Trying to find where this started in the chat but there's a lot of it :P
bioduds it's there in the gist, I think it is somewhat simple to understand. I'm setting a P2P com tests. i have one code on my PC running Mint and the client node on AWS ubuntu 16:51
so I get the send and receive well
no problem. But sometimes it refuses the connection
saying address already in use 16:52
zengargoyle is now really confused if SO_REUSEADDR is set and you can't kill a server and restart it w/o getting address allready in use error.
bioduds then only thing that helps is rebooting the AWS
jnthn bioduds: Which side gives you that error? The server one?
(I'm figuring that's surely the case but... :)) 16:53
16:53 cgfbee left
jnthn oh wait, no, the client one?! 16:53
bioduds the server, though there is no server client actually since it is a p2p 16:54
no, the server actually
jnthn ah, ok
I was confused by the ~/client :)
bioduds yep, cause it is p2p
so there isn't actually client and server 16:55
jnthn Yeah, I didn't know that bit :)
bioduds but when a node calls, he is the client
and the receiver node is the server
atta hi. how can I format numbers as in: I have 10000 and I want to print 10_000? I've already searched in the documentation, but couldn't find it
16:56 cgfbee joined
jnthn bioduds: Yeah, just checked again in libuv and it's certainly setting the option... 16:56
on = 1;
if (setsockopt(tcp->io_watcher.fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)))
return -errno;
bioduds ok, so we can be sure this is not happening because the SO_REUSEADDR is set 16:57
not set
it is set
I mean
jnthn I got exactly the behavior you're describing when I was porting sync sokcets away from libuv fwiw
16:58 domidumont left
jnthn And it went away when I started setting SO_REUSEADDR again 16:58
16:58 troys joined
jnthn So yeah, the error is familiar...but I don't think that could be the cause 16:58
Time to head home and eat...bbl o/ 16:59
zengargoyle bioduds: and this same code worked on localhost right?
bioduds on localhost I didn't catch that
zengargoyle wonders if AWS is *that* special.
bioduds I'll run a local and let it stay for test 17:00
zengargoyle maybe different kernel sysctls
bioduds I may not have tested it enough
17:00 xzhao left
bioduds I'm assuming I have the same kernel 17:00
Mint is Ubuntu, right?
17:01 xzhao joined
zengargoyle well i'm only thinking about the address in use problem. don't know enough about the Async and such to be of any use. 17:01
there may be sysctls that change behavior that would effect SO_REUSE, but i've never run across any. 17:02
geekosaur there's usually a way to shorten TIME_WAIT, it's commonly shortened a lot on web servers because you can easily end up with a bunch of client connection ports all in TIME_WAIT and no free ports to accept new connections on 17:07
65536 ports is a *really* tiny number on modern servers
17:10 pilne joined
zengargoyle net.ipv4.tcp_fin_timeout 17:13
zengargoyle has only played with some congestion algo and buffer sizes to push 10Gbs halfway around the world. 17:15
17:16 khw left
raschipi m: 12345678901011121314.flip.comb(3).join('_').flip #atta 17:16
camelia ( no output )
raschipi m: 12345678901011121314.flip.comb(3).join('_').flip.say #atta
camelia 12_345_678_901_011_121_314
zengargoyle wow, comb does numbers that way. :) 17:17
17:19 dakkar left
zengargoyle m: 12345678901011121314.flip.subst(/.../,$/~'_',:g).flip.say 17:20
camelia Use of Nil in string context
in block <unit> at <tmp> line 1
12______
17:21
zengargoyle wat! that works in repl.
m: 12345678901011121314.Str.flip.subst(/.../,$/~'_',:g).flip.say 17:23
camelia Use of Nil in string context
in block <unit> at <tmp> line 1
12______
atta raschipi, zengargoyle: thanks! :) 17:26
17:27 zakharyas left 17:29 ChoHag left 17:30 eveo joined
eveo zengargoyle: you're missing a block 17:30
m: 12345678901011121314.Str.flip.subst(/.../, {$/~'_'},:g).flip.say
camelia 12_345_678_901_011_121_314
eveo It probably works in your REPL because your $/ ended up being set to a right Match. If I load REPL and run your line, it still has the same error, because it's stringifying the wrong $/ 17:31
m: 12345678901011121314.Str.flip.subst(/.../, *~'_',:g).flip.say 17:32
camelia 12_345_678_901_011_121_314
eveo ^ it's also passed as the arg, so can do that ^
raschipi m: 12345678901011121314.flip.subst(/.../, *~'_',:g).flip.say
camelia 12_345_678_901_011_121_314
eveo It's also the wrong way to accomplish this task 17:33
m: 123456789010111213145.Str.flip.subst(/.../, *~"_",:g).flip.say
camelia _123_456_789_010_111_213_145
17:33 cdg joined
eveo m: 123456789010111213145.Str.flip.subst(/... <before .>/, *~"_",:g).flip.say 17:33
camelia 123_456_789_010_111_213_145
zengargoyle liked the comb better. :) 17:35
eveo yeah, it is 17:37
raschipi What is that? Python? Perl6 Ints are cool. 17:40
eveo m: say Int ~~ Cool 17:41
camelia True
17:41 eveo left 17:43 grondilu_ joined 17:44 grondilu_ left
mspo m: say Cool.WHAT 17:44
camelia (Cool)
mspo m: say Cool.METHODS
camelia No such method 'METHODS' for invocant of type 'Cool'
in block <unit> at <tmp> line 1
17:45 grondilu is now known as Guest46848 17:46 Guest46848 left 17:47 grondilu joined
atta Well, for numbers like 123456.123 (with decimals), the flip-comb-join-flip won't work 17:49
but my problem was just with integers, so it's good for me
Would this be the case for a module like metacpan.org/pod/Number::Format? 17:50
17:53 nadim_ left, nadim_ joined 17:55 troys is now known as troys_
bioduds sorry, client called me 17:55
gotta go
thanks for the tips :D
zengargoyle atta: well volunteered
17:57 hythm left 17:59 setty1 joined 18:00 st_elmo left 18:02 hythm joined, |oLa| left
atta zengargoyle: :P Nice. I have another one in the line: Lingua::pt_BR::Nums2Words. But when it's done (hope won't take long), I could try the Number::Format, if someone hasn't started before 18:03
raschipi Muito zuca lidando com Perl6 18:07
vetmaster <punct - [«»]> 18:08
what's wrong with it?
I want to match all punct symbols, except « and »
18:08 troys_ is now known as troys
atta raschipi: :P 18:10
zengargoyle m: (given 123456.12345.split(/\./) -> ($n,$d) { $n.flip.comb(3).join('_').flip ~ '.' ~ $d.comb(3).join('_') }).say
camelia 123_456.123_45
18:12 domidumont joined
raschipi m: (given 123456.12345.split('.') -> ($n,$d) { $n.flip.comb(3).join('_').flip ~ '.' ~ $d.comb(3).join('_') }).say 18:12
camelia 123_456.123_45
raschipi Split also accepts a Str, just FYI 18:13
vetmaster <punct - [«»]> 18:15
what's wrong with it?
I want to match all punct symbols, except « and »
18:17 cdg left, cdg joined
moritz try <+punct-[«»]> 18:18
vetmaster thanks! I solved it myself already, I used <:punct-[«»]> 18:19
and it seems to work
I think + and : are equal there
grondilu is not sure what <: means 18:21
grondilu checks S05 18:22
moritz m: say so m/<+punkt-[«»]/ for qw/+ - «/
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in metachar:sym<assert>; couldn't find final '>'
at <tmp>:1
------> 3say so m/<+punkt-[«»]7⏏5/ for qw/+ - «/
moritz m: say so m/<+punkt-[«»]>/ for qw/+ - «/
camelia No such method 'punkt' for invocant of type 'Match'. Did you mean any of these?
punct
put

in block <unit> at <tmp> line 1
moritz geekosaur: : is for Unicode properties, iirc
m: say so m/<+punct-[«»]>/ for qw/+ - «/
camelia False
True
False
geekosaur misaim? 18:23
(I think you meant grondilu if I am reading backscroll properly)
moritz yes, sorry
grondilu yeah : is for unicode props
18:23 AlexDaniel joined
eater hmm 18:24
m: my $t = 15; $t [R/]= 5; say $t;
camelia Potential difficulties:
Useless use of [R/]= in sink context
at <tmp>:1
------> 3my $t = 15; $t 7⏏5[R/]= 5; say $t;
0.333333
grondilu I've seen this one before 18:25
notice it's just a warning though 18:26
eater yep
it works just fine
but why the warning?
grondilu bug
vetmaster buggable: hi there 18:27
raschipi m: my $t = 15; quietly $t [R/]= 5; say $t;
camelia 0.333333
eater raschipi: :')
grondilu did not know (or forgot) about quietly
BenGoldberg m: my $t = 15; 5 R/= $t; say $t; 18:31
camelia 3
vetmaster m: my $x = 16; $x /= 4; say $x;
camelia 4
vetmaster m: my $x = 15; $x /= 4; say $x;
camelia 3.75
vetmaster m: my $x = 15; $x [R/]= 4; say $x;
camelia Potential difficulties:
Useless use of [R/]= in sink context
at <tmp>:1
------> 3my $x = 15; $x 7⏏5[R/]= 4; say $x;
0.266667
vetmaster m: my $x = 15; quietly $x [R/]= 4; say $x;
camelia 0.266667
vetmaster what does this operator do? 18:33
say 15 R/ 4; 18:34
evalable6 0.266667
grondilu m: sub infix:<op>($a, $b) { -1 }; my $x = 0; $x [op]= 1; say $x
camelia -1
grondilu m: sub infix:<op>($a, $b) { -1 }; my $x = 0; $x [R[op]]= 1; say $x
camelia -1
grondilu m: sub infix:<op>($a, $b) { -1 }; my $x = 0; $x [R*]= 1; say $x
camelia Potential difficulties:
Useless use of [R*]= in sink context
at <tmp>:1
------> 3nfix:<op>($a, $b) { -1 }; my $x = 0; $x 7⏏5[R*]= 1; say $x
0
grondilu go figure
raschipi vetmaster: The R metaoperator inverts the operands of another one, then they are grouped with [ ] and combined with the attribution metaoperator 18:35
vetmaster say 4 / 15;
evalable6 0.266667
vetmaster but why we cannot just do 4 / 15? 18:36
raschipi You either have to invert the division operator or the attribution operator. 18:37
vetmaster ah
ok
18:43 cdg left, cdg joined 18:50 Cabanossi left 18:51 domidumont left 18:53 wamba joined, Cabanossi joined 18:55 BenGoldberg left 18:57 cdg left 18:58 cdg joined, grondilu left, sufrostico left 19:00 sufrostico joined 19:09 troys is now known as troys_ 19:11 AlienDesertJelly is now known as DesertJellyFish, skids left 19:13 troys_ is now known as troys, itaipu joined 19:14 sufrostico left 19:15 sufrostico joined, ChoHag joined 19:16 hythm left 19:19 nattefrost left 19:22 cpage left 19:24 ChoHag left 19:27 cpage joined 19:30 sufrostico left 19:32 sufrostico joined 19:37 st_elmo joined
Geth doc: 10c639fdf5 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Handle.pod6
Document defaults of IO::Handle.read/readchars
19:45
doc: 7397c9fa74 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/CatHandle.pod6
Document IO::CatHandle.read's default size

Rakudo impl: github.com/rakudo/rakudo/commit/aa9516be23 Tests: github.com/perl6/roast/commit/1d4232f0c2
19:50
19:51 hythm joined 19:57 uberbaud joined 20:02 hythm left, vendethiel joined 20:04 dct joined 20:05 st_elmo left 20:19 itaipu left 20:30 hythm joined 20:32 itaipu joined 20:33 uberbaud left 20:37 Cabanossi left 20:38 Cabanossi joined 20:39 travis-ci joined
travis-ci Doc build passed. Zoffix Znet 'Document defaults of IO::Handle.read/readchars' 20:39
travis-ci.org/perl6/doc/builds/242562033 github.com/perl6/doc/compare/5e30f...c639fdf5b9
20:39 travis-ci left 20:54 setty1 left 20:57 mr-foobar left 20:59 mr-foobar joined 21:00 dwarring joined 21:08 nadim_ left, nadim joined 21:09 ctilmes left, andrzejk_ left, ctilmes joined, kurahaupo left 21:11 kurahaupo_ joined, kurahaupo_ left 21:12 raschipi left, itaipu left 21:13 kurahaupo_ joined, itaipu joined, vetmaster left 21:15 uberbaud joined 21:16 geekosaur left 21:18 geekosaur joined, andrzejk_ joined 21:24 espadrine joined, AlexDaniel left, travis-ci joined
travis-ci Doc build errored. Zoffix Znet 'Document IO::CatHandle.read's default size 21:24
travis-ci.org/perl6/doc/builds/242564094 github.com/perl6/doc/compare/10c63...97c9fa74f6
21:24 travis-ci left 21:27 mcmillhj left 21:32 kurahaupo_ left, kurahaupo joined 21:35 AlexDaniel joined 21:36 Cabanossi left 21:38 Cabanossi joined, salv0 left 21:39 uberbaud left 21:42 andrzejk_ left 21:46 wamba left 21:50 nadim left 21:52 labster left 22:04 dct left 22:06 beginner joined 22:07 colomon joined
beginner is there concurrent object grouping in perl6 like a jcobox in java 22:07
22:09 mcmillhj joined 22:14 mcmillhj left
jnthn beginner: Looks a good bit like what github.com/jnthn/oo-actors/ is doing 22:19
(Method calls automatically become async and return a Promise)
And automatically scheduled
Stick in use v6.d.PREVIEW to get the Perl 6.d non-blocking `await` and you get the non-blocking bit also 22:21
beginner jnthn : to my understanding in case of concurrent object group, many object group can be created for one class and each group can have more than object...but in this oo-actors is it not like only one object can be created per group? 22:23
correct me if i am wrong
jnthn Well, that object can itself has internal state consisting of other objects, but yes, the enforcement of one-at-a-time semantics would then only apply to the outermost one, the assuming thus being that you'd not be sharing those or that they'd be immutable 22:26
So if I'm following what they're saying correct, then the cobox thing goes a step further
jnthn should read the paper rather than the ping pong example :) 22:28
22:29 mcmillhj joined
beginner :) 22:30
22:34 mcmillhj left
jnthn Yeah, they've certainly got some interesting concepts beyond what OO::Actors does. 22:34
22:35 Cabanossi left
jnthn Would be an interesting module to write at some point :) 22:37
beginner cool
22:38 Cabanossi joined 22:46 mcmillhj joined
jnthn sleep time o/ 22:46
22:51 mcmillhj left, beginner left
timotimo nite jnthn 22:53
(much late)
22:54 gdonald left 22:55 espadrine left 22:56 mcmillhj joined 23:00 mcmillhj left 23:01 mcmillhj joined 23:03 roguelazer left, gdonald joined, roguelazer joined 23:06 mcmillhj left 23:08 rindolf left 23:09 araujo joined, araujo left, araujo joined 23:17 mcmillhj joined 23:22 mcmillhj left 23:23 itaipu left 23:33 mcmillhj joined, cdg left 23:41 mcmillhj left 23:45 troys is now known as troys_ 23:46 kurahaupo_ joined 23:47 kurahaupo__ joined 23:48 kurahaupo__ left, kurahaupo__ joined 23:49 kurahaupo left 23:50 kurahaupo_ left