»ö« 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
|