Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-12-11

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 mspo https://perl6.org/fun/ needs newer links
00:00 mspo tricky to keep up to date
00:01 AndChat|688961 joined #perl6
00:20 bazzaar_ bduggan++, nice advent article on using .wrap to modify methods, I like the way the reader is left to do a bit of homework to get the output shown :)
00:23 thou joined #perl6
00:24 bazzaar_ there's a couple of cryptic characters in the code though, an invisible underscore in ^find_method, and a weird hidden '/' character between curly braces
00:25 bazzaar_ not sure if that's supposed to be part of the homework or not
00:26 thou joined #perl6
00:28 thou joined #perl6
00:31 ZzZombo joined #perl6
00:33 lookatme joined #perl6
00:36 itaipu joined #perl6
00:37 lookatme o/
00:39 bazzaar_ \o lookatme
00:39 lookatme good morning
00:41 bazzaar_ morning :) now pm for me :)
00:41 lookatme yeah, always :)
00:43 thou DrForr, if you're rewriting Pod::TreeWalker and want a review, let me know. I may be spending a little time w/ it today & tomorrow.
00:44 cdg joined #perl6
00:44 bazzaar_ was just marvelling at the photo of the Stanley tape measure in bduggan's advent post, I've never got the hang of the decimal system for weights and measures
00:46 bazzaar_ progress waits for no man, as they say
00:51 astronav_ joined #perl6
00:53 Cabanossi joined #perl6
01:04 thou in `p6doc mop`, this is out of date apparently:  say [1, 2, 3].VAR ~~ Scalar; # True
01:04 thou m: say [1, 2, 3].VAR ~~ Scalar;
01:04 camelia rakudo-moar 854c10c27: OUTPUT: «False␤»
01:08 cdg joined #perl6
01:14 thou Who is Andrew Shiitov here, does anyone know?
01:16 |oLa| left #perl6
01:20 thou Nevermind, I decided to just write a comment on the article page.
01:24 lookatme :)
01:32 MasterDuke_ joined #perl6
01:42 astj_ joined #perl6
01:45 AlexDaniel joined #perl6
01:53 Cabanossi joined #perl6
02:11 manchicken joined #perl6
02:14 manchicken So many symbols to learn. They all make sense... but yeesh, the symbols are a lot to remember. It's good, though. I'm enjoying myself.
02:14 manchicken Because of the flexibility of NativeCall, I can structure this module much nicer than it is in the Perl 5 version of the RabbitMQ module.
02:17 lookatme Thanks to NativeCall :), but it is not perfect
02:17 manchicken It's impossible to solve a problem perfectly if the problem itself is wildly imperfect :)
02:18 lookatme And thanks to jnthn , the blog post is awesome
02:27 AlexDaniel huggable: stars
02:27 huggable AlexDaniel, nothing found
02:27 AlexDaniel huggable: colons
02:27 huggable AlexDaniel, nothing found
02:27 manchicken For things like `class Foo:ver<0.0.1>:auth<github:foobar>` stuff, how common or recommended is that? Is that just a replacement for the convention of `$VERSION=0.001`?
02:28 AlexDaniel huggable: stars :is: https://perl6advent.wordpress.com/2017/12/11/all-the-stars-of-perl-6/
02:28 huggable AlexDaniel, Added stars as https://perl6advent.wordpress.com/2017/12/11/all-the-stars-of-perl-6/
02:28 manchicken Twigils are neat... I think I'm getting it, but I've got a dozen tabs open.
02:28 AlexDaniel huggable: colons :is: https://thelackthereof.org/Perl6_Colons
02:28 huggable AlexDaniel, Added colons as https://thelackthereof.org/Perl6_Colons
02:33 AlexDaniel m: say (2, 8, 9, 5) ~~ (2, **, 5)
02:33 camelia rakudo-moar 854c10c27: OUTPUT: «True␤»
02:33 AlexDaniel … did I do the excercise correctly? ↑
02:34 AlexDaniel or what's the idea of 1...** ?
02:36 lookatme Haven't read not post yet
02:57 lookatme m: module A { try ::("&MAIN").?wrap(sub (|c) { say c; }); }; sub MAIN(|c) { say "123"; };
02:57 camelia rakudo-moar 854c10c27: OUTPUT: «\()␤»
02:57 lookatme Is this will work in real module ?
02:58 ilbot3 joined #perl6
02:58 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
03:06 cdg joined #perl6
03:06 manchicken If I don't want to expose the C functions I'm putting in a given class, can I make them "private" with `my sub foo() is native("bar");`?
03:07 manchicken Or, is the `sub` not accessible via an instance anyway?
03:07 lookatme you can defined them in your class
03:08 lookatme They are not visible out side without `is export`
03:10 lookatme m: use NativeCall; module A { sub puts(Str) of int32 is native(Str) { * }; say ::.keys;
03:10 camelia rakudo-moar 854c10c27: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3int32 is native(Str) { * }; say ::.keys;7⏏5<EOL>␤»
03:11 lookatme m: use NativeCall; module A { sub puts(Str) of int32 is native(Str) { * }; }; say ::.keys;
03:11 camelia rakudo-moar 854c10c27: OUTPUT: «($=pod &explicitly-manage Pointer ssize_t ulonglong $_ $/ A CArray bool !UNIT_MARKER &nativesizeof void ulong $=finish EXPORT &cglobal &trait_mod:<is> $! &refresh &postcircumfix:<[ ]> long ::?PACKAGE GLOBALish &nativecast OpaquePointer size_t $¢ long…»
03:11 lookatme m: use NativeCall; module A { sub puts(Str) of int32 is native(Str) { * }; }; say &puts;
03:11 camelia rakudo-moar 854c10c27: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    puts used at line 1. Did you mean 'put'?␤␤»
03:11 lookatme m: use NativeCall; module A { sub puts(Str) of int32 is native(Str) { * }; }; import A; say &puts;
03:11 camelia rakudo-moar 854c10c27: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    puts used at line 1. Did you mean 'put'?␤␤»
03:11 lookatme ^^ see
03:11 lookatme They can not access your subs
03:11 manchicken Neat!
03:12 lookatme m: use NativeCall; module A { sub puts(Str) of int32 is native(Str) is export { * }; }; import A; say &puts;
03:12 camelia rakudo-moar 854c10c27: OUTPUT: «sub puts (Str $ --> int32) { #`(Sub+{Callable[int32]}+{NativeCall::Native[Sub+{Callable[int32]},Str]}|74481864) ... }␤»
03:21 someuser1 joined #perl6
03:28 manchicken Even more neat. Thanks, lookatme.
03:45 Morfent joined #perl6
03:53 Cabanossi joined #perl6
03:55 _28_ria joined #perl6
04:07 Cabanossi joined #perl6
04:17 Voldenet How do I force cleanup in the module after application ends?
04:18 Voldenet I've got some class that provides temp files, I'd like them to be removed when the app ends
04:18 Voldenet nothing too fancy: http://ix.io/CYu
04:19 AlexDaniel right, can't use DESTROY for that
04:20 AlexDaniel somewhat relevant bug report: https://github.com/perlpilot/p6-File-Temp/issues/18
04:20 AlexDaniel (for a module)
04:23 Voldenet I could do it like in most languages, just maintain some per-scope list of "before exit" lambdas and execute them all upon exiting
04:23 Voldenet but that'd be hardly an elegant solution
04:23 AlexDaniel Voldenet: well typically you just write my $f = …; LEAVE .unlink with $f;
04:26 Voldenet but I wouldn't ask user of the module (even if it's myself) to always remember what the package needs upon exiting
04:27 Voldenet which is even more deadly with some temporary caches, where I don't even know if it won't be just in-memory one or in-sql one
04:29 AlexDaniel Voldenet: the only thing I can think of is something like Lock.protect
04:31 AlexDaniel m: sub with-temp(&c) { my $f = ‘abc’; LEAVE say “cleaning up for $f” with $f; c $f }; with-temp { say “Using file $_” }
04:31 camelia rakudo-moar 854c10c27: OUTPUT: «Using file abc␤cleaning up for abc␤»
04:31 AlexDaniel Voldenet: ↑ like this
04:32 AlexDaniel Voldenet: fwiw these two traps are relevant to the discussion: https://docs.perl6.org/language/traps#LEAVE_phaser_and_exit
04:33 Voldenet but it's only appliable for trivial situations
04:33 Voldenet where the script knows what files it's creating
04:34 AlexDaniel what do you mean?
04:35 AlexDaniel like, how can it not know?
04:37 Voldenet > unit module Dns; use MyCache; sub dns-query is export (Str $name) { use cache here }
04:37 Voldenet if I wrote app to work against uncaching Dns server, modifying the logic of the module would require adjusting the scripts using it
04:39 AlexDaniel Voldenet: you can also have a cleanup method, and in DESTROY you can print a warning saying that the cleanup method was not called. That is, with a similar justification as in here: https://github.com/rakudo/rakudo/issues/1298
04:39 AlexDaniel not that I'm saying that it is a proper solution, just an idea
04:40 Voldenet Uh, but is DESTROY ever called?
04:40 AlexDaniel yeah sometimes
04:40 Voldenet I've just ran https://github.com/perl6/roast/blob/master/S12-construction/destruction.t and it pretty much didn't work at all
04:41 mson joined #perl6
04:41 AlexDaniel m: class Foo { method DESTROY { say ‘destroyed’ } }; Foo.new; my $x = (2,4,8,16…∞)[2000]
04:41 camelia rakudo-moar 854c10c27: OUTPUT: «destroyed␤»
04:41 AlexDaniel m: class Foo { method DESTROY { say ‘destroyed’ } }; Foo.new; my $x = (2,4,8,16…∞)[200]
04:41 camelia rakudo-moar 854c10c27: ( no output )
04:44 Voldenet it kind of works, but I can't count on it, eh
04:44 AlexDaniel sorry I don't know any better solution
04:46 syntaxman joined #perl6
04:50 kaare_ joined #perl6
04:57 kaare_ joined #perl6
05:02 cdg joined #perl6
05:12 committable6 joined #perl6
05:36 syntaxman joined #perl6
05:37 syntaxman joined #perl6
05:50 syntaxman joined #perl6
05:52 Cabanossi joined #perl6
06:04 releasable6 joined #perl6
06:16 zakame joined #perl6
06:26 lowbro joined #perl6
06:26 lowbro joined #perl6
06:37 Cabanossi joined #perl6
06:55 itaipu joined #perl6
06:56 TimToady joined #perl6
06:59 darutoko joined #perl6
07:00 domidumont joined #perl6
07:08 TimToady joined #perl6
07:22 _28_ria joined #perl6
07:35 sena_kun joined #perl6
07:35 cdg joined #perl6
07:35 reportable6 joined #perl6
07:36 abraxxa joined #perl6
07:50 abraxxa joined #perl6
07:52 Cabanossi joined #perl6
07:53 piojo joined #perl6
07:55 parv joined #perl6
07:56 piojo .tell moritz That chapter from your book you posted last week was awesome! Thank you for sharing it :D
07:56 yoleaux piojo: I'll pass your message to moritz.
08:02 moritz piojo: you're welcome
08:02 yoleaux 07:56Z <piojo> moritz: That chapter from your book you posted last week was awesome! Thank you for sharing it :D
08:06 piojo I'm not using grammars at the moment, but the stateful grammars (simple stuff like indentation levels and array indices) were what I had the hardest time with.
08:07 moritz fwiw in a later chapter is there is a case study on parsing python-like indentation based syntax
08:11 piojo I remember you mentioned that. I did get it figured out, but the grammar probably reads like the homework of a new programming student. Not unified, with tests in each rule instead of abstracted rules.
08:26 rindolf joined #perl6
08:37 Cabanossi joined #perl6
08:38 zakharyas joined #perl6
08:39 jeromelanteri joined #perl6
08:40 zakharyas joined #perl6
08:42 zakharyas joined #perl6
08:51 dakkar joined #perl6
08:52 _28_ria joined #perl6
08:59 scimon joined #perl6
09:06 wamba joined #perl6
09:18 zakharyas joined #perl6
09:19 _28_ria joined #perl6
09:23 geospeck joined #perl6
09:28 scimon joined #perl6
09:44 robertle joined #perl6
09:49 scimon joined #perl6
09:49 eaterof joined #perl6
09:52 Cabanossi joined #perl6
09:53 zakharyas joined #perl6
09:55 scimon Acutaly got my post for the 21st scheduled now. So that's nice. Back at work for the first day in a week.... all the email to read.
10:01 traxex joined #perl6
10:10 itaipu joined #perl6
10:35 moritz scimon++
10:36 scimon Been enjoying all the advents so far :) And payday on Wednesday I'll be getting my next Perl6 book. :)
10:36 scimon And I might finally understand Grammars.
10:37 Cabanossi joined #perl6
10:45 scimon joined #perl6
10:45 scimon Ah the joys of using a machine for the first time in a week. Multiple restarts.
10:47 El_Che scimon: I'll go out of a limb here and state you're using Windows 10
10:48 scimon No. Ubuntu. But there was a kernel update.
10:48 scimon And then I ran an apt update and that found ANOTHER change.
10:48 scimon (Windows 10 on my home machine because it exists for playing games, It's also running VirtualBox for when I want to do some real work).
10:56 tyil tfw
10:56 tyil my ubuntu machine's uptime is generally pretty good
10:56 tyil only had to reboot after 300 days uptime because I moved :p
10:57 El_Che ha, an uptime worshipper :)
10:57 tyil not really, just saying I dont know his problem with having to reboot often with ubuntu
10:57 scimon Heck this is my work laptop. I turn it off at the end of the day.
10:58 scimon How often do you update the kernel? Generally that's the only thing I find that requires a restart.
10:58 tyil I know the reboot problem from friends using windows tho :p
10:58 tyil Im at a 4.10 kernel on the ubuntu machine
10:59 El_Che tyil: many people I know are forced to use windows at work and run linux at home
10:59 El_Che funny you're case is inversed
10:59 tyil El_Che: thats the point at which I would tell people to find a better job :p
10:59 El_Che (I run an "illegal" linux at work, and have a windows partition at home in case I want to play a game)
10:59 tyil I have no windows installation on my own hw, and use Funtoo at work as well :p
11:00 tyil games run pretty well on gnu+linux these days (for the most part)
11:00 tyil and I dont see any value in paying or playing a game that the devs didn't take the time for to make it run well on gnu+linux
11:00 DrForr xubuntu here at work, it seems to not want to properly suspend the laptop, so when I lock it in for the night it drains the battery.
11:00 El_Che I don't have time to play, so booting in windows 7 every 4 to 6 month is no big issue :)
11:01 tyil many companies seem able to do it, big and small, so why would I pay companies that obviously dont care about me
11:01 scimon Ah well.... if it wasn't for the fact I REALLY LIKE Elite Dangerous. I'd probably be running Linux at home too.
11:02 tyil (also its a big part of capitalism, if you want to see a change, make the companies feel it in the profits, so dont pay for bad software to give the hint they should make their shit better)
11:02 El_Che I am lucky that in my role I also have windows laptop (my music player) and a mac laptop (my typewriter on the train) :)
11:02 scimon But I see where you're coming from tyil.
11:02 tyil you can see that I'm dutch just by this :o
11:03 wander joined #perl6
11:03 scimon So.... I just did a small testupdate on the Sudoku code moving from a untyped nested array for the grid to a Typed shaped array... and the test suite is 20% slower...
11:04 scimon (I'm doing really well on the being back at work as you can see)
11:04 tyil :p
11:05 scimon Oh I've got a CAD package for making RPG maps that only runs on Windows too come to think of it.
11:06 tyil you could easily make something for that in perl 6 :)
11:06 El_Che at work they are investigating to offer managed mac and linux as well
11:06 El_Che and they want to involved me
11:06 tyil nice
11:06 El_Che the thing is, I don't want a managed linux
11:06 El_Che :)
11:06 tyil if they manage just the kernel its fine I think
11:06 tyil so long as you can manage the other parts of the OS
11:06 El_Che the managed windows is hell
11:06 tyil s/the managed//
11:07 El_Che the switch every option they could find so it's a hassle to work with
11:07 El_Che e.g. you need to change stuff to run virtualbox
11:07 El_Che and changes lost at reboot and crap like that
11:08 tyil so its badly managed
11:08 scimon The requirements of IT when you have technical and non technical people in the same company can be quite complex.
11:08 scimon Problem is some people REALLY NEED a locked down machine.
11:08 El_Che tyil: not really. It works for non technical people
11:08 tyil at my company, people just get windows by default, but if you want anything else, thats fine too
11:09 tyil you can spend your first day installing/configuring your system
11:09 tyil but it's also your responsibility
11:09 tyil and that's been a policy at most companies I have worked for tbh
11:10 El_Che technical people do not contact out helpdesk
11:10 El_Che so that's ok
11:10 tyil even at some microsoft-loving  company
11:10 markong joined #perl6
11:10 tyil it also helps that I make my desire for non-windows very clear and inform them I will not be working on windows or mac
11:11 El_Che mac is OK as a workstation. Most linux stuff I run works there
11:11 El_Che certainly docker helps nowadays
11:11 tyil it's not for me, still a bit too proprietary when its not needed
11:11 tyil and it's harder to customize everything to my wishes
11:11 jast I do all of my work in a VM, the host OS is macos at work and windows at home
11:11 El_Che sure, and not very configurable
11:12 tyil I do get tend to try more in docker these days
11:12 El_Che (try adding a shortcut for starting a terminal, like ctrl+alt+t)
11:12 tyil after I found it works pretty well for managing a server
11:12 jast I'm not exactly happy with macos, but my VM doesn't care :)
11:12 tyil instead of having 13 VMs, I now have 12 docker containers and 1 VM
11:12 tyil much easier to manage and keep up-to-date in my experience
11:13 El_Che I am writing stuff so the mac come handy for the train
11:13 tyil (but I'm not a certified sysadmin, so my experience isn't worth much in the real world)
11:13 El_Che battery life and word (yeah, I know, not my choice)
11:13 tyil I once tried using my phone to ssh into a remote server, start vim there, and then modify my ruby bot
11:13 tyil while it certainly worked in the end, it was not the best experience ever
11:14 piojo_ joined #perl6
11:14 tyil I generally use vim for every kind of editing required, even documents for school (LaTeX is nice)
11:17 DrForr LaTeX++
11:18 jast El_Che: adding a shortcut for an application is actually quite doable, though I'll give you needlessly complicated
11:18 El_Che jast: I tried and failed
11:18 El_Che jast: and you needed third party stuff
11:19 El_Che (keyb shortcut when the app is not running yet)
11:19 jast basically: 1) define a workflow of type 'service' in automator (action: utilities -> launch application). 2) in system preferences -> keyboard -> shortcuts -> services, set a shortcut for the new service.
11:19 El_Che jast: oh, it just works :)
11:20 araraloren joined #perl6
11:20 El_Che (and I say that as someone that works on unix for like ever and programs in Perl :) )
11:20 jast no third party stuff at any rate
11:21 jast ... but even windows makes it easier
11:21 El_Che jast: yes I was confused
11:21 El_Che automator thing idd
11:21 El_Che indeed
11:21 El_Che I confused with an other problem I had: key mapping
11:21 El_Che I have an azerty keyb mac
11:22 El_Che and wanted to keymap a dead key for accents
11:22 El_Che that was a big nope
11:22 jast I can imagine
11:22 El_Che on mac en linux I have altgr + '
11:22 El_Che on mac is it alt+shift+&
11:22 El_Che doesn't type easily
11:23 El_Che so I thought I remapped something for dead keys or even hardcode í and ó (spanish)
11:23 jast mac has acceptable dead keys in the US layout
11:23 El_Che there you needed third party stuff
11:23 El_Che jast: yes, I saw that
11:24 El_Che on mac/win is azerty a nice leyoutwhen you type a lot of french and spanish (next to dutch)
11:24 El_Che so It didn't occur to me to ask for a qwerty version when I got the mac at work
11:24 jast I use US; my native layout is beyond horrible on mac
11:24 jast (that said, I use US everywhere, only on other systems I can customize my extra requirements better)
11:25 jast my physical keyboard is not labeled US but I got used to not having to look at the keys :)
11:25 El_Che yeah, I have used qwerty in the past
11:25 El_Che specially when I worked a lot on Solaris
11:27 tbrowder hi #perl6
11:28 scimon Hi
11:29 scimon So yeah. Typing my vars didn't really change the speeds by the shaped array really slowed things down. Shame really.
11:30 DrForr Is there something like :version<> but for protocol versions?
11:32 tbrowder andrew had a nice advent on * but can anyone give me a practical reason to use a dynamic variable in a single file scope?
11:33 tbrowder that is instead of an ordinary global variable?
11:33 DrForr Sure. Declare a debugging variable in an outer scope, and later on, inside a different package maybe, use that debugging variable.
11:34 mahafyi joined #perl6
11:35 tbrowder DrForr: so its scope is automatically everywhere?
11:36 DrForr No, that would make it a global :) It's only defined in the scope where you declare it, but it's available like a global anywhere inside that scope.
11:36 DrForr I use it in several places, one om.
11:36 DrForr *mo
11:37 DrForr https://github.com/drforr/perl6-Format-Lisp/blob/master/t/10-format-a.t
11:37 tbrowder i guess that’s where i’m confused probably because i’m used to calling file scoped vars “global”
11:39 DrForr The $*PRINT-CASE variable is declared inside the deftest() block, but I can use it elsewhere, like in Format/Lisp.pm.
11:40 DrForr I don't have to declare it inside Format::Lisp, but I can use it if it happens to be declared. It's a sneaky way of making a configuration variable that I don't have to set or declare as an attribute.
11:42 DrForr It also helps if you're creating debugging that you don't want to have to expose *just* to run a test, or manage everywhere at runtime, though with appropriate defaults that's not as much of an issue.
11:43 gregf_ joined #perl6
11:43 tbrowder but in yr ex you use “my” in each case its defined in a sub. how does that affect use outside the functions?
11:45 DrForr Outside the scope it's not defined, so it doesn't matter. Inside the scope, I can use that deep inside Format::Lisp without worrying about attributes.
11:45 DrForr The point in this case is that I *can* initialize $*PRINT-CASE before calling the format() method, but I don't have to.
11:46 scimon I think I'm going to put dynamic variables in that bit of my brain where all the stuff in the Day 1 article went. "That's cool but I'll probably not use it"
11:48 tbrowder scimon: concur!
11:49 tbrowder DrForr: thanks
11:49 scimon But the $*PRINT-CASE thing looks interesting. ;)
11:52 Cabanossi joined #perl6
11:52 mahafyi I am looking to try building zeromq services with perl6. https://modules.perl6.org/search/?q=zeromq shows three different modules. At the risk of the respective authors reading this, is there a 'best choice' ?
11:54 tbrowder only one shows passing travis testing
11:54 El_Che look at the ones that pass their test suite (do they have one) and built on the platforms you care (do they have travis and appveyor set up?)
11:55 scimon My first thought would be Cro. It's not stable yet but there's a lot of work being done on it and it's got some neat stuff planned.
11:56 scimon Side note. CPAN hosted modules don't seem to have Travis status showing in the modules.perl6.org results.
11:57 moritz that's right. They also miss the github stars and stuff
11:58 scimon But it means if you're using "Travis and Appveyor setup" as a metric you'll penalise CPAN hosted modules.
11:59 El_Che it should :-
11:59 El_Che :)
11:59 mahafyi I am looking at https://docs.travis-ci.com/user/languages/perl6 to learn what it means
11:59 El_Che you can go to their github repo and see if they have that setup up
12:01 scimon If you just want a lib you're probably best avoiding Cro for now. But it's worth a look.
12:01 mahafyi the cpan modules hosting is aimed at garnering GOP votes? (good ol' perl5). But many members here prefer the github and travis?
12:01 scimon (In a long term development kind of way).
12:02 mahafyi scimon, actually i think i like the cro.services for now. cro.services has more 'howtos' so that is really what i need really now, spoon fed stuff as much as possible.
12:02 scimon CPAN hosting means you don't have to update a github repo to get your module into zef :)
12:02 mahafyi scimon , ah ok. i think i get that.
12:03 scimon (Oh don't get me wrong I LOVE Cro and think it may be a killer app for Perl6 in 2018 but I'm not going to point people at it who aren't ready)
12:03 mahafyi scimon, and what makes one ready for the killer app?
12:03 scimon Please note anything I say is my opinion and understanding of matters. I'm still quite new here but vocal. Older wiser heads may contradict me.
12:04 scimon I think having an easily deployed multi threaded reactive web app may really shake things up.
12:04 mahafyi no, no . i am writing things that seem to work fine from cli, though i have no idea how exactly. i just went through think perl6 recently, and so ready to listen to everything.
12:05 scimon :D
12:05 scimon See Perl6's native concurrency models work really nicely with things like ZeroMQ.
12:06 scimon One thing I like with Cro is it's built around Supplies and the like.
12:08 mahafyi right, i have a script that parses a log file for security incident. i want to run it as a client on multiple cloud VMs, with one server that will react to it and do a bunch of things - ban ip (public cloud api call), ban ip (iptables rule in all VMs), write a custom log line (stackdriver api), trigger support ticket (for sec ops to look at) etc
12:08 parv joined #perl6
12:08 scimon Yeah.
12:08 scimon So you have child servers writing to a supply that then wirtes to the Message Queue.
12:08 El_Che easily deployable and perl 6 is a relative thing
12:09 mahafyi scimon, i was trying to write something concise like that, yes.
12:09 scimon Then the master server is reading from the queue and the results again going into a supply.
12:09 scimon Yeah... Take a look at Cro.
12:09 El_Che rakudo is not relocable, there is no fatpacking for libs and so on. Cro+docker could work though
12:10 scimon Heck you could use IO::Socket::Async and JSON :) (I wouldn't but you could).
12:11 mahafyi but i want to slowly start building towards a comprehensive orchestration module - it sounds scaribly ambitious - like ansible for example.
12:11 scimon (Acutally.... hmmm). Anyway. Supplies and Channels. They are your friends. And the fact you can flip between them easily is so much fun.
12:12 scimon Sounds like a plan.
12:15 moritz wow, all p6advent calendar posts up to (and including) day 14 are scheduled in WP already
12:15 moritz everybody++
12:18 wamba joined #perl6
12:26 piojo joined #perl6
12:28 tyil mahafyi: we already have sparrowdo :>
12:35 mahafyi tyil, thank you ,
12:35 timotimo scimon: shaped arrays haven't gotten much optimization yet, that's why they are slower in your code :(
12:37 Cabanossi joined #perl6
12:39 llfourn joined #perl6
12:42 mahafyi tyil, i believe that what i am envisioning can be much better. (hey i am total noob, but Larry said hubris is one of the three great virtues, right?) by avoiding docker, chef, ansible and the likes and using zeromq. also it will avoid a bunch of ssh connections and DSL (domain specific language), like a Ruby,  for CI/CD.
12:45 scimon timotimo: Figured that was probably the case. I'll keep an eye out.
12:45 El_Che in its original meaning hybris included the inevitable downfall
12:46 mahafyi El_Che : ouch ! ha ha ha.
12:49 scimon Good luck :)
12:49 scimon My ongoing plan is to convince my work that Perl6 is a valid tool for future work.
12:49 El_Che just package it in docker :)
12:50 ilmari El_Che: as a character in the book I'm currently reading put it: «it isn't hubris until [it's] failed»
12:50 scimon This afternoon. Try and make a basic bit of code to query a Solr index.
12:50 El_Che ilmari: hehe. Spot on
12:51 scimon ilmari++
12:52 mahafyi i think since the public clouds are all already providing APIs to run infrastructure as a code, what we need to do is get rid of all the current DSL driven Puppet / Chef and be able to abstract a layer to work with any cloud provider using their native IAM. That way client can send endless supplies on zeromg message bus and react can handle anything thrown its way. of course we are re-inventing wh
12:52 mahafyi eel, but i believe we can change the wheel design a lot here... (no idea when i can start doing anything productively here...just mulling)
12:53 eliasr joined #perl6
12:53 domidumont joined #perl6
12:54 Actualeyes joined #perl6
13:04 sena_kun joined #perl6
13:06 ZofBot joined #perl6
13:06 timotimo scimon: i wonder how much faster your code can be if you implement an eqv for Game::Sudoku so you don't have to .Str and ne it
13:08 tyil mahafyi: you can always try to work together on sparrowdo to see if you can make one great tool instead of having two good ones :>
13:08 tyil mahafyi: there's a google group available for sparrowdo in case you want to contact the devs and see if there's possibilities
13:08 scimon timotimo: good thought. Whilst I've marked it as a 1.0 release that mostly because it's doing all the things I wanted it to do.
13:09 rgrau joined #perl6
13:09 scimon (Though.... now I'm planning on writing create-puzzle :) )
13:10 mahafyi tyil : but it is dependent much on Ruby ... perl6 is my first programming language (actually i also started on php , which is much easier lol) I want to see a pure perl6 tool chain (i have a super ambitious plan in my head, lol) ,but yes, i will read up.
13:11 MilkmanDan joined #perl6
13:12 colomon joined #perl6
13:12 colomon o/
13:12 mahafyi tyil : i only understand basic scripting and some functional programming right now, i am hesitant to start but i will break that shortly, write something daily.
13:13 timotimo scimon: though of course it could be simpler to just compare how many fields were solved before and after a solve attempt
13:13 El_Che mahafyi: both php and ruby are real programming languages
13:14 scimon They are (though php is a bit nasty IMO)
13:14 colomon folks: is there any reason I shouldn’t use glot.io/new/perl6 to introduce 3rd graders to programming?
13:14 El_Che perl 6 has enough rough edges to not point fingers :)
13:15 scimon timotimo: Is doing string creation that slow?
13:15 mahafyi El_Che : I want to evolve into a decent perl6 programmer and annoy the hell out of people with a terribly superior attitude one day...
13:16 scimon problem I have with the eqv plan is the operator would need to be able to look into the grid attribute.
13:16 timotimo i'd probably implement a helper method
13:16 timotimo compare-with or compare-against or something
13:16 El_Che mahafyi: investing in Perl 6 to learn is a good idea, however putting other languages down isn't
13:18 mahafyi El_Che : point taken. i won't joke about it. I meant that I'd like to make a new module that can handle my cloud project with a perl6 tool chain alone.
13:19 AlexDaniel joined #perl6
13:19 El_Che in my experience, perl 6 is a mighty langues with a lot of the right batteries built in (concurrency, built-in types, etc)
13:19 moritz mahafyi: have you looked at sparrow/sparrowdo?
13:19 El_Che language
13:19 El_Che so it makes a lot of stuff easy
13:20 moritz mahafyi: it's some kind of config and infrastructure management tool, written at least partly in Perl 6
13:20 timotimo i don't think creating strins is terribly slow; we do have a cache for stringifying small integers at least
13:20 timotimo but it's probably a lot of overhead regardless
13:20 El_Che however, often a module you need may not exist yet
13:20 mahafyi moritz : yes, i have looked at it. I also have SaltStack Enterprise in production at company as of now. I can understand what it does fairly well, having deeply evaluated, puppet, chef and ansible prior.
13:21 mahafyi El_Che : i intend to write something great myself (once i can write some programs, ha ha ha)
13:21 El_Che mahafyi: with docker I am moving away from Puppet and just doing some basic templating with secret injection from Vault
13:24 mahafyi El_Che : i am looking at an automation framework rather than VM / Container management. This can include docker, but also any public cloud, if there is an abstracted layer between the function/task to be done and the VMs.
13:24 scimon timotimo: So one thing I tried. Added Game::Sudoku.perl that simply returns @!game.perl. Moved the checks in Solver to use that. Shaved a second of the time for the tests
13:24 timotimo how much is that in percent? :)
13:25 scimon 5%
13:25 timotimo not too shabby
13:27 mahafyi In my personal opinion, I believe SaltStack has an elegant way of getting it dome. It requires no python knowledge, but one needs to know YAML and jinja2 to ustilize it, which is better than having to use a Domain Specific Language to manage it.
13:27 mahafyi which is why we paid $$$ for it , lol
13:28 timotimo scimon: you should be able to do the find_method outside of the loops and store them there
13:28 timotimo (talking about find-uniques)
13:28 scimon Ohhh yeah. That's a good plan.
13:28 scimon (I was just happy I could loop over them :) )
13:28 timotimo you can even iterate over the list of the three methods and -> $method instead of -> $method-name
13:33 scimon Or I can swap the methods and index loops.
13:33 scimon The only reason the index loop was on the outside was because some earlier code had a huge cut and paste block until I found out about lookup and later find_method
13:34 timotimo i see. i didn't look close enough to know whether flipping the two would be safe
13:35 scimon That shaved 10% off the time.
13:35 timotimo nice!
13:35 scimon Yeah. It's basically looking at every row, column and square looking for values that appear once.
13:36 scimon (I wrote a blog post about it and everything. ;) )
13:36 timotimo you could investigate if the (elems) calls in there needlessly recreate identical sets over and over again
13:36 scimon But it doesn't matter if it does it row0, col0, sqr0, row1 ... etc or row0, row1, row 2 etc
13:37 scimon I *may* have got a bit carried away with Sets.
13:37 timotimo that's fine
13:37 timotimo they have the benefit of being immutable, so you can cache them if it helps
13:37 leedo joined #perl6
13:37 scimon Part of the reason I did that was because I wasted to experiment with that.
13:37 scimon True..... hmmm...
13:38 timotimo though if you're calling (elem) on actual sets, that's better than calling it on lists
13:40 inaswerk joined #perl6
13:41 scimon Nope... it's a list.
13:41 timotimo hm, i wonder.
13:42 timotimo benchable6: my @foo = <1 2 3 7 8 9 10 12 13 90 91 92>; my $sum; for ^1000 { $sum++ if $_ (elem) @foo }; ||| my %foo := <1 2 3 7 8 9 10 12 13 90 91 92>.Set; my $sum; for ^1000 { $sum++ if $_ (elem) %foo };
13:42 benchable6 timotimo, ¦my: «Cannot find this revision (did you mean “all”?)»
13:43 timotimo benchable6: compare my @foo = <1 2 3 7 8 9 10 12 13 90 91 92>; my $sum; for ^1000 { $sum++ if $_ (elem) @foo }; ||| my %foo := <1 2 3 7 8 9 10 12 13 90 91 92>.Set; my $sum; for ^1000 { $sum++ if $_ (elem) %foo };
13:43 benchable6 timotimo, ¦my: «Cannot find this revision (did you mean “all”?)»
13:43 timotimo benchable6: help
13:43 benchable6 timotimo, Like this: benchable6: f583f22,HEAD my $a = ‘a’ x 2¹⁶; for ^1000 {my $b = $a.chop($_)} # See wiki for more examples: https://github.com/perl6/whateverable/wiki/Benchable
13:44 timotimo benchable6: compare HEAD my @foo = <1 2 3 7 8 9 10 12 13 90 91 92>; my $sum; for ^1000 { $sum++ if $_ (elem) @foo }; ||| my %foo := <1 2 3 7 8 9 10 12 13 90 91 92>.Set; my $sum; for ^1000 { $sum++ if $_ (elem) %foo };
13:44 benchable6 timotimo, starting to benchmark the 1 given commit
13:44 benchable6 timotimo, https://gist.github.com/7345710977c9592a73933ad0288b2a0a
13:45 timotimo benchable6: compare HEAD my @foo = <1 2 3 7 8 9 10 12 13 90 91 92>; my $sum; for ^10000 { $sum++ if $_ (elem) @foo }; ||| my %foo := <1 2 3 7 8 9 10 12 13 90 91 92>.Set; my $sum; for ^10000 { $sum++ if $_ (elem) %foo };
13:45 benchable6 timotimo, starting to benchmark the 1 given commit
13:45 benchable6 timotimo, https://gist.github.com/7b59f35107c12d36dcb573575a53a542
13:45 timotimo wow. that's a difference.
13:46 wander m: role A { has Int $.a };class B does A { };my Int $b = B.new.a;say $b;
13:46 camelia rakudo-moar 854c10c27: OUTPUT: «(Int)␤»
13:46 wander m: role A[::T] { has T $.a };class B does A[::Int] { };my Int $b = B.new.a;say $b;
13:46 camelia rakudo-moar 854c10c27: OUTPUT: «No such method 'gist' for invocant of type 'T'␤  in block <unit> at <tmp> line 1␤␤»
13:46 * timotimo RSI typing break
13:49 zakharyas joined #perl6
13:50 scimon Added caching for possible.
13:51 cdg joined #perl6
13:51 rgrau joined #perl6
13:53 mahafyi El_che : This link is to amplify my meaning, that the automation tool chain differs from the VM / Container management and will include it . https://saltstack.com/saltstack-management-docker-in-production/
14:02 pippo joined #perl6
14:06 timotimo scimon: i wonder if attributes $!none-all, $!complete-all, $!valid-all are needed for all instances of Game::Sudoku that get built during a solver run
14:06 scimon Ah. But it's not intended to just be for solving the puzzles but as a general helper class.
14:07 timotimo right
14:07 scimon Plus.. I also wanted to play with Junctions.
14:07 timotimo of course
14:07 timotimo i thought maybe you would $!valid-all //= do { ... } in the methods that use those attributes
14:07 timotimo for now you can do this to measure:
14:08 timotimo give Game::Sudoku a bunch of attributes $!valid-all-used, $!complete-all-used, etc
14:08 scimon That's a thought.
14:08 timotimo and a submethod DESTROY that checks whether any of them are 0
14:08 timotimo and set them to 1 when they are accessed
14:08 timotimo submethod DESTROY could then output whether any of the attributes were "wasted" or if they were all used
14:08 timotimo giving you a picture of whether it'd be worth it to make them lazy
14:09 scimon So... I've added a cache of possible values (with a REALLY dumb cache clearing algo) and a :set flag to possible.
14:09 scimon So you can ask for the set.
14:09 scimon (I'll be commiting this soon)
14:10 timotimo i'll be AFK for a while again, but i'll be interested in your results :)
14:13 grumble joined #perl6
14:29 domidumont joined #perl6
14:33 comborico1611 joined #perl6
14:34 ggoebel joined #perl6
14:38 timotimo scimon: you typo'd Bool :$set as Bool :$seq in the readme :)
14:39 timotimo also, should the cell function invalidate the -all attributes?
14:44 wander m: say :6lang
14:44 camelia rakudo-moar 854c10c27: OUTPUT: «Unexpected named argument 'lang' passed␤  in block <unit> at <tmp> line 1␤␤»
14:44 wander m: say $(:6lang)
14:44 camelia rakudo-moar 854c10c27: OUTPUT: «lang => 6␤»
14:45 wander m: say $('6lang'=>'my favorite')
14:45 camelia rakudo-moar 854c10c27: OUTPUT: «6lang => my favorite␤»
14:45 wander m: say $(:6lang(my favorite))
14:45 camelia rakudo-moar 854c10c27: OUTPUT: «5===SORRY!5===␤Extra argument not allowed; pair already has argument of 6␤at <tmp>:1␤------> 3say $(:6lang7⏏5(my favorite))␤Malformed my (did you mean to declare a sigilless \favorite or $favorite?)␤at <tmp>:1␤------> 3say $(:6l…»
14:45 wander m: say $(:lang(my favorite))
14:45 camelia rakudo-moar 854c10c27: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Malformed my (did you mean to declare a sigilless \favorite or $favorite?)␤at <tmp>:1␤------> 3say $(:lang(my favorite7⏏5))␤»
14:45 wander m: say $(:lang('my favorite'))
14:45 camelia rakudo-moar 854c10c27: OUTPUT: «lang => my favorite␤»
14:45 wander m: say $(:6lang('my favorite'))
14:45 camelia rakudo-moar 854c10c27: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Extra argument not allowed; pair already has argument of 6␤at <tmp>:1␤------> 3say $(:6lang7⏏5('my favorite'))␤»
14:45 wander huh
14:47 wamba joined #perl6
14:48 mson joined #perl6
14:52 jnthn :6lang is the same as :lang(6), so it already has a value
14:54 mspo 6郎
14:56 inaswerk joined #perl6
14:56 unicodable6 joined #perl6
14:56 araraloren :) 6 niang
14:56 El_Che 6lang? I see what you did there
14:57 * ilmari can't help but pronounce 6lang as glang
14:58 araraloren glang ?
14:59 ilmari like clang, but with a hard g at the start
14:59 ilmari 6 looks like G
14:59 ilmari s/pronounce/read/ # I guess
14:59 mspo G-lang is go-lang :)
14:59 El_Che https://www.urbandictionary.com/define.php?term=Glang
15:04 El_Che Bang-Shang-A-Lang sounds like a cool name: https://en.wikipedia.org/wiki/Bang-Shang-A-Lang
15:04 scimon Arrrgh.
15:04 scimon timotimo: ^ (Been in a meeting)
15:05 comborico1611 What do you think about 6lerp as an alias?
15:07 scimon timotimo: Trying something REALLY gonzo now.
15:08 leedo joined #perl6
15:09 araraloren good night !
15:09 comborico1611 Night
15:10 mspo go back to the all caps spelling -> PERL#6
15:11 comborico1611 6LERP?
15:11 mspo that's only five characters
15:11 mspo add a two-byte-wide unicode :)
15:11 comborico1611 People will think it's an acrostic.
15:14 jast oh, are we still collecting names? I submit Perl++ :-)
15:14 jast (that's including the emoticon, of course)
15:14 comborico1611 Ha
15:15 El_Che The O(+> worked well for Prince for some time, so we could use 🦋 (TLFKAP)
15:15 scimon (Didn't work)
15:16 jast is Camelia added to Unicode yet?
15:17 tyil mahafyi: sparrowdo isnt dependent on ruby, is it?
15:17 tyil I thought it uses some perl 5, but not ruby
15:17 geospeck joined #perl6
15:17 ilmari .u 🦋
15:17 yoleaux No characters found
15:17 ilmari . butterfly
15:17 ilmari .u butterfly
15:17 yoleaux No characters found
15:17 ilmari huh?
15:17 ilmari 🦋 - U+1F98B - BUTTERFLY
15:17 melezhik joined #perl6
15:18 natrys joined #perl6
15:19 AlexDaniel u: butterfly
15:19 ilmari m: '🦋'.uniprop('Age').say
15:19 unicodable6 AlexDaniel, U+1F98B BUTTERFLY [So] (🦋)
15:19 camelia rakudo-moar f1be29c0d: OUTPUT: «9.0␤»
15:19 AlexDaniel ilmari: ↑
15:23 perlpilot joined #perl6
15:27 scimon timotimo: Shaved it down to < 14 seconds by changing the solver to stop creating new puzzles all over the place. (Added a reset function).
15:28 scimon (method)
15:28 timotimo what was it before?
15:30 scimon This morning ~ 20 seconds.
15:30 scimon I'd got it down to about 14.5
15:30 scimon Just pushed the changes.
15:30 timotimo hm, temporary objects are relatively cheap
15:31 timotimo but "temporary" is in terms of "how many GC runs does it survive"
15:31 timotimo so the more objects you build the quicker they have to die to be considered temporary
15:32 scimon But if I just create 1 new object at the start and then just modifiy it.
15:32 epony joined #perl6
15:32 timotimo right
15:34 scimon In 05-solver.t there are 3 puzzles. The 1st can be solved with just picking single possilbilties. The 2nd needs the row / col / sqr logic and the last needed backtracking. I'm just trying each with the new code and the code from 1.0.0 (installed globally this morning)
15:36 scimon Option 3, timed 3 times to print the STR rep. ~6.8s -> ~5.1s
15:37 Geth ¦ doc: fluca1978++ created pull request #1708: Fix link to Promise.
15:37 Geth ¦ doc: review: https://github.com/perl6/doc/pull/1708
15:37 scimon Option 2 2.5s -> 2.4s
15:38 leedo joined #perl6
15:38 scimon Option 1 0.8s -> 1.1s ...
15:39 scimon Sooo it's a wee bit slower for that one. Possibly because I stopped doing the hacky hack in the map. But it did make me feel a bit queasy.
15:40 leedo joined #perl6
15:40 mahafyi tyil : i am reading through sparrowdo , but interrupted by work (the paying type, heh). ttyl more
15:40 Geth ¦ doc: 0d94cac792 | (Luca Ferrari)++ (committed by Moritz Lenz) | doc/Type/Proc/Async.pod6
15:40 Geth ¦ doc: Fix link to Promise.
15:40 Geth ¦ doc: review: https://github.com/perl6/doc/commit/0d94cac792
15:40 synopsebot Link: https://doc.perl6.org/type/Proc/Async
15:43 cosimo joined #perl6
15:47 mahafyi tyil : https://sparrowdo.wordpress.com/2017/01/20/sparrow-plugins-vs-ansible-modules/
15:50 mahafyi tyil : there is a diagrammatic overview of how it works, as well as excellent written detail. I was saying earlier : I am of opinion that SSH connections / Language dependencies are to be dropped, because ZeroMQ is the preferred transport / connectivity between the hosts
15:51 scimon timotimo : Thanks for the ideas :)
15:51 rindolf joined #perl6
15:53 thou joined #perl6
15:53 mahafyi tyil : of course redHat wouldn't agree with me , lol, they maintain ansible, which makes me just an opinionated guy maybe.
15:54 mahafyi but i can foresee this : that even an ssh login into a production machine , *whatsoever*, can be treated as a security exception and be purely managed from a bastion.
15:54 tyil sounds interesting for sure
15:55 tyil post link to a repo if you get going on it so I can look at it sometimes :>
15:56 moritz mahafyi: that's why ansible comes with ansible tower, which acts as that bastion
15:57 moritz and they recently open-sourced large parts of it (under the name awx)
15:58 mahafyi i suppose i just have to read it all in much more depth. i may be wrong about many things.
16:04 buggable New CPAN upload: Game-Sudoku-1.1.0.tar.gz by SCIMON https://cpan.metacpan.org/authors/id/S/SC/SCIMON/Perl6/Game-Sudoku-1.1.0.tar.gz
16:09 geospeck joined #perl6
16:09 wander jnthn: yes, so there's difference between `:6lang` and `Perl 6`. could I ask why we treat `:6lang` as `:lang(6)`? for convenience?
16:10 moritz because s:2nd/a/b/ reads so nicely
16:11 wander aha
16:12 wander there shall be more like this :)
16:14 mahafyi moritz , tyil : i think sparrowdo is what i am looking for, sorry about all the confusion, i should have read much more before speaking. The only remaining question is : Will adding zeromq support provide better performance and reliability over ssh connections?
16:15 moritz mahafyi: I have no idea. How would you plan to secure your ZeromMQ connections?
16:16 El_Che don't say ssh
16:16 mspo ssh and zmq aren't really on the same level :)
16:16 mspo you could probably add ssl to it, though
16:16 mahafyi moritz : i will answer it later
16:17 mahafyi moritz : in other words, dunno for now :)
16:17 astj joined #perl6
16:17 moritz mahafyi: your answer will depend on that
16:18 moritz mahafyi: it's easy to go faster than SSH if you skip encryption and authentication, but nobody will use that :-)
16:18 mahafyi moritz : yes, i see that.
16:19 troys joined #perl6
16:19 mspo puppet uses https
16:19 mspo I think chef does too
16:19 moritz with a separate CA, and client certificate validation
16:20 El_Che I dunno about chef, but speed isn't really something very applicable to Puppet
16:20 moritz it's basically an inversion of communication: the controlled hosts talk to the controller, instead of the way round (as ansible does)
16:20 mspo El_Che: true :)
16:21 mspo I don't care for the push model at all
16:21 mspo I think we've had this conversation before
16:21 mspo or I've had it with others :)
16:22 mahafyi moritz : i will start here , but not today :( - http://hintjens.com/blog:49
16:22 El_Che I use a pull model with Puppet (masterless)
16:22 El_Che that way it doesn't conflict with the pull model used by the Linux admins of the machine
16:23 mspo El_Che: I'm switching to that on some greenfield stuff
16:24 mspo El_Che: my current (with puppet master) puppet can take 15s - 120s depending on complexity and puppet-master load :(
16:24 mspo El_Che: masterless is much much faster; although the git pull adds time
16:24 El_Che mahafyi: sad to say that the writer of that blog is deceased :(
16:25 El_Che I declared puppet independence from the linux admin puppet infra after a few clashes
16:25 El_Che works well now
16:26 mspo the last time that happened to me it was the /etc/yum.repos.d directory :)
16:26 El_Che mspo: a classic :)
16:27 mspo El_Che: now for my masterless I'm trying to aws-ify it too and a little stuck on what aws keys to put in to look up facts and stuff
16:27 mspo anyway OT, I guess
16:27 mahafyi El_Che : oh really? did you know him? It looks amazing : I worked with a very good team, who have managed to push the idea into my head that ZeroMQ is all goodness and was a major factor in choosing saltstack. (I am only a manager, not developer)
16:27 tokik joined #perl6
16:27 mspo saltstack was pretty nice when I tried it except the docs were broken/wrong/out-of-date all the time
16:28 mspo I really don't like puppet but that might just be because I've been using it too long
16:29 El_Che I am ok with it, but one ends picking up Ruby to workaround the limitations of Puppet
16:29 mahafyi mspo : i did not try it that much , we had their team do it for us, lol. the company offers that as a paid service.
16:30 mahafyi mspo : the docs are terribly dense and pretty hard to get through, but i do not think it is broken or out of date.
16:34 mspo mahafyi: this was a few years ago; they literally didn't render properly on the salt website :)
16:34 mspo so I couldn't read them even if i tried :)
16:41 someuser joined #perl6
16:41 mahafyi on third thought, sparrowdo is exactly what i needed :) whether or not meanderings into zmq is advisable can be done at leisure.
16:44 mahafyi tyil : thanks
16:50 comborico1611 mahafyi, i haven't used the docs as a primary means of learning, but when i needed to search for info, i found them to be difficult to read as well.
16:51 comborico1611 If i remember correctly, it was usually that the example included OTHER code i didn't know.
16:53 mahafyi comborico1611 : i did not know much after reading through the entire documentation, but their training programs were enlightening. Again, I am not the guy who wrote the SaltStack states etc, only oversaw it.
16:55 comborico1611 I am familiar with that syndrome.
16:55 mahafyi https://github.com/melezhik/logdog , it seems to me that journald which provides json output by default is best used to parse logs on a host.
16:56 mahafyi not by default , but its trivial to do so
16:56 comborico1611 I'm sorry, i don't understand you.  Too advanced for me.  I'm just starting in computers.
16:59 * colomon just introduced six 3rd graders to programming via Perl 6 (on glot.io)
16:59 moritz \o/
16:59 moritz colomon++
17:00 comborico1611 Interesting.
17:02 scimon By all.
17:10 wamba joined #perl6
17:17 wamba joined #perl6
17:22 mspo colomon: interesting
17:22 mspo perl6 would not be a first choice for teaching language if I had to pick one :)
17:22 mspo but what do I know
17:23 melezhik Hi mahafyi: drop me a message if you need any help with sparrowdo. I am going to leave now, but I will able to get back tomorrow. Or don't hesitate to start discussion at https://groups.google.com/forum/#!forum/sparrowhub or GH
17:23 mahafyi melezhik : great , do you do commercial work?
17:24 melezhik mahafyi: what do you mean?
17:24 mahafyi melezhik : will you do work for payment?
17:25 mahafyi i am very much a beginner, but would like to try and build a cloud product using perl6.
17:29 natrys joined #perl6
17:33 tony-o what do you want to build?
17:36 mahafyi hosted telephony - IVR, call center
17:37 mahafyi i be back tomorrow, thank you all.
17:37 zakharyas joined #perl6
17:40 imcsk8 joined #perl6
17:45 imcsk8 joined #perl6
17:48 evalable6 joined #perl6
17:59 AlexDaniel mspo: what language would you pick then?
18:02 tony-o that'd be an interesting problem
18:05 colomon I also briefly pondered Lisp (esoteric), Python (I don’t know it), and Factor (esoteric and I don’t really know it).
18:07 colomon Perl 6 starts at about the same complexity of the Basic I first learned on, and it’s massively more powerful.
18:10 colomon it’s hard to get much easier than    say “Hello world!”;
18:15 El_Che colomon: Perl 6 a complex language imho
18:15 ilmari colomon: and you can actually do that with the curly quotes!
18:16 colomon El_Che: it’s complex in depth, but if you are just skimming the surface you don’t really see that.
18:16 El_Che that's true
18:24 mson joined #perl6
18:31 setty1 joined #perl6
18:33 scimon joined #perl6
18:37 mspo AlexDaniel: a smaller one
18:37 AlexDaniel like?
18:37 mspo lua?
18:37 mspo golang?
18:38 mspo but there might be a good teaching sub-set of perl6 that is a good fit
18:38 hankache joined #perl6
18:38 mspo kind of like the perl4-ish subset of perl5 :)
18:39 AlexDaniel the immediate problem I see with golang is its hello world
18:39 scimon Thing with perl5 as a teaching language is it's got some weirdness and it's not great for teaching some paradigms. Like OO.
18:46 khw joined #perl6
18:46 mspo I think it depends on the audience
18:47 mspo I've really only encountered two people learning to program: me 15 years ago and my 12 y/o niece
18:48 mspo she was taught scratch programming but no one bothered to teach her how to use a computer
18:48 mspo so graduating out of scratch proved to be a massive problem
18:48 scimon Yeah.
18:48 mspo but now the kids have chromebooks so whatever :)
18:49 mspo AlexDaniel: I would start by teaching "what is a file" and "what is a directory" :)
18:49 mspo and see where that goes
18:49 AlexDaniel wow you have some deep questions there :)
18:50 mspo I've been known to ask them in interviews
18:50 El_Che start by explaining a metaphore
18:50 mspo I expect different answers from 12 y/o's though
18:50 mspo El_Che: chromebooks don't have files
18:50 mspo or maybe they do; I've never used one
18:51 El_Che ipad do in ios11
18:52 mspo AlexDaniel: I think you could use any language if *you* (the teacher) know how to present it
18:52 mspo even javascript :)
18:53 mspo AlexDaniel: how many classes are you doing?
18:54 AlexDaniel mspo: none, but I've been trying to introduce several people into programming over the years
18:54 Ven`` joined #perl6
18:55 AlexDaniel I don't have a large sample size, but perl5 worked surprisingly well :S
18:56 AlexDaniel the biggest problem I see with perl 6 is that it is a bit hard to install…
18:57 AlexDaniel (compare it to perl5 which is already installed in most distros)
19:03 mspo not sure what you are supposed to do with people using chromebooks
19:03 mspo I tried using jupyter and wasn't sure what I was doing
19:04 mspo I ended up installing something
19:04 colomon AlexDaniel: I was using locked down school Chromebooks.  https://glot.io/new/perl6 works fine on them.
19:06 comborico1611 joined #perl6
19:07 Cabanossi joined #perl6
19:11 tony-o oo, glot stuck around.  i like it
19:12 Geth ¦ doc: caa5062c2e | (Will "Coke" Coleda)++ | doc/Language/tables.pod6
19:12 Geth ¦ doc: fix typo
19:12 Geth ¦ doc: review: https://github.com/perl6/doc/commit/caa5062c2e
19:12 Geth ¦ doc: 8b382675ff | (Will "Coke" Coleda)++ | 2 files
19:12 Geth ¦ doc: learn new words
19:12 synopsebot Link: https://doc.perl6.org/language/tables
19:12 Geth ¦ doc: review: https://github.com/perl6/doc/commit/8b382675ff
19:12 Ven`` joined #perl6
19:32 Ven`` joined #perl6
19:44 Ven`` joined #perl6
19:51 rindolf joined #perl6
19:55 thou Is this a known issue w/ .precomp and «This type cannot unbox to a native string: P6opaque, Failure»?  https://gist.github.com/softmoth/68a42e6218c22f8bbcbd8c840fea7c48
19:57 domidumont joined #perl6
19:58 thou I am not sure how to force it to happen, but it's shown up a few times as I'm trying to narrow down a different issue.
19:59 thou I.e., that I get that error message, and it goes away if I remove all .precomp directories
20:00 perlpilot thou: and then you get .precomp dir again, right?  Can you reproduce it again with the new .precomp dir?
20:00 thou perlpilot, I think it happens only after renaming some modules?
20:01 thou let me see if I can reproduce it
20:02 thou if it's not an obviously known issue then it's worth that effort…
20:08 ChoHag joined #perl6
20:14 wamba joined #perl6
20:24 thou gah, I got it again, but not sure how
20:24 thou but I've saved off the .precomp
20:33 benchable6 joined #perl6
20:52 Cabanossi joined #perl6
20:53 lizmat joined #perl6
20:54 telex joined #perl6
20:55 aindilis joined #perl6
20:59 Mrofnet joined #perl6
21:08 wamba joined #perl6
21:12 Ven`` joined #perl6
21:23 st_elmo joined #perl6
21:28 geospeck is there any plan for smth similar to this https://www.amazon.com/Programming-Perl-Unmatched-processing-scripting/dp/0596004923 but for Perl6?
21:30 moritz I did write a book about the "unmatched text processing" :-)
21:30 perlpilot geospeck: If you're asking if there will be a "Programming Perl 6", I think the answer is "yes ... eventually"
21:31 xcm joined #perl6
21:32 Ven`` joined #perl6
21:32 geospeck moritz: is this one https://www.amazon.com/dp/1484232275/?pldnSite=1
21:33 moritz geospeck: yes
21:34 geospeck thanks!
21:34 El_Che moritz that thought he was asked to write Programming Perl6: https://twitter.com/balenciaglo/status/939912359145103361
21:35 perlpilot moritz: I think yours is more about "matched text processing" than "unamatched"  ;)
21:37 moritz perlpilot: point taken :-)
21:39 moritz currently I'm pretty pissed with apress; buying the ebook on their website still doesn't work
21:40 moritz and it works on amazon.com since Wednesday night (but only kindle with DRM)
21:40 El_Che is kindle less terrible that it used to be for programming books?
21:41 moritz I have no idea
21:42 El_Che you don't get an version of what's sold?
21:42 moritz I get a PDF copy, and print when it's done
21:42 moritz but I don't have any kindle-enabled devices, I'm old-fashioned like that
21:43 moritz and didn't like the kinde web app when I last used it
21:43 * moritz reads his programming books in PDF or on dead trees
21:43 El_Che I say it used to be terrible because I tried a few books in the kindle app on ios some years ago
21:44 El_Che if I buy something I prefer paper+pdf. However, with Safari access for quick stuff their website and app is ok
21:46 thou I've got a unique bug report, I'd appreciate any comments before I file it:  https://gist.github.com/softmoth/c8e90a6e4eda72f732c9e49c5931e1b2
21:46 dj_goku_ joined #perl6
21:46 dj_goku_ joined #perl6
21:47 thou This is a problem where it appears rakudo is doing some weird type name handling for "Pod::Foobar" that it doesn't do for "Xod::Foobar".
21:48 thou I've been struggling with it all day, and finally got it whittled down to this....
21:49 ZzZombo joined #perl6
21:50 margeas joined #perl6
21:50 thou by the way, it doesn't fail if I use ::InlineListener instead of DebugListener, so it appears to be a problem with using a role that does another role?
21:51 [Coke]_ joined #perl6
21:51 [Coke]_ joined #perl6
21:51 telex joined #perl6
21:51 xinming_ joined #perl6
21:51 perlawhi1l joined #perl6
21:51 DrForr_ joined #perl6
21:52 Ven`` joined #perl6
21:52 broquain1 joined #perl6
21:52 sunnavy_ joined #perl6
21:52 lucs_ joined #perl6
21:55 mantovani_ joined #perl6
21:55 preaction_ joined #perl6
21:55 musca` joined #perl6
21:55 simcop2387_ joined #perl6
21:55 tardisx_ joined #perl6
21:55 levex_ joined #perl6
21:55 corkscrew joined #perl6
21:56 perlbot_ joined #perl6
21:56 simcop2387 joined #perl6
21:59 shadowpaste joined #perl6
22:00 thou joined #perl6
22:10 bisectable6 joined #perl6
22:11 mson joined #perl6
22:12 Ven`` joined #perl6
22:16 greppable6 joined #perl6
22:16 squashable6 joined #perl6
22:17 Ven`` joined #perl6
22:23 Ven` joined #perl6
22:30 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2017/12/11/2017-50-of-quasi-and-injectile/
22:31 TEttinger joined #perl6
22:37 imcsk8_ joined #perl6
22:37 thou joined #perl6
22:40 AndChat|688961 joined #perl6
22:41 itaipu joined #perl6
22:48 ZzZombo joined #perl6
22:52 comborico1611 joined #perl6
23:04 kyan joined #perl6
23:10 bazzaar joined #perl6
23:12 bazzaar \o perl6
23:13 astronavt joined #perl6
23:16 bazzaar I'm wondering whether this gist (https://gist.github.com/bazzaar/14aca12f0d7cf7fce631eeafd6cfc3b2) is a worthwhile comment, to post on bduggan's excellent advent article
23:18 rindolf joined #perl6
23:25 thou I like it,  bazzaar
23:27 bazzaar thou: thanks, it's a bit hypothetical I know, but it shows how wrappers are additive in scope (I think?)
23:29 timotimo .tell bduggan i think instead of ($num * 16).round / 16 you can $num.round(1/16)
23:38 MasterDuke_ dpk: looks like yoleaux is down in #moarvm, #perl6-dev, and #perl6 again
23:38 dpk probably got netsplat
23:38 yoleaux joined #perl6
23:43 aborazmeh joined #perl6
23:43 aborazmeh joined #perl6
23:52 synopsebot joined #perl6
23:55 [dpk] joined #perl6
23:55 bazzaar m: my $num = ⅝; say $num -= 1/32; say ($num * 16).round / 16; say $num.round(1/16);
23:55 camelia rakudo-moar fed56be25: OUTPUT: «0.59375␤0.625␤0.625␤»
23:59 Grauwolf_ joined #perl6
23:59 skaji joined #perl6
23:59 huggable joined #perl6
23:59 jkva_ joined #perl6
23:59 imcsk8 joined #perl6
23:59 buggable joined #perl6
23:59 ilmari joined #perl6
23:59 ilmari joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo