»ö« 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.
mspo perl6.org/fun/ needs newer links 00:00
tricky to keep up to date
00:01 AndChat|688961 joined, comborico1611 left 00:18 sena_kun left
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:20
00:23 thou joined
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:24
not sure if that's supposed to be part of the homework or not 00:25
00:26 thou left, thou joined 00:28 thou left, thou joined 00:31 ZzZombo left, ZzZombo joined 00:33 lookatme joined 00:36 itaipu joined
lookatme o/ 00:37
bazzaar_ \o lookatme 00:39
lookatme good morning
bazzaar_ morning :) now pm for me :) 00:41
lookatme yeah, always :)
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:43
00:44 cdg joined
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:44
progress waits for no man, as they say 00:46
00:49 cdg left 00:51 astronav_ joined 00:52 Cabanossi left 00:53 astronavt left, Cabanossi joined 00:56 astronav_ is now known as astronavt
thou in `p6doc mop`, this is out of date apparently: say [1, 2, 3].VAR ~~ Scalar; # True 01:04
m: say [1, 2, 3].VAR ~~ Scalar;
camelia False
01:08 cdg joined 01:11 bazzaar_ left 01:12 cdg left
thou Who is Andrew Shiitov here, does anyone know? 01:14
01:16 |oLa| left
thou Nevermind, I decided to just write a comment on the article page. 01:20
lookatme :) 01:24
01:32 MasterDuke_ joined, MasterDuke left 01:42 astj_ joined 01:45 AlexDaniel joined 01:46 astj left 01:51 Cabanossi left 01:53 Cabanossi joined 02:03 AndChat|688961 left 02:11 manchicken joined
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
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.
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 :)
lookatme And thanks to jnthn , the blog post is awesome 02:18
02:20 markong left
AlexDaniel huggable: stars 02:27
huggable AlexDaniel, nothing found
AlexDaniel huggable: colons
huggable AlexDaniel, nothing found
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`?
AlexDaniel huggable: stars :is: perl6advent.wordpress.com/2017/12/...of-perl-6/ 02:28
huggable AlexDaniel, Added stars as perl6advent.wordpress.com/2017/12/...of-perl-6/
manchicken Twigils are neat... I think I'm getting it, but I've got a dozen tabs open.
AlexDaniel huggable: colons :is: thelackthereof.org/Perl6_Colons
huggable AlexDaniel, Added colons as thelackthereof.org/Perl6_Colons
AlexDaniel m: say (2, 8, 9, 5) ~~ (2, **, 5) 02:33
camelia True
AlexDaniel … did I do the excercise correctly? ↑
or what's the idea of 1...** ? 02:34
lookatme Haven't read not post yet 02:36
02:41 khisanth_ left
lookatme m: module A { try ::("&MAIN").?wrap(sub (|c) { say c; }); }; sub MAIN(|c) { say "123"; }; 02:50
camelia \()
lookatme Is this will work in real module ? 02:51
02:52 ilbot3 left 02:54 khisanth_ joined 02:55 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 02:58 ilbot3 joined, ChanServ sets mode: +v ilbot3 03:06 cdg joined
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:06
Or, is the `sub` not accessible via an instance anyway? 03:07
lookatme you can defined them in your class
They are not visible out side without `is export` 03:08
m: use NativeCall; module A { sub puts(Str) of int32 is native(Str) { * }; say ::.keys; 03:10
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3int32 is native(Str) { * }; say ::.keys;7⏏5<EOL>
lookatme m: use NativeCall; module A { sub puts(Str) of int32 is native(Str) { * }; }; say ::.keys; 03:11
camelia ($=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 cdg left
lookatme m: use NativeCall; module A { sub puts(Str) of int32 is native(Str) { * }; }; say &puts; 03:11
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
puts used at line 1. Did you mean 'put'?
lookatme m: use NativeCall; module A { sub puts(Str) of int32 is native(Str) { * }; }; import A; say &puts;
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
puts used at line 1. Did you mean 'put'?
lookatme ^^ see
They can not access your subs
manchicken Neat!
lookatme m: use NativeCall; module A { sub puts(Str) of int32 is native(Str) is export { * }; }; import A; say &puts; 03:12
camelia sub puts (Str $ --> int32) { #`(Sub+{Callable[int32]}+{NativeCall::Native[Sub+{Callable[int32]},Str]}|74481864) ... }
03:21 someuser1 joined 03:23 pilne left 03:24 someuser left, itaipu left
manchicken Even more neat. Thanks, lookatme. 03:28
03:39 wamba left 03:45 Morfent left, Morfent joined 03:51 Cabanossi left 03:53 Cabanossi joined 03:55 _28_ria joined 03:59 aindilis left 04:06 Cabanossi left 04:07 Cabanossi joined
Voldenet How do I force cleanup in the module after application ends? 04:17
I've got some class that provides temp files, I'd like them to be removed when the app ends 04:18
nothing too fancy: ix.io/CYu
AlexDaniel right, can't use DESTROY for that 04:19
somewhat relevant bug report: github.com/perlpilot/p6-File-Temp/issues/18 04:20
(for a module)
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
but that'd be hardly an elegant solution
AlexDaniel Voldenet: well typically you just write my $f = …; LEAVE .unlink with $f;
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:26
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:27
AlexDaniel Voldenet: the only thing I can think of is something like Lock.protect 04:29
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 Using file abc
cleaning up for abc
AlexDaniel Voldenet: ↑ like this
Voldenet: fwiw these two traps are relevant to the discussion: docs.perl6.org/language/traps#LEAV...r_and_exit 04:32
Voldenet but it's only appliable for trivial situations 04:33
where the script knows what files it's creating
AlexDaniel what do you mean? 04:34
like, how can it not know? 04:35
Voldenet > unit module Dns; use MyCache; sub dns-query is export (Str $name) { use cache here } 04:37
if I wrote app to work against uncaching Dns server, modifying the logic of the module would require adjusting the scripts using it
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: github.com/rakudo/rakudo/issues/1298 04:39
not that I'm saying that it is a proper solution, just an idea
04:39 manchicken left
Voldenet Uh, but is DESTROY ever called? 04:40
04:40 syntaxman left
AlexDaniel yeah sometimes 04:40
Voldenet I've just ran github.com/perl6/roast/blob/master...truction.t and it pretty much didn't work at all
04:41 mson joined
AlexDaniel m: class Foo { method DESTROY { say ‘destroyed’ } }; Foo.new; my $x = (2,4,8,16…∞)[2000] 04:41
camelia destroyed
AlexDaniel m: class Foo { method DESTROY { say ‘destroyed’ } }; Foo.new; my $x = (2,4,8,16…∞)[200]
camelia ( no output )
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 kaare_ left, syntaxman joined 04:50 kaare_ joined 04:52 astronavt left 04:55 kaare_ left 04:57 kaare_ joined 05:02 cdg joined, eliasr left 05:07 cdg left 05:12 committable6 left, committable6 joined 05:14 BenGoldberg left 05:25 syntaxman left 05:36 syntaxman joined 05:37 syntaxman left, syntaxman joined, syntaxman left 05:50 Cabanossi left, syntaxman joined 05:52 Cabanossi joined 06:03 thou left 06:04 releasable6 left, releasable6 joined, ChanServ sets mode: +v releasable6 06:10 khw left 06:16 zakame joined 06:22 s0me0n3-unkn0wn left 06:26 lowbro joined, lowbro left, lowbro joined 06:35 AlexDaniel left 06:36 Cabanossi left 06:37 Cabanossi joined 06:54 TimToady left 06:55 itaipu joined 06:56 TimToady joined 06:59 darutoko joined 07:00 domidumont joined 07:01 TimToady left 07:08 TimToady joined 07:11 mson left 07:17 itaipu left 07:20 _28_ria left 07:22 _28_ria joined 07:35 sena_kun joined, cdg joined, reportable6 left, reportable6 joined, ChanServ sets mode: +v reportable6 07:36 abraxxa joined 07:39 cdg left 07:47 abraxxa left 07:50 abraxxa joined, Cabanossi left 07:52 Cabanossi joined 07:53 piojo joined 07:55 parv joined 07:56 kaare_ left
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.
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
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:06
moritz fwiw in a later chapter is there is a case study on parsing python-like indentation based syntax 08:07
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:11
08:20 rgrau left 08:26 rindolf joined 08:34 Cabanossi left 08:37 Cabanossi joined, zakame left 08:38 zakharyas joined 08:39 jeromelanteri joined, zakharyas left 08:40 jeromelanteri left, zakharyas joined 08:41 colomon left 08:42 zakharyas left, zakharyas joined 08:45 zakharyas left 08:50 _28_ria left 08:51 dakkar joined 08:52 _28_ria joined 08:56 TEttinger left 08:59 scimon joined 09:06 wamba joined 09:07 scimon left 09:09 sena_kun left 09:13 rindolf left 09:18 zakharyas joined, _28_ria left 09:19 _28_ria joined 09:23 geospeck joined 09:28 scimon joined 09:31 scimon left 09:37 _28_ria left, parv left 09:41 lizmat left 09:42 llfourn left 09:44 robertle joined 09:49 scimon joined, eaterof joined 09:50 Cabanossi left 09:51 zakharyas left 09:52 eater left, eaterof is now known as eater, Cabanossi joined 09:53 zakharyas joined
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. 09:55
09:58 leedo left 10:01 traxex joined 10:10 itaipu joined 10:13 traxex left 10:35 Cabanossi left
moritz scimon++ 10:35
scimon Been enjoying all the advents so far :) And payday on Wednesday I'll be getting my next Perl6 book. :) 10:36
And I might finally understand Grammars.
10:37 Cabanossi joined 10:40 scimon left 10:45 scimon joined
scimon Ah the joys of using a machine for the first time in a week. Multiple restarts. 10:45
El_Che scimon: I'll go out of a limb here and state you're using Windows 10 10:47
scimon No. Ubuntu. But there was a kernel update. 10:48
And then I ran an apt update and that found ANOTHER change.
(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).
tyil tfw 10:56
my ubuntu machine's uptime is generally pretty good
only had to reboot after 300 days uptime because I moved :p
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
scimon Heck this is my work laptop. I turn it off at the end of the day.
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
Im at a 4.10 kernel on the ubuntu machine
El_Che tyil: many people I know are forced to use windows at work and run linux at home 10:59
funny you're case is inversed
tyil El_Che: thats the point at which I would tell people to find a better job :p
El_Che (I run an "illegal" linux at work, and have a windows partition at home in case I want to play a game)
tyil I have no windows installation on my own hw, and use Funtoo at work as well :p
games run pretty well on gnu+linux these days (for the most part) 11:00
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
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.
El_Che I don't have time to play, so booting in windows 7 every 4 to 6 month is no big issue :)
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.
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) :)
scimon But I see where you're coming from tyil.
tyil you can see that I'm dutch just by this :o
11:03 wander joined
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:03
(I'm doing really well on the being back at work as you can see) 11:04
tyil :p
scimon Oh I've got a CAD package for making RPG maps that only runs on Windows too come to think of it. 11:05
tyil you could easily make something for that in perl 6 :) 11:06
11:06 wamba left
El_Che at work they are investigating to offer managed mac and linux as well 11:06
and they want to involved me
tyil nice
El_Che the thing is, I don't want a managed linux
:)
tyil if they manage just the kernel its fine I think
so long as you can manage the other parts of the OS
El_Che the managed windows is hell
tyil s/the managed//
El_Che the switch every option they could find so it's a hassle to work with 11:07
e.g. you need to change stuff to run virtualbox
and changes lost at reboot and crap like that
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.
Problem is some people REALLY NEED a locked down machine.
El_Che tyil: not really. It works for non technical people
tyil at my company, people just get windows by default, but if you want anything else, thats fine too
you can spend your first day installing/configuring your system 11:09
but it's also your responsibility
and that's been a policy at most companies I have worked for tbh
El_Che technical people do not contact out helpdesk 11:10
so that's ok
tyil even at some microsoft-loving company
11:10 markong joined
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:10
El_Che mac is OK as a workstation. Most linux stuff I run works there 11:11
certainly docker helps nowadays
tyil it's not for me, still a bit too proprietary when its not needed
and it's harder to customize everything to my wishes
jast I do all of my work in a VM, the host OS is macos at work and windows at home
El_Che sure, and not very configurable
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)
tyil after I found it works pretty well for managing a server
jast I'm not exactly happy with macos, but my VM doesn't care :)
tyil instead of having 13 VMs, I now have 12 docker containers and 1 VM
11:12 lowbro left
tyil much easier to manage and keep up-to-date in my experience 11:12
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)
El_Che battery life and word (yeah, I know, not my choice)
tyil I once tried using my phone to ssh into a remote server, start vim there, and then modify my ruby bot
while it certainly worked in the end, it was not the best experience ever
11:14 piojo_ joined
tyil I generally use vim for every kind of editing required, even documents for school (LaTeX is nice) 11:14
DrForr LaTeX++ 11:17
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
jast: and you needed third party stuff
(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.
El_Che jast: oh, it just works :)
11:20 araraloren joined
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
... but even windows makes it easier 11:21
El_Che jast: yes I was confused
automator thing idd
indeed
I confused with an other problem I had: key mapping
I have an azerty keyb mac
and wanted to keymap a dead key for accents 11:22
that was a big nope
jast I can imagine
El_Che on mac en linux I have altgr + '
on mac is it alt+shift+&
doesn't type easily
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
El_Che there you needed third party stuff
jast: yes, I saw that
on mac/win is azerty a nice leyoutwhen you type a lot of french and spanish (next to dutch) 11:24
so It didn't occur to me to ask for a qwerty version when I got the mac at work
jast I use US; my native layout is beyond horrible on mac
(that said, I use US everywhere, only on other systems I can customize my extra requirements better)
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
specially when I worked a lot on Solaris
tbrowder hi #perl6 11:27
scimon Hi 11:28
So yeah. Typing my vars didn't really change the speeds by the shaped array really slowed things down. Shame really. 11:29
DrForr Is there something like :version<> but for protocol versions? 11:30
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:32
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
tbrowder DrForr: so its scope is automatically everywhere? 11:35
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
I use it in several places, one om.
*mo
github.com/drforr/perl6-Format-Lis...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”
DrForr The $*PRINT-CASE variable is declared inside the deftest() block, but I can use it elsewhere, like in Format/Lisp.pm. 11:38
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:40
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:42
11:43 gregf_ joined
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:43
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
The point in this case is that I *can* initialize $*PRINT-CASE before calling the format() method, but I don't have to.
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:46
tbrowder scimon: concur! 11:48
DrForr: thanks 11:49
scimon But the $*PRINT-CASE thing looks interesting. ;)
11:49 Cabanossi left 11:52 Cabanossi joined
mahafyi I am looking to try building zeromq services with perl6. 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:52
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?)
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:55
Side note. CPAN hosted modules don't seem to have Travis status showing in the modules.perl6.org results. 11:56
moritz that's right. They also miss the github stars and stuff 11:57
scimon But it means if you're using "Travis and Appveyor setup" as a metric you'll penalise CPAN hosted modules. 11:58
El_Che it should :- 11:59
:)
mahafyi I am looking at docs.travis-ci.com/user/languages/perl6 to learn what it means
El_Che you can go to their github repo and see if they have that setup up
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?
scimon (In a long term development kind of way).
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 :)
mahafyi scimon , ah ok. i think i get that.
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?
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.
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.
scimon :D 12:05
See Perl6's native concurrency models work really nicely with things like ZeroMQ.
One thing I like with Cro is it's built around Supplies and the like. 12:06
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
12:08 parv joined
scimon Yeah. 12:08
So you have child servers writing to a supply that then wirtes to the Message Queue.
El_Che easily deployable and perl 6 is a relative thing
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.
Yeah... Take a look at Cro.
El_Che rakudo is not relocable, there is no fatpacking for libs and so on. Cro+docker could work though
scimon Heck you could use IO::Socket::Async and JSON :) (I wouldn't but you could). 12:10
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.
Sounds like a plan. 12:12
12:14 zakharyas left
moritz wow, all p6advent calendar posts up to (and including) day 14 are scheduled in WP already 12:15
everybody++
12:17 piojo left 12:18 wamba joined 12:26 piojo joined
tyil mahafyi: we already have sparrowdo :> 12:28
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:36 Cabanossi left 12:37 Cabanossi joined 12:39 llfourn joined
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:42
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 wamba left
mahafyi El_Che : ouch ! ha ha ha. 12:46
scimon Good luck :) 12:49
My ongoing plan is to convince my work that Perl6 is a valid tool for future work.
El_Che just package it in docker :)
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.
El_Che ilmari: hehe. Spot on
scimon ilmari++ 12:51
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
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:52 domidumont left 12:53 eliasr joined, Actualeyes left, domidumont joined 12:54 Actualeyes joined 12:56 parv left 13:03 ZofBot left 13:04 sena_kun joined 13:06 ZofBot joined, ChanServ sets mode: +v ZofBot
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:06
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
13:08 MilkmanDan left
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
scimon (Though.... now I'm planning on writing create-puzzle :) ) 13:09
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:10
13:11 MilkmanDan joined 13:12 colomon joined
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.
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
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?
El_Che perl 6 has enough rough edges to not point fingers :)
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...
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
compare-with or compare-against or something
El_Che mahafyi: investing in Perl 6 to learn is a good idea, however putting other languages down isn't
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:18
13:19 AlexDaniel joined
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?
El_Che language
so it makes a lot of stuff easy
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
but it's probably a lot of overhead regardless
El_Che however, often a module you need may not exist yet
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.
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
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
timotimo how much is that in percent? :)
scimon 5% 13:25
timotimo not too shabby
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
which is why we paid $$$ for it , lol
13:27 piojo left
timotimo scimon: you should be able to do the find_method outside of the loops and store them there 13:28
(talking about find-uniques)
scimon Ohhh yeah. That's a good plan.
(I was just happy I could loop over them :) )
timotimo you can even iterate over the list of the three methods and -> $method instead of -> $method-name
13:32 rgrau left
scimon Or I can swap the methods and index loops. 13:33
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
timotimo i see. i didn't look close enough to know whether flipping the two would be safe 13:34
scimon That shaved 10% off the time. 13:35
timotimo nice!
scimon Yeah. It's basically looking at every row, column and square looking for values that appear once.
(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
scimon But it doesn't matter if it does it row0, col0, sqr0, row1 ... etc or row0, row1, row 2 etc
I *may* have got a bit carried away with Sets. 13:37
timotimo that's fine
they have the benefit of being immutable, so you can cache them if it helps
13:37 leedo joined
scimon Part of the reason I did that was because I wasted to experiment with that. 13:37
True..... hmmm...
timotimo though if you're calling (elem) on actual sets, that's better than calling it on lists 13:38
13:40 inaswerk joined
scimon Nope... it's a list. 13:41
timotimo hm, i wonder.
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”?)»
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”?)»
timotimo benchable6: help
benchable6 timotimo, Like this: benchable6: f583f22,HEAD my $a = ‘a’ x 2¹⁶; for ^1000 {my $b = $a.chop($_)} # See wiki for more examples: github.com/perl6/whateverable/wiki/Benchable
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
timotimo, gist.github.com/7345710977c9592a73...d0288b2a0a
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
timotimo, gist.github.com/7b59f35107c12d36dc...575a53a542
timotimo wow. that's a difference.
wander m: role A { has Int $.a };class B does A { };my Int $b = B.new.a;say $b; 13:46
camelia (Int)
wander m: role A[::T] { has T $.a };class B does A[::Int] { };my Int $b = B.new.a;say $b;
timotimo RSI typing break
camelia No such method 'gist' for invocant of type 'T'
in block <unit> at <tmp> line 1
13:49 zakharyas joined
scimon Added caching for possible. 13:50
13:51 cdg joined, rgrau joined
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 . saltstack.com/saltstack-management...roduction/ 13:53
14:02 pippo joined 14:05 grumble left
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.
timotimo right 14:07
14:07 pippo left
scimon Plus.. I also wanted to play with Junctions. 14:07
timotimo of course
i thought maybe you would $!valid-all //= do { ... } in the methods that use those attributes
for now you can do this to measure:
give Game::Sudoku a bunch of attributes $!valid-all-used, $!complete-all-used, etc 14:08
scimon That's a thought.
timotimo and a submethod DESTROY that checks whether any of them are 0
14:08 leedo left
timotimo and set them to 1 when they are accessed 14:08
submethod DESTROY could then output whether any of the attributes were "wasted" or if they were all used
giving you a picture of whether it'd be worth it to make them lazy
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
So you can ask for the set.
(I'll be commiting this soon)
timotimo i'll be AFK for a while again, but i'll be interested in your results :) 14:10
14:13 grumble joined 14:16 geospeck left 14:27 domidumont left 14:29 domidumont joined 14:33 comborico1611 joined 14:34 ggoebel joined
timotimo scimon: you typo'd Bool :$set as Bool :$seq in the readme :) 14:38
also, should the cell function invalidate the -all attributes? 14:39
14:40 char_var[buffer] left
wander m: say :6lang 14:44
camelia Unexpected named argument 'lang' passed
in block <unit> at <tmp> line 1
wander m: say $(:6lang)
camelia lang => 6
wander m: say $('6lang'=>'my favorite') 14:45
camelia 6lang => my favorite
wander m: say $(:6lang(my favorite))
camelia 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…
wander m: say $(:lang(my favorite))
camelia 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))
wander m: say $(:lang('my favorite'))
camelia lang => my favorite
wander m: say $(:6lang('my favorite'))
camelia 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'))
wander huh
14:47 wamba joined 14:48 mson joined
jnthn :6lang is the same as :lang(6), so it already has a value 14:52
mspo 6郎 14:54
14:55 inaswerk left 14:56 unicodable6 left, inaswerk joined, unicodable6 joined
araraloren :) 6 niang 14:56
El_Che 6lang? I see what you did there
ilmari can't help but pronounce 6lang as glang 14:57
araraloren glang ? 14:58
ilmari like clang, but with a hard g at the start 14:59
6 looks like G
s/pronounce/read/ # I guess
mspo G-lang is go-lang :)
El_Che www.urbandictionary.com/define.php?term=Glang
15:01 inaswerk left
El_Che Bang-Shang-A-Lang sounds like a cool name: en.wikipedia.org/wiki/Bang-Shang-A-Lang 15:04
scimon Arrrgh.
timotimo: ^ (Been in a meeting)
comborico1611 What do you think about 6lerp as an alias? 15:05
scimon timotimo: Trying something REALLY gonzo now. 15:07
15:08 leedo joined
araraloren good night ! 15:09
comborico1611 Night
15:09 araraloren left
mspo go back to the all caps spelling -> PERL#6 15:10
comborico1611 6LERP? 15:11
mspo that's only five characters
add a two-byte-wide unicode :)
comborico1611 People will think it's an acrostic.
jast oh, are we still collecting names? I submit Perl++ :-) 15:14
(that's including the emoticon, of course)
comborico1611 Ha
El_Che The O(+> worked well for Prince for some time, so we could use 🦋 (TLFKAP) 15:15
scimon (Didn't work)
jast is Camelia added to Unicode yet? 15:16
tyil mahafyi: sparrowdo isnt dependent on ruby, is it? 15:17
I thought it uses some perl 5, but not ruby
15:17 geospeck joined
ilmari .u 🦋 15:17
yoleaux No characters found
ilmari . butterfly
.u butterfly
yoleaux No characters found
ilmari huh?
🦋 - U+1F98B - BUTTERFLY
15:17 melezhik joined 15:18 natrys joined
AlexDaniel u: butterfly 15:19
ilmari m: '🦋'.uniprop('Age').say
unicodable6 AlexDaniel, U+1F98B BUTTERFLY [So] (🦋)
camelia 9.0
AlexDaniel ilmari: ↑
15:23 perlpilot joined
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:27
(method) 15:28
timotimo what was it before?
scimon This morning ~ 20 seconds. 15:30
I'd got it down to about 14.5
Just pushed the changes.
timotimo hm, temporary objects are relatively cheap
but "temporary" is in terms of "how many GC runs does it survive" 15:31
so the more objects you build the quicker they have to die to be considered temporary
15:31 leedo left, epony left
scimon But if I just create 1 new object at the start and then just modifiy it. 15:32
15:32 epony joined
timotimo right 15:32
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:34
Option 3, timed 3 times to print the STR rep. ~6.8s -> ~5.1s 15:36
Geth doc: fluca1978++ created pull request #1708:
Fix link to Promise.
15:37
scimon Option 2 2.5s -> 2.4s
15:38 leedo joined, leedo left
scimon Option 1 0.8s -> 1.1s ... 15:38
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:39
15:40 leedo joined
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
Fix link to Promise.
synopsebot Link: doc.perl6.org/type/Proc/Async
15:43 cosimo left, cosimo joined
mahafyi tyil : sparrowdo.wordpress.com/2017/01/20...e-modules/ 15:47
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:50
scimon timotimo : Thanks for the ideas :) 15:51
15:51 rindolf joined 15:53 thou joined
mahafyi tyil : of course redHat wouldn't agree with me , lol, they maintain ansible, which makes me just an opinionated guy maybe. 15:53
15:54 geospeck left
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
post link to a repo if you get going on it so I can look at it sometimes :> 15:55
moritz mahafyi: that's why ansible comes with ansible tower, which acts as that bastion 15:56
and they recently open-sourced large parts of it (under the name awx) 15:57
mahafyi i suppose i just have to read it all in much more depth. i may be wrong about many things. 15:58
buggable New CPAN upload: Game-Sudoku-1.1.0.tar.gz by SCIMON cpan.metacpan.org/authors/id/S/SC/...1.0.tar.gz 16:04
16:09 geospeck joined
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:09
moritz because s:2nd/a/b/ reads so nicely 16:10
wander aha 16:11
there shall be more like this :) 16:12
16:12 domidumont left
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:14
moritz mahafyi: I have no idea. How would you plan to secure your ZeromMQ connections? 16:15
El_Che don't say ssh 16:16
mspo ssh and zmq aren't really on the same level :)
you could probably add ssl to it, though
mahafyi moritz : i will answer it later
16:16 astj_ left
mahafyi moritz : in other words, dunno for now :) 16:17
16:17 astj joined
moritz mahafyi: your answer will depend on that 16:17
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
mspo puppet uses https 16:19
I think chef does too
16:19 tokik left
moritz with a separate CA, and client certificate validation 16:19
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)
mspo El_Che: true :)
I don't care for the push model at all 16:21
I think we've had this conversation before
or I've had it with others :)
mahafyi moritz : i will start here , but not today :( - hintjens.com/blog:49 16:22
El_Che I use a pull model with Puppet (masterless)
that way it doesn't conflict with the pull model used by the Linux admins of the machine
mspo El_Che: I'm switching to that on some greenfield stuff 16:23
El_Che: my current (with puppet master) puppet can take 15s - 120s depending on complexity and puppet-master load :( 16:24
El_Che: masterless is much much faster; although the git pull adds time
El_Che mahafyi: sad to say that the writer of that blog is deceased :(
I declared puppet independence from the linux admin puppet infra after a few clashes 16:25
works well now
mspo the last time that happened to me it was the /etc/yum.repos.d directory :) 16:26
El_Che mspo: a classic :)
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
anyway OT, I guess
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
mspo saltstack was pretty nice when I tried it except the docs were broken/wrong/out-of-date all the time 16:27
I really don't like puppet but that might just be because I've been using it too long 16:28
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.
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:30
mspo mahafyi: this was a few years ago; they literally didn't render properly on the salt website :) 16:34
so I couldn't read them even if i tried :)
16:35 natrys left 16:39 zakharyas left 16:41 someuser joined
mahafyi on third thought, sparrowdo is exactly what i needed :) whether or not meanderings into zmq is advisable can be done at leisure. 16:41
16:42 someuser1 left
mahafyi tyil : thanks 16:44
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:50
If i remember correctly, it was usually that the example included OTHER code i didn't know. 16:51
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:53
comborico1611 I am familiar with that syndrome. 16:55
mahafyi 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.
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.
colomon just introduced six 3rd graders to programming via Perl 6 (on glot.io) 16:59
moritz \o/
colomon++
comborico1611 Interesting. 17:00
scimon By all. 17:02
17:02 scimon left, rgrau left, wamba left 17:10 wamba joined 17:15 wamba left 17:17 wamba joined 17:18 mson left
mspo colomon: interesting 17:22
perl6 would not be a first choice for teaching language if I had to pick one :)
but what do I know
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 groups.google.com/forum/#!forum/sparrowhub or GH 17:23
mahafyi melezhik : great , do you do commercial work?
melezhik mahafyi: what do you mean? 17:24
mahafyi melezhik : will you do work for payment?
i am very much a beginner, but would like to try and build a cloud product using perl6. 17:25
17:29 natrys joined 17:30 piojo_ left
tony-o what do you want to build? 17:33
17:33 rindolf left
mahafyi hosted telephony - IVR, call center 17:36
i be back tomorrow, thank you all. 17:37
17:37 mahafyi left, zakharyas joined 17:39 imcsk8 left 17:40 imcsk8 joined 17:43 imcsk8 left 17:45 imcsk8 joined 17:48 evalable6 left, evalable6 joined, ChanServ sets mode: +v evalable6 17:50 dakkar left 17:56 abraxxa left 17:57 Actualeyes left 17:58 zakharyas left
AlexDaniel mspo: what language would you pick then? 17:59
tony-o that'd be an interesting problem 18:02
colomon I also briefly pondered Lisp (esoteric), Python (I don’t know it), and Factor (esoteric and I don’t really know it). 18:05
Perl 6 starts at about the same complexity of the Basic I first learned on, and it’s massively more powerful. 18:07
it’s hard to get much easier than say “Hello world!”; 18:10
El_Che colomon: Perl 6 a complex language imho 18:15
ilmari colomon: and you can actually do that with the curly quotes!
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 18:31 setty1 joined 18:33 scimon joined 18:36 darutoko left
mspo AlexDaniel: a smaller one 18:37
AlexDaniel like?
mspo lua?
golang?
but there might be a good teaching sub-set of perl6 that is a good fit 18:38
18:38 hankache joined
mspo kind of like the perl4-ish subset of perl5 :) 18:38
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
mspo I think it depends on the audience 18:46
I've really only encountered two people learning to program: me 15 years ago and my 12 y/o niece 18:47
she was taught scratch programming but no one bothered to teach her how to use a computer 18:48
so graduating out of scratch proved to be a massive problem
scimon Yeah.
mspo but now the kids have chromebooks so whatever :)
AlexDaniel: I would start by teaching "what is a file" and "what is a directory" :) 18:49
and see where that goes
AlexDaniel wow you have some deep questions there :)
mspo I've been known to ask them in interviews 18:50
El_Che start by explaining a metaphore
mspo I expect different answers from 12 y/o's though
El_Che: chromebooks don't have files
or maybe they do; I've never used one
El_Che ipad do in ios11 18:51
18:52 scimon left
mspo AlexDaniel: I think you could use any language if *you* (the teacher) know how to present it 18:52
even javascript :)
AlexDaniel: how many classes are you doing? 18:53
AlexDaniel mspo: none, but I've been trying to introduce several people into programming over the years 18:54
18:54 Ven`` joined
AlexDaniel I don't have a large sample size, but perl5 worked surprisingly well :S 18:55
the biggest problem I see with perl 6 is that it is a bit hard to install… 18:56
(compare it to perl5 which is already installed in most distros) 18:57
mspo not sure what you are supposed to do with people using chromebooks 19:03
I tried using jupyter and wasn't sure what I was doing
I ended up installing something 19:04
colomon AlexDaniel: I was using locked down school Chromebooks. glot.io/new/perl6 works fine on them.
19:04 wamba left, comborico1611 left 19:05 Cabanossi left 19:06 comborico1611 joined 19:07 Cabanossi joined 19:08 Ven`` left
tony-o oo, glot stuck around. i like it 19:11
Geth doc: caa5062c2e | (Will "Coke" Coleda)++ | doc/Language/tables.pod6
fix typo
19:12
doc: 8b382675ff | (Will "Coke" Coleda)++ | 2 files
learn new words
synopsebot Link: doc.perl6.org/language/tables
19:12 Ven`` joined 19:17 hankache left 19:24 Ven`` left 19:32 Ven`` joined 19:37 Ven`` left 19:44 Ven`` joined 19:51 rindolf joined
thou Is this a known issue w/ .precomp and «This type cannot unbox to a native string: P6opaque, Failure»? gist.github.com/softmoth/68a42e621...840fea7c48 19:55
19:57 domidumont joined
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:58
I.e., that I get that error message, and it goes away if I remove all .precomp directories 19:59
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?
let me see if I can reproduce it 20:01
if it's not an obviously known issue then it's worth that effort… 20:02
20:02 ChoHag left 20:05 domidumont left 20:08 ChoHag joined 20:14 wamba joined
thou gah, I got it again, but not sure how 20:24
but I've saved off the .precomp
20:25 colomon left 20:33 benchable6 left, benchable6 joined, ChanServ sets mode: +v benchable6 20:43 troys is now known as troys_ 20:44 wamba left 20:50 Cabanossi left 20:52 Cabanossi joined 20:53 telex left, lizmat joined 20:54 telex joined 20:55 aindilis joined 20:59 Mrofnet joined 21:00 troys_ is now known as troys 21:02 Morfent left 21:03 Mrofnet is now known as Morfent 21:07 Ven`` left 21:08 wamba joined 21:12 Ven`` joined 21:23 mson left, Ven`` left, st_elmo joined
geospeck is there any plan for smth similar to this www.amazon.com/Programming-Perl-Un...0596004923 but for Perl6? 21:28
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 21:32 Ven`` joined
geospeck moritz: is this one www.amazon.com/dp/1484232275/?pldnSite=1 21:32
moritz geospeck: yes 21:33
geospeck thanks! 21:34
El_Che moritz that thought he was asked to write Programming Perl6: twitter.com/balenciaglo/status/939...9145103361
perlpilot moritz: I think yours is more about "matched text processing" than "unamatched" ;) 21:35
moritz perlpilot: point taken :-) 21:37
21:38 Ven`` left
moritz currently I'm pretty pissed with apress; buying the ebook on their website still doesn't work 21:39
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?
moritz I have no idea 21:41
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
but I don't have any kindle-enabled devices, I'm old-fashioned like that
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
El_Che I say it used to be terrible because I tried a few books in the kindle app on ios some years ago
if I buy something I prefer paper+pdf. However, with Safari access for quick stuff their website and app is ok 21:44
21:45 geospeck left
thou I've got a unique bug report, I'd appreciate any comments before I file it: gist.github.com/softmoth/c8e90a6e4...9c5931e1b2 21:46
21:46 dj_goku_ joined, dj_goku_ left, dj_goku_ joined
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:47
I've been struggling with it all day, and finally got it whittled down to this.... 21:48
21:49 ZzZombo left, ZzZombo joined 21:50 margeas joined
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:50
21:51 [Coke]_ joined, [Coke]_ left, [Coke]_ joined, telex left, telex joined, xinming_ joined, perlawhi1l joined, DrForr_ joined 21:52 Ven`` joined, broquain1 joined, sunnavy_ joined, lucs_ joined 21:54 st_elmo left 21:55 mantovani_ joined, preaction_ joined, musca` joined, simcop2387_ joined, tardisx_ joined, levex_ joined, corkscrew joined 21:56 perlbot_ joined, markong left, preaction left, xinming left, [Coke] left, dj_goku left, perlbot left, Levex left, broquaint left, lucs left, perlawhirl left, renormalist left, simcop2387 left, tardisx left, mantovani left, tony-o left, musca left, shadowpaste left, protium left, DrForr left, sunnavy left, simcop2387_ is now known as simcop2387, corkscrew is now known as protium, simcop2387 left, simcop2387 joined, perlbot_ is now known as perlbot, preaction_ is now known as preaction 21:57 bisectable6 left, squashable6 left 21:58 yoleaux left 21:59 shadowpaste joined 22:00 thou left, thou joined 22:02 thou left 22:08 rindolf left, Ven`` left 22:10 bisectable6 joined 22:11 mson joined 22:12 Ven`` joined 22:14 Ven`` left 22:15 greppable6 left 22:16 greppable6 joined, squashable6 joined 22:17 troys is now known as troys_, Ven`` joined 22:18 itaipu left 22:22 Ven`` left 22:23 Ven` joined
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/12/11/...injectile/ 22:30
22:31 setty1 left, TEttinger joined 22:33 natrys left 22:36 Ven` left 22:37 imcsk8_ joined, thou joined 22:40 AndChat|688961 joined 22:41 comborico1611 left, imcsk8 left, itaipu joined 22:47 musca` is now known as musca 22:48 ZzZombo left, ZzZombo joined 22:51 troys_ is now known as troys 22:52 AndChat|688961 left, comborico1611 joined 23:04 kyan joined 23:10 bazzaar joined
bazzaar \o perl6 23:12
23:13 astronavt joined
bazzaar I'm wondering whether this gist (gist.github.com/bazzaar/14aca12f0d...fd6cfc3b2) is a worthwhile comment, to post on bduggan's excellent advent article 23:16
23:18 rindolf joined
thou I like it, bazzaar 23:25
bazzaar thou: thanks, it's a bit hypothetical I know, but it shows how wrappers are additive in scope (I think?) 23:27
timotimo .tell bduggan i think instead of ($num * 16).round / 16 you can $num.round(1/16) 23:29
MasterDuke_ dpk: looks like yoleaux is down in #moarvm, #perl6-dev, and #perl6 again 23:38
23:38 MasterDuke_ is now known as MasterDuke
dpk probably got netsplat 23:38
23:38 yoleaux joined 23:39 ChanServ sets mode: +v yoleaux 23:43 aborazmeh joined, aborazmeh left, aborazmeh joined 23:52 synopsebot left, synopsebot joined, ChanServ sets mode: +v synopsebot 23:55 [dpk] joined
bazzaar m: my $num = ⅝; say $num -= 1/32; say ($num * 16).round / 16; say $num.round(1/16); 23:55
camelia 0.59375
0.625
0.625
23:55 Grauwolf_ joined 23:56 huggable left, skaji left, skaji joined, huggable joined, ChanServ sets mode: +v huggable, jkva_ left, buggable left, dpk left, [dpk] is now known as dpk 23:57 sftp left, Bucciarati left, hobbs left, Altreus left, jkva_ joined, imcsk8 joined, Grauwolf left, ilmari left 23:58 buggable joined, ChanServ sets mode: +v buggable 23:59 ilmari joined, ilmari left, ilmari joined, comborico1611 left, greppable6 left, bisectable6 left, unicodable6 left, committable6 left