gist.github.com/masak/5431185 -- logs at irclog.perlgeek.de/masakism/today -- everytimezone.com/#2013-5-1,240,6bj
Set by moderator on 30 April 2013.
00:35 est7 joined
est7 whois moritz 00:47
00:50 bern joined 01:02 bern joined
Tene masak: I just got my copy of Surfaces and Essences today. 03:34
05:06 moritz_ joined 05:44 hrbkid joined 05:55 atroxaper joined 06:10 baest joined 06:15 dmol joined 06:56 moritz__ joined 07:16 Farow joined
GlitchMr rzm, done, sorry for the delay ;-). 07:26
07:27 snearch joined
rzm GlitchMr: thanks :) 07:33
07:44 hoelzro joined 07:46 mohij joined 07:59 cognominal joined 08:01 Patterner joined
masak T minus 8 hours. 08:04
hoelzro \\o/ 08:05
masak GlitchMr++ # added rzm++ 08:06
08:06 dmol joined 08:56 cognominal joined
masak T minus 7 hours. 09:01
GlitchMr I wonder when official IRC logs will return... 09:12
masak frankly, that's not a big concern of mine. 09:14
I have two excellent backup loggers already.
hoelzro I also have a log going 09:15
GlitchMr then three 09:16
olive.undo.it/perl6/masak0501.txt
I've a backup log, but still...
moritz logs are easier to use.
09:53 cognominal joined 09:54 atroxaper joined
masak less than T minus 6 hours. :) 10:11
er, I mean "T minus less than 6 hours".
10:27 mmtths joined
masak mmtths: greetings. 10:32
mmtths hello
masak T minus 5 hours. 11:03
11:09 atroxaper left 11:10 atroxaper joined 11:19 nvb joined
dmol I'm reading "using perl 6", but I'll try to use p5, as I know it better :) 11:24
masak ok :) 11:27
11:29 colomon joined, sergot joined
sergot o/ ! 11:29
11:30 Util joined
Util lurks for curiosity, and to read backscroll 11:31
11:40 nvb joined
colomon the same 11:44
masak ok, you're now on the "Audience" list :) github.com/perl6/mu/wiki/perl6-wor...p-may-2013 11:45
sjn masak: add me to the audience list too. I have no idea how many will be coming to Oslo.pm today 11:50
masak ok :) 11:51
sjn do you have some kind of schedule/plan published?
masak added: github.com/perl6/mu/wiki/perl6-wor...p-may-2013 11:52
sjn: I have a schedule/plan, yes. I expect total anarchy to reign, though. people are free to deviate and go off on tangents, submit solutions, teach others, or just discuss programming.
anything goes.
sjn ok, cool :)
LET THE CHAOS COMMENCE (to join, please form a line over there ------>) 11:53
masak :P
sjn :)
masak yes, like that.
it's a "Maintained Anarchy". 11:54
12:00 cognominal joined
masak T minus 4 hours. 12:01
sjn ok, wasn't it supposed to start at 16:00? 12:02
12:02 grondilu joined
sjn aah, it's 16:00 Zulu 12:03
masak time zones are hard :) 12:06
hope this doesn't ruin things for the Oslo.pm group...
12:16 philluminati joined
GlitchMr Yep, 3 hours 27 minutes. 12:33
perl6: say "Comming soon" 12:35
s/mm/m/
atroxaper Hello everyone! Especially Masak! 12:47
masak hello atroxaper!
atroxaper What a difference between Audience and Participants? 12:48
masak audience is more "readonly", participands is "read/write".
participants*
pjcj in that case, may I register my intent to be a member of the audience who may not be able to pay full attention at all times? 12:50
masak sure. 12:52
pjcj thanks :) 12:53
masak added you to github.com/perl6/mu/wiki/perl6-wor...p-may-2013 :)
atroxaper Oh. I'm not so good communicative, but i would be happy just listen your course, Masak. Could you add me to audience list?
sjn has sent a schedule update to Oslo.pm 12:54
12:54 FROGGS joined, moritz_ joined
FROGGS wow, quiet full here 12:54
12:54 mxey joined
masak atroxaper: added. 12:56
FROGGS: full, but hardly quiet :P
atroxaper masak, thank you.
mxey According to the announcement, I am hereby proclaiming that I wanna participate. :) 12:57
moritz_ ... as the prophecy predicted.
masak mxey: neato! I added you to github.com/perl6/mu/wiki/perl6-wor...p-may-2013 :) 12:58
12:59 Cybelechild joined
masak T minus 3 hours. 13:00
13:05 b34bb_H joined
b34bb_H #masakismI would like to participate in this workshop 13:06
masak awesome. I added you to this list: github.com/perl6/mu/wiki/perl6-wor...p-may-2013 13:08
b34bb_H: we'll get going in a little less than three hours. 13:09
b34bb_H alright, thank you
13:15 census joined 13:21 LlamaRider joined
LlamaRider Hm, the log page at irclog.perlgeek.de/masakism/today seems unresponsive. Also, hi o/ 13:28
masak hi, LlamaRider.
yes, perlgeek is down :/
GlitchMr LlamaRider, known
Should I put the link to backup in topic?
masak might as well.
moderator gist.github.com/masak/5431185 -- logs at irclog.perlgeek.de/masakism/today (backup at olive.undo.it/perl6/masak0501.txt) -- everytimezone.com/#2013-5-1,240,6bj 13:29
masak GlitchMr++ 13:29
GlitchMr Those logs are more ugly than moritz's log, but considering his server is down... 13:30
It's better than nothing 13:31
masak T minus 2.5 hours. 13:32
GlitchMr Also, wow, the channels has lots of OPs ;-).
masak "ops". it's not an acronym.
GlitchMr Oh, right
masak but yes, it does :)
the rule is, you get to be op here if you're a regular at #perl6. 13:33
FROGGS uhh, I got op too *g*
GlitchMr I guess I cannot also call it "OP" because IRC doesn't have command called "OP". It's "MODE +o". 13:34
FROGGS so, my task is to kick random ppl? :P
GlitchMr ;-)
FROGGS so there are quasi a lot of mode+o's?
masak :P
masak .oO( aNotre Dumb joke ) 13:35
GlitchMr Then again, ChanServ actually calls it "OPs".
them*
masak yeah, but ChanServ is a bot, so what does it know? :) 13:36
GlitchMr OP Gives channel ops to a user.
Or perhaps it simply isn't consistent.
Uppercase COMMANDS look better than lowercase commands. 13:37
masak notice that "channel ops" is lowercase.
I think ChanServ uses a kind of poor-man's highlighting by uppercasing its commands. 13:38
GlitchMr I wonder what this workshop will be about ;-). 13:40
moderator gist.github.com/masak/5431185 -- logs at irclog.perlgeek.de/masakism/today (backup at olive.undo.it/perl6/masak0501.txt) -- everytimezone.com/#2013-5-1,240,6bj 13:41
Farow Don't the irc rfcs have the commands in upper case? 13:41
GlitchMr They do.
In fact, using lowercase commands breaks the spec.
Not like servers care.
T minus 2.25 hours 13:44
FROGGS \\o/ 13:45
masak \\o/ 13:46
GlitchMr Perhaps I could make a nicer log browser in 2 hours... 13:47
woolfy Could some op mark me as audience please. I will not understand much of it, but I sure will watch how this unique experience is going to unfold.
GlitchMr Sure 13:48
woolfy, done
woolfy GlitchMr thanks
masak woolfy: why do you say you will not understand most of it? :) 13:49
s/most/much/
GlitchMr That could be actually an interesting challenge. Make the logs appear nicer in the browser, within 2 hours. 13:50
woolfy masak, because I am a poor programmer, as in my programming skills are poor, I don't understand most of your code, etc
GlitchMr In style of moritz's logs.
woolfy therefore is lurker most of the time 13:51
masak woolfy: well, for these four hours, *any* desire to improve is by definition on topic. so feel free to join in at any point you want. 13:52
LlamaRider GlitchMr : Maybe find a JavaScript IRC syntax highlighter and ram it on top of that file? I'm considering doing that with Firefox+Greasemonkey but there wasn't that much backlog in the end. 13:57
GlitchMr I'm going to make a script for that anyway. 13:58
The current logs are simply symbolic links to files ZNC generates.
moritz_ GlitchMr: not a challenge. The code is all open source, you just an apache to run it 13:59
GlitchMr Would it work with ZNC? 14:01
moritz_ I don't even know what ZNC is
GlitchMr It's a bouncer
14:02 gati joined
GlitchMr Because I think that your script reads the logs in specific format. 14:02
masak gati: greetings.
gati hi everybody ;)
moritz_ GlitchMr: it assumes a mysql backend, yes
14:03 ajr joined
masak T minus 2 hours. 14:03
Guest5462: oh hai. 14:05
Guest5462 Hello, I was Guest66708
masak you Guests all look alike to me. 14:10
Guest5462: the downgrading from 'ajr' to 'Guest5462' happens when you try to take on a nickname that's held/registered by someone else. 14:13
14:14 espent joined
Guest5462 I used to use both ajr and guru, but when I try to, they won't authenticate. I don't know enough to trouble-shoot the issue, and at the moment my identity doesn't matter much anyway. 14:14
14:17 Jt___ joined
masak espent: Jt___: greetings. 14:18
Guest5462: oh, ok. it would help if you had a real nickname, but I find I don't care enough to force you to pick one. :)
Guest5462 Don't blame you. :-)* I'll try to lurk, mostly. 14:20
Jt___ Hi masaki I will just lurk ;)
lizmat T minus 100 minutes 14:22
98 actually
masak ;) 14:23
welcome, lurkers.
GlitchMr olive.undo.it/viewlog.php?channel=m...;time=0501 14:28
Lame, I know.
timotimo masaktime!
GlitchMr The interface could be better. But it's better than raw logs.
masak timotimo: not quite yet. it's T minus 90 minutes. :) 14:31
census i don't mean to be rude: but i can follow the log at olive.undo.it/viewlog.php?channel=masakism ?
GlitchMr Sure :-).
moritz_ it's a public website :-)
census ok good :) 14:32
masak census: you're not rude -- do you mean that you don't want to be with us here on the channel? :)
census no!
masak then it's defeintely not rude :)
census i'm having a repairman come over sometime between and now and the next 3 hours
so he'll probably have to shut my power off for a few moments
GlitchMr I just wanted to make something nicer than raw logs.
timotimo masak: it said in the url: "masakism&time", so i read "masaktime"
masak timotimo: oh! :)
GlitchMr PHP, because too lazy to use anything else. 14:33
masak census: I will have to disappear for ~30 minutes, too, to get food.
14:33 tadzik joined
GlitchMr Hi, tadzik 14:33
tadzik hi
is it The Time? :)
GlitchMr I would use Perl 6, but my server isn't good enough for that.
tadzik, not yet
1 hour and 30 minutes
tadzik 1.5 yet, iirc
right
felher GlitchMr: quite nice for quick hack, though :) 14:34
GlitchMr I still have to improve colors.
Currently I use lame hack of taking substr() of MD5.
FROGGS hmmm, good enough I'd say 14:35
GlitchMr Before I will put it into topic, I'll hide .php extension first. 14:36
PerlJam good $localtime all
FROGGS PerlJam: o/ 14:37
moderator gist.github.com/masak/5431185 -- logs at olive.undo.it/log?channel=masakism -- everytimezone.com/#2013-5-1,240,6bjAls,o 14:38
GlitchMr Now all I need to do is implementing links to go back and forward in the time. 14:40
PerlJam may have to miss most of The Event because of an AC unit installation (maybe) 14:41
Farow What's the asterisk before someone's name in the log? 14:53
GlitchMr /me
Should've probably made it cleaner, but whatever. 14:54
moritz_ demonstates an action, which is usually indicated with a leading asterisk
Farow I feel that his has been aswered before.
GlitchMr Perhaps I should put nick in message then, and leave nick empty, not sure 14:55
moritz_ GlitchMr: IME that's inefficient usage of space 14:56
GlitchMr Hmmm, indeed
/me is difficult to deal with 14:57
hmmm...
Farow Maybe convert it to italics?
moritz_ my logs display it with leading asterisk, and in italic
GlitchMr ok
I will do that
moritz, done 14:58
Perhaps I also should align nicks right 14:59
T minus 1 hour
moritz_ GlitchMr++
GlitchMr The logs are quick hack anyway. 15:00
I just want working logs, in case somebody will come here late.
moritz_ I hope to have mine up in a few days again
masak T minus 60 minutes. 15:01
GlitchMr masak, ;-) 15:02
PerlJam GlitchMr++ (I'd be thankful for the logs if I have to miss)
masak moritz_: sounds like at this point you know why your host is down...
15:03 trexy joined
GlitchMr Hi, trexy 15:03
trexy HI
this looks like the place for the workshop - looking forward to it 15:04
GlitchMr It will be soon. Very soon.
55 minutes.
Well, and few seconds.
PerlJam Is the countdown going to swith to 10 or 5 minute increments now? :) 15:05
trexy ok - will try and get my environment set up (need to install rakudo etc)
GlitchMr trexy, on Windows, we have installer. On Linux, compile from source.
(I wouldn't recommend using Rakudo in repositories, it's usually old - the only exception I know of is Arch Linux) 15:06
trexy ok - will be ubuntu linux here
GlitchMr Ubuntu? Compile then.
trexy yep - ok
GlitchMr You can even compile it to home directory, if you want to.
FROGGS launchpad.net/ubuntu/+source/rakudo
GlitchMr github.com/rakudo/star
Or that
FROGGS saucy salamander is up-to-date 15:07
if somebody uses that
GlitchMr I didn't even knew we have repository for Ubuntu.
15:07 temp12 joined
FROGGS ya, I'd like to create these packages for precise and oneiric... 15:07
GlitchMr Still, 2012.10 is rather old. Not that it's very old, but still.
FROGGS and quantal someday
GlitchMr It doesn't have few useful features, like syntax errors hints. 15:08
But it mostly works.
FROGGS ya, that is why I'd like to make up-to-date packages
but I'm lacking knowledge about deb-package-building
GlitchMr glitchmr@feather ~/rakudo-star/2012.10/bin> ./perl6 -e '[' 15:09
===SORRY!===
Unable to parse expression in array composer; couldn't find final ']' at line 2, near ""
15:09 Cybelechild joined
GlitchMr Newest Rakudo has better error messages. 15:09
lizmat is wondering whether it is the intention to use Rakudo Star, rather than the latest Rakudo? 15:10
GlitchMr Unless you use dev version of Ubuntu, I would recommend compiling.
FROGGS GlitchMr: I'm going to ask the guy who made the 2013.01 package, maybe he can give me a batch or so 15:11
masak lizmat: I don't think it much matters. we can handle both. just make sure to use a Rakudo from, say 2013. 15:13
lizmat has that :-)
masak T minus 45 minutes. 15:16
exciting!
Cybelechild It's hapening! 15:17
FROGGS it is more like a hypening!
masak hypes the thing some more 15:18
15:19 linuxer joined
tadzik \\o/ 15:21
GlitchMr Hi, linuxer 15:22
linuxer Hi
GlitchMr wow, so many people here
tadzik exactly 64 \\o/ 15:23
FROGGS *g*
GlitchMr 2 ** 6
:-)
masak 1000000 people!
FROGGS that makes a good dev channel
we have to kick 31 though if somebody leaves 15:24
:/
GlitchMr why?
15:24 TimToady joined
GlitchMr Hi, TimToady 15:24
FROGGS we can't be 63
GlitchMr Why not?
tadzik 111111 people is a good number too
GlitchMr Power of 2 minus 1 is also a magical number.
FROGGS hmmm, okay, if you say so
GlitchMr Remember that programmers start counting from 0. 15:25
FROGGS and what is power of two + TimToady?
I guess 'much'
tadzik that'd be power of three
moritz_ oh btw, do we want camelia in here? 15:26
FROGGS damn, only 34 minutes left to talk rubbish
no, but would be nice
GlitchMr Ć‚Ā»ĆƒĀ¶Ć‚Ā«
Here.
FROGGS *g* 15:27
tadzik I think we do want camelia in here
GlitchMr If you refer to IRC bot, yeah, I think so.
moritz_ hands GlitchMr the troll hat
GlitchMr I even have tried inviting it here, but it seems that it won't be so simple ;-).
15:28 camelia joined
GlitchMr perl6: say "I have to eval() first :-)." 15:28
hmmm, yeah
rn: say "eval..."
moritz_ the first eval always takes ages
I have no idea why
GlitchMr Strange
moritz_ $beverage-of-choice to whoever finds out why, and fixes it
camelia rakudo d2af40, niecza v24-37-gf9c8fc2: OUTPUT«I have to eval() first :-).â¤Â»
rakudo d2af40, niecza v24-37-gf9c8fc2: OUTPUT«eval...â¤Â» 15:29
lizmat was worried camelia was suffering from a dead parrot
GlitchMr camelia often visits #perl6, so it should have op, I think
tadzik it's probably too late for a bike ride now :)
lizmat T minus 30 mins 15:30
masak T minus 30 minutes.
tadzik yep
lizmat hehe
GlitchMr T minus 30 minutes
masak lizmat++ got first :)
FROGGS tadzik: a midnight bikeride can be cool to
tadzik sure
GlitchMr ok, we don't have much time to talk.
TimToady hopes masak broght his hickory stick to whack people over the knuckles with when they act like me
15:31 spider-mario joined
FROGGS TimToady: so you are going to act like..., like what? 15:31
GlitchMr Like TimToady, I guess. 15:32
TimToady like the wall under the fly on the wall, mostly
FROGGS .oO( maybe always saying: you can do it this way too, and that way, and this, but that's weird )
masak TimToady: I think we'll be happy to have you here ;)
TimToady we'll see about that 15:33
FROGGS wall under the fly.... took its time -.- 15:34
masak TimToady wants to be another wall in the brick in the wall in the education channel.
lizmat let he who is with clue throw the first brick ? 15:35
TimToady actually, as a Californian I'm terrified of bricks 15:36
15:36 SlimTim10 joined
lizmat I thought flying toasters is what scared Californians? 15:36
TimToady the fly even better after all the bricks collapse
*they 15:37
Mithaldu oh nice, better logs
TimToady
.oO(GILO)
15:38
masak SlimTim10: oh hai
GlitchMr Mithaldu, yeah, I've decided to make a script to parse my logs 15:39
Mithaldu cheers :)
GlitchMr T minus 20 minutes 15:41
SlimTim10 hi masak, I'd like to join the presentation 15:42
15:42 isBEKaml joined
masak SlimTim10: as a participant? cool. 15:42
SlimTim10 yep
GlitchMr We fill channel with ops, lol
Farow masak why do you manually give ops?
isBEKaml GlitchMr: yeah, too many ops. :)
GlitchMr We have more ops than non ops.
Farow, masak gives ops to people that are often on #perl6. 15:43
Mithaldu he has too many cookies
masak Farow: I guess I could delegate it to a bot, but I don't expect to be doing it after today :)
GlitchMr No idea why, but still ;-).
masak let's say we come under attack by griefers.
many ops => solve the problem quicker.
Farow Doesn't freenode offer chanserv?
tadzik too many ops on the dancefloor
GlitchMr It does
masak ...and I'm using it. 15:44
Farow So why not use it?
masak I am.
15:44 thundergnat joined, sohaeb joined
masak oh, you mean to automatically op people in some way? 15:44
Farow Yes.
masak I haven't learned how to do that.
will investigate when I have time ;)
Mithaldu they'd need to register anyhow
masak oh.
Farow Most are registered.
GlitchMr T minus 15 minutes
sohaeb sd
masak SlimTim10: added you to github.com/perl6/mu/wiki/perl6-wor...p-may-2013 15:45
T minus 15 minutes.
GlitchMr Coming soon: this 15:46
dmol masak: I am going to participate too! :))
masak dmol: added you :) 15:47
linuxer so, how many participants do you currently have?
GlitchMr linuxer, >>>
masak linuxer: github.com/perl6/mu/wiki/perl6-wor...p-may-2013
linuxer ah, i see
GlitchMr T minus 10 minutes. 15:50
It's soon.
masak indeed.
GlitchMr 10 minutes = 600 seconds
isBEKaml Those T minus guys are way too excited than a NASA launch! :P
lizmat I guess we're almost "We Are 'Go' for Exploration" 15:51
dmol I just have prepared a fresh project in jEdit and ready to rock! :P 15:52
15:52 jose__ joined
masak jose__: oh hai 15:53
tadzik jedi-it. Best editor ever :)
masak T minus SEVEN MINUTES.
jose__ hello
dmol tadzik: it does not supprots p6 yet :(
tadzik :(
masak crouches like a cat, ready to pounce! 15:54
tadzik well, do you need it to support it?
LlamaRider I wish there were more editors with Perl6 highlighting support... And I wish I don't get told I should implement it myself every time I say that out loud :D
sergot I'm back. :)
masak for those of you who want a sneak preview, six minutes before we begin: github.com/masak/workshop#topic-map
timotimo hehe
dmol tadzik: syntax hilight is always a plus. Especially on the 1st steps on learning new language :)
tadzik true, especially if a language is quite complex :) 15:55
moderator github.com/masak/workshop -- gist.github.com/masak/5431185 -- logs at olive.undo.it/log?channel=masakism 15:55
GlitchMr ok, now that I ran "ntp", I can count the final countdown. 15:55
masak T MINUS FIVE.
15:55 east joined
GlitchMr T minus four. 15:56
sergot 5 minutes. :)
oh
dmol masak: cool roadmap :)
masak sergot: that's so one minute ago!
dmol: glad you like it. :D
15:56 newguy joined
east greets fellow Perl people and bots! 15:56
GlitchMr Hi, east.
Hi, newguy.
moderator github.com/masak/workshop#topic-map -- gist.github.com/masak/5431185 -- logs at olive.undo.it/log?channel=masakism 15:56
newguy hello 15:56
15:56 suhaib joined
GlitchMr Nice, topic map :-). 15:56
masak T MINUS THREE. 15:57
GlitchMr I wasn't careful, lol
Hi, suhaib
felher really hopes he will be able to stay util the end :)
PerlJam is still expecting fire and smoke at T == 0 ;)
suhaib GlitchMr: Hey
PerlJam (or at least *some* kind of explosion )
GlitchMr T minus two 15:58
suhaib, workshop will begin soon.
masak PerlJam: or just quiet, eerie silence :D
Ayiko if people get shot to the moon, I hope it isn't in alphabetic order
GlitchMr So be prepared for it to begin.
suhaib GlitchMr: Looking forward for it :-)
GlitchMr T minus one minute 30 seconds.
masak Ayiko: *lol*
15:58 hege joined
masak hege: oh hai 15:58
Mithaldu jeeze, 74 people
GlitchMr T minus one 15:59
Mithaldu masak: imagine that in a workshop room :)
dmol 74 jedies!
hege Hi all
masak T MINUS 60 SECONDS.
GlitchMr I'm glad I enabled displaying seconds in my taskbar.
15:59 ynonperek joined
ynonperek hi all 15:59
masak ynonperek: yo.
GlitchMr I can know when something comes near
isBEKaml Ayiko: I'm somewhere in the middle, so I'll see you through first. :P
GlitchMr T MINUS 30 SECONDS.
masak \\o/
sergot \\o/
masak SO EXCITING
GlitchMr Everything prepared
10
9
8
sergot 10 left?
masak gee, I hope so.
GlitchMr 7
6
tadzik :)
GlitchMr 5
4
3
2
1
lizmat r: say "Hello Masakism"
camelia rakudo d2af40: OUTPUT«Hello Masakismâ¤Â» 16:00
GlitchMr Lift off!
PerlJam DING!
masak hi, I'm masak. I come from Sweden. I've been doing Perl 5 since about 2001, and Perl 6 since 2005. I love to talk Perl, teach Perl, and learn Perl.
timotimo FIREWORKS
felher \\o/
isBEKaml DING!
sjn \\o/
tadzik \\o/
masak could everyone here just give a short one-line presentation of themselves?
census hi masak! :)
dmol \\o/
masak like the one above?
it's nice to know who everyone is.
meanwhile, have a look at this nice subway map: github.com/masak/workshop#topic-map
masak likes subways! :D
Farow I'm Farow and I've been doing perl since around 2010.
GlitchMr Hi. I'm GlitchMr, Konrad Borowski. I come from Poland, and I'm 16 years old. Or something.
tadzik hi, I'm tadzik. I come from Poland, I've been doing Perl for about 5 years, Perl 6 for about 4. I mostly work on module management in Perl 6. If you'd like to help, poke me
sjn hi, I'm sjn from Oslo. I'm at the Oslo Perl Mongers meetup today, with a microbrew in one hand and a laptop in the oter 16:01
masak and then start reading over at github.com/masak/workshop/blob/master/intro.md
census hi i'm census. I come from the U.S. I've been doing Perl 5 since February. I have been using perl mainly to web scrape. I am an historian who is programming for my research and would love to improve my programming skills.
lizmat I'm liz mattijsen. Doing Perl (4/5) since 1994, Perl 6 off and on since 2001, more dedicated in the past few months
timotimo hi, i'm timo. i come from germany and I was doing mostly python when i discovered the fun that is perl6, which i really like, but have not successfully made anything big with so far.
masak oh, this is so awesome. :D
east codes perl since 2000 for fun and since 2008 for money, lives and works in Austria
mxey mxey here, from Germany. I have been doing Perl 5 on and off for some years now. I also do sysadmin stuff, Ruby and Objective C.
Cybelechild I'm cybelechild from Copenhagen and have been doing Hello World in Perl since yesterday
hoelzro I'm Rob Hoelz, doing Perl since 2005
isBEKaml I'm isBEKaml from India, been doing nothing so far. :P
dmol I'm dmol from Belarus, experienced java -developer (since 2003) . I'm feed up with java, and going to perl since 2013 :).
sergot Hi, I'm sergot. I come from Poland. I've been doing Perl 5 for about 4 years, Perl 6 for 1-2 yrs.
rzm Hi, I'm rzm from Greece using Perl 5 for a couple of years.
16:01 japhb_ joined
ynonperek hi, I'm Ynon. I come from Israel. I also teach perl and web applications development 16:01
Mithaldu i've been doing Perl since 2005 in germany and love to do it on windows :)
wesjdj Hi, I'm Wes. Live near London, been to a few YAPCs and Hackathons, and I hate VB
tadzik Cybelechild: how is it progressing? :)
jose__ Hi, I'm from Slovakia, have been using Perl 5 for about 3 years, mainly for system administration and text processing.
mohij perl sort of newbie from Germany. Lots of interest in p6...
ynonperek (check out my perl stuff on ynonperek.com) 16:02
PerlJam wow. :)
LlamaRider hi, I'm LlamaRider, Deyan Ginev. I'm a PhD student in CS from Bulgaria, currently doing cool things at NIST in the US. Doing Perl5 since 2008, Perl6 on-and-off since 2011.
Cybelechild tadzik, good I guess...
TimToady My name is Larry W. and I am a Perlaholic.
isBEKaml wow, this is a FIREHOSE! :D
b34bb_H I'm b34bb_H, I come from germany, I have been experimentig with perl since... I don't know, 2009 maybe?
Ayiko I'm Ayiko, live in Belgium, java programmer, I like perl6 a lot more than Java though
linuxer hi, I'm linuxer. I am from Germany. I've been doing Perl 5 since beginning of 2000 and no Perl 6. I use Perl 5 for private and administration tasks.
16:02 geekosaur joined
sivoais I'm sivoais. I'm in Houston, Texas (US) and I've been using Perl 5 since 2008 and I've been dabbling in Perl 6 on the side. 16:02
felher is a CS student from germany, has just finished his bachelor and is now well on his way to master. I'm doing Perl6 for quite a while now, but know quite a few other languages too
sergot masak: your subway map is bigger than the one in Warsaw...
grondilu I'm grondilu, been learning perl as hobby for a few years
suhaib so many Germany users here :-S
masak sergot: yes, I know :) 16:03
GlitchMr The subway in Warsaw is really small.
nvb is doing perl since 2002 in vienna, austria
PerlJam Scott Duff, perl user since 1992 when pmichaud introduced me to Perl 4. Perl 5 user since 1996 or so and a Perl 6 user since "the beginning" :-) Perl is my favorite language and community. :)
cognominal I am Stéphane Payrard, a french mongueur (sic), working on a DSL to generate ASTs for nqp
PerlJam is also known as "duff" or "perlpilot" depending on the forum 16:04
spider-mario I study math in France (at the INSA de Rouen), I’ve been using Perl for only one or two years, beginning with Perl6 and then finding out Perl 5 had much of what I liked in Perl6
japhb_ Geoff Broadwell, Perl user (and often evangelist) since Perl 4 and Rakudo developer
spider-mario (so, somehow, Perl6 brought me to Perl 5)
sergot went to get something to eat
masak ok, I'm now going to randomly pick two exercises out of a hat^W^WRakudo. the first one to hand in *anything* on those two exercises wins an amazon book of their choice, worth about 20 EUR.
done.
TimToady is also known as "What idiot thought that was a good idea?"
geekosaur is Brandon Allbery, perl since 1989 (perl 3.0.0) 16:05
masak I won't tell which exercises are thus booby-trapped, that's for you to discover :)
I also plan to collect everyone's code in a gist somewhere.
GlitchMr Sounds interesting.
16:05 rogerovo joined
GlitchMr I'm going to prepare my text editor. 16:05
labster I'm Brent Laabs, a Californian. I've been using Perl off and on since 2000, but spent the last few years getting more into the language. I've just written a few modules in Perl 6
masak if you "hand in" code, feel free to do so through gist.github.com -- it's a nice way to send code across IRC.
hege hi I am hege from Budapest, Hungary. I am working as telecommunication software engineer. I haven't used perl too much in the last Hew years but I'm a huge fan of Perl5 and perl6.
masak and then I can link to it.
TimToady does the code have to work? 16:06
GlitchMr By PM?
masak TimToady: no.
mohij say "Hello world!";
masak GlitchMr: by PM or publicly on the channel, depending on how shy you are.
GlitchMr ok
PerlJam mohij wins!
mohij seems like a wrong solution to about any problem but might fit...
cognominal [18:02] <TimToady> My name is Larry W. and I am a Perlaholic. ==> :) masakism, is not a 12 steps progra, it is hardly the place to cure your addiction
GlitchMr say "Hello, world!"
I won without semicolon.
masak I will announce the winners of the booby-trapped exercises as soon as they trigger.
tadzik hm 16:07
16:07 blkcat joined
tadzik r: say (^1, *+*, ... *)[^20] 16:07
camelia rakudo d2af40: OUTPUT«[31m===[0mSORRY![31m===[0mâ¤Comma found before apparent series operator; please remove comma (or put parens\\n around the ... listop, or use 'fail' instead of ...)â¤at /tmp/GxX71t2tBE:1â¤------> [32msay (^1, *+*,[33mĆ¢[31m ... *)[^20][0mâ¤Â»
tadzik r: say (^1, *+* ... *)[^20]
camelia rakudo d2af40: OUTPUT«get_attr_str() not implemented in class 'Coroutine'â¤current instr.: 'print_exception' pc 111625 (src/gen/CORE.setting.pir:50165) (src/gen/CORE.setting:9744)â¤called from Sub '' pc 168 ((file unknown):93) (/tmp/50dA2lTina:1)â¤called from Sub '' pc 138975 (src/gen/CORE…
masak tadzik: please submit rakudobug.
tadzik when did that break /o\\
tadzik submits rakudobug
masak oh, and I've prepared a lot of material for today. I hope it's enough. 16:08
ggoebel o/
16:08 benabik joined
tadzik r: say (1, 1, *+* ... *)[^20] 16:08
camelia rakudo d2af40: OUTPUT«1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765â¤Â»
PerlJam masak: plans are often useless, but planning is essential. No plan survives contact with the enemy. Et cetera. :-)
masak I know it sure isn't perfect. I've tended to do Perl 5/Perl 6 in the expositions and Perl 5 in the exercises. but you're free to implement in whatever language.
PerlJam: yes.
isBEKaml tadzik: don't you need a step there? something like a stepping integer? 16:09
masak this workshop is *meant* to take place mostly outside of my prepared material. so consider it a spine around which we can collaborate on the workshop itself ;)
mxey JAPH as the first step? And here I was preparing for writing readable code ;-)
tadzik r: say (^2, *+* ... *)[^20]
camelia rakudo d2af40: OUTPUT«0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181â¤Â»
tadzik there :)
isBEKaml tadzik: [1,3 .. 100] # something
tadzik isBEKaml: ^2 is (0,1)
pmichaud I'm Patrick Michaud; I've been using Perl since 1992. Good {localtime} everyone.
tadzik hello pmichaud
sergot o/ 16:10
GlitchMr r: say "Hi, {prompt "Who are you?"}"
camelia rakudo d2af40: OUTPUT«Who are you?Hi, Land der Berge, Land am Strome,â¤Â»
isBEKaml tadzik: yeah, but you did '1, *+*' which I believe doesn't quite work that way.
masak oh, and around 17:30Z I plan to sneak away for some food. I won't be gone for more than 30 minutes, I think.
16:10 Ox6abe joined
grondilu will need to eat as well at some point 16:11
census right now, the time in Z is?
masak and we've set the limit to 4 hours, but as far as I'm concerned, you kids are free to party all night :)
tadzik isBEKaml: yeah, ^1 was wrong
masak census: 16:11.
census thanks :)
masak census: 11 minutes after the workshop began :P
trexy I'm NIgel Hamilton - start up entrepreneur who got into Perl because "it just worked" 17+ years and has stayed since - avid #perl6 log lurker and general fan of Perl6
Guest5462 Canada Programming since 1967, Perl since 1996 because I enjoyed the Pink Camel so much, taught P5, followed 6 until I was terminally confused
newguy I'm a undergrad from south europe trying to get into perl. Having done very, very few perl programming, I strongly believe this isn't for me, but I will read and learn from seeing good examples and solutions. 16:12
masak trexy: Nigel! nice to see you!
PerlJam Guest5462: confusion is the natural human state :)
16:12 benabik_ joined
Guest5462 The key to programming is not confusing yourself more than necessary 16:13
Ox6abe I have never used perl before. My friend sivoais has asked me to come!
PerlJam like anything else, you're working against the arrow of entropy
Ox6abe Only ruby
spider-mario I’ve found that learning Lojban seems to help, somehow
GlitchMr So much happens.
PerlJam Ox6abe: welcome! Ruby "feels" a lot like Perl to me even though the syntax is very different 16:14
16:14 apv joined
PerlJam Ox6abe: I don't know if that feeling works the other way for Ruby people though 16:14
GlitchMr Ruby actually took lots of Perl syntax.
Ox6abe PerlJam: I'm excited then. Thanks PerlJam
isBEKaml Guest5462: I'd say the key to programming is unravelling confusion when it presents itself. :)
masak Ox6abe: welcome.
spider-mario ruby doesn’t have `my`, though
thus, scoping doesn’t work the same way
tadzik #117825 -- first bug of today's #masakism
GlitchMr Yeah. I really miss "my" in other programming languages.
geekosaur (and then jettisoned most of it by declaring it bad form)
masak isBEKaml: science is a process which turns confusion into structured questions, and questions into data :) 16:15
GlitchMr "my" allows you to find bugs before you will even run the programs.
program*
tadzik r: say "
camelia rakudo d2af40: OUTPUT«[31m===[0mSORRY![31m===[0mâ¤Unable to parse expression in double quotes; couldn't find final '"'â¤at /tmp/EmO6tZ7S6Q:1â¤------> [32msay "[33mĆ¢[31m<EOL>[0m⤠expecting any of:⤠argument list⤠prefix or term⤠prefix or meta-prefix⤠…
tadzik r: say "Just another Perl hacker,"
camelia rakudo d2af40: OUTPUT«Just another Perl hacker,â¤Â»
isBEKaml masak: exactly, that's what I meant by "unravelling confusion"
GlitchMr www.ruby-lang.org/en/documentation/...from-perl/
hoelzro so...are the exercises up yet? I realize this may be a stupid question, but I didn't see a link to them, and I'd rather not be left behind =)
tadzik I can now move to the 3rd subawy station :)
hoelzro: I think the point is to guess them :)
masak tadzik: I think you're in the lead ;)
hoelzro guess from where, though?
timotimo github.com/masak/workshop this list 16:16
isBEKaml r: say "JAPH",
camelia rakudo d2af40: OUTPUT«[31m===[0mSORRY![31m===[0mâ¤Two terms in a rowâ¤at /tmp/vG2JDt9e4v:1â¤------> [32msay "JAPH",[33mĆ¢[31m<EOL>[0m⤠expecting any of:⤠postfix⤠infix stopper⤠infix or meta-infixâ¤Â»
hoelzro the mds on the workshop GH
masak tadzik: now I'm all fascinated, following you around on the map.
hoelzro ah ha
tadzik :)
TimToady well, the first point on the grapsh did say JAPH
16:16 wesjdj_ joined, wesjdj_ left, wesjdj_ joined
GlitchMr r: say "JAPH," 16:16
camelia rakudo d2af40: OUTPUT«JAPH,â¤Â»
isBEKaml r: say "JAPH,"
camelia rakudo d2af40: OUTPUT«JAPH,â¤Â»
GlitchMr r: use Test; ok 42, "Done";
camelia rakudo d2af40: OUTPUT«ok 1 - Doneâ¤Â»
masak isBEKaml: feel free to submit the error you found as LTA.
if people want to announce where they are (in order to get help with something, or discuss something), the appropriate format is "I'm at JAPH". 16:17
census wait i'm confused 16:18
what are we doing?
LlamaRider r: my @cheesy = 74, 117, 115, 116, 32, 97, 110, 111, 116, 104, 101, 114, 32, 80, 101, 114, 108, 32, 104, 97, 99, 107, 101, 114; say @cheesy>>.chr.join(''); 16:19
camelia rakudo d2af40: OUTPUT«Just another Perl hackerâ¤Â»
grondilu r: say "Just an Other Perl hacker"
camelia rakudo d2af40: OUTPUT«Just an Other Perl hackerâ¤Â»
sjn census: github.com/masak/workshop#topic-map
sergot masak: census asked a good question. :) 16:20
sjn census: start at the left, find the document above, read it, and if there's something to do there, do it :)
16:20 diakopter joined
masak sergot: so, there's this repository: github.com/masak/workshop 16:20
census do i do it on my own? or do i post my script somewhere?
masak sergot: you can find things to do there. the map is supposed to guide you through it. 16:21
census (I'm looking at japh)
sergot so, just start from intro.md?
masak census: if you post your script somewhere, like on gist.github.com, we can all talk about it, which is nice.
sergot: yeah.
timotimo oh, so we're not supposed to start at any exercise
sergot masak: thanks!
tadzik my roman numbers in Perl 6: gist.github.com/tadzik/5496321
masak timotimo: you can do that. but there's an implicit order.
isBEKaml masak: No, please do - I don't have an email window open (slow connection here)
tadzik (up to 91, and probably even 99!)
masak tadzik: you just won a book. 16:22
tadzik \\o/
masak ok, people! tadzik claimed the first book!
tadzik /o\\
masak there's still a booby-trapped exercise somewhere in there.
tadzik masak: thank you :)
Ayiko sub to_roman($n) { 'III'; } # this passes all given tests!
masak Ayiko: it does :)
Ayiko: good work!
timotimo i started almost all the way to the right m) at GRAPH
masak (I only collect gists and similar things. not things on channel) 16:23
timotimo: heh :)
Ayiko no need to collect that sub, if needed I'll recreate it
timotimo i feel like that png could have had a bigger size or maybe a vector version of it instead
Mithaldu timotimo: ctrl + mouse wheel
or + if you're on an amiga 16:24
masak timotimo: there is a vector version, in the svg/ directory
timotimo oh, neat
masak :D
isBEKaml Mithaldu: this is the first time I see amiga mentioned on IRC. :)
masak things that people have sent so far: gist.github.com/masak/5496294
timotimo github won't give it to me as an actual image file, though
masak timotimo: try "Raw".
tadzik newcomers: who wants to publish their first Perl 6 module? 16:25
masak oh, that shows the SVG text :/
Mithaldu isBEKaml: www.youtube.com/watch?v=8fJku_Q8ESE
tadzik I can guide you through that, we can submit the roman thing to our Perl6 CPAN-thing,
which is feather.perl6.nl/~sergot/modules/
sjn masak: second link on the page you just linked is bad
spider-mario r: my $n = 2804985923338703271682399481743033703427656749129565173066; say join '', gather until $n == 0 {take chr $n % 256; $n div= 256;} 16:26
camelia rakudo d2af40: OUTPUT«Just another Perl hackerâ¤Â»
masak spider-mario++
tadzik who
spider-mario++
that's cool :)
labster r: print $("reHTona tsuj".flip.tclc, Mu.^methods.grep(/p.**2l$/).tclc, "hacker\\n");
camelia rakudo d2af40: OUTPUT«Just another Perl hackerâ¤Â» 16:27
sjn spider-mario++
masak sjn: ok, removing link.
census so, some of the stops on the subway path are things to code and others are things to read and think about?
16:27 gtodd joined
census (i just did japh and now am on test) 16:27
labster I got lazy on the last part, since I wanted to get on to the next tasks, but the gist is here, (with a "use v6;") gist.github.com/labster/5496330 16:28
16:28 Foxboron joined
masak sjn: found it, my bad. it works now. 16:28
tadzik nobody wants fame and glory in the perl 6 ecosystem? Too bad :)
census labster: is that for real? 16:29
tadzik: i do :)
diakopter masak: is this being logged so latecomers like me can catch up?
census but i'm afraid i don't have the system requirements or something
tadzik census: want to publish a Perl 6 module?
do you have rakudo installed?
census i dunno. i'm bad at perl
i don't think i have rakudo. never heard of it
tadzik doesn't matter
my plan is that we can release the code for roman numerals as a modul
masak diakopter: see /topic 16:30
census labster: is that a joke your code? does it really output that message? or are those random characters?
tadzik we don't have a roman module yet
16:30 Algo joined
masak Algo: oh hai 16:30
census tadzik: oh cool!
labster census: scroll up, I already ran it through camelia :)
tadzik census: want to try that?
Guest55444 Hi!
tadzik you will need rakudo for it though
masak census: yes, it's a joke. that's how JAPH jokes work :)
census tadzik: maybe yes, but i don;t know rakudo. i guess it is ok then
masak census: that is, people come up with fun ways to print that string. 16:31
trexy \\o masak
tadzik census: what OS are you running?
census masak: are some of othe stops on the subway just things to read (i.e. no script to right)?
trexy got a question on "is" in test
census tadzik: windows xp 32-bit
spider-mario oh, silly me
tadzik census: there should be a windows installer, hold on
spider-mario I could have used [~] instead of join ''
masak census: lowercase is "just things to read". uppercase is exercises.
census oh ok, thanks :)
tadzik census: rakudo.org/downloads/star/rakudo-st...013.02.msi looks like something for you 16:32
trexy where "is" is? - is it "Cool" - a keyword? how is it hooked in?
tadzik ping me when you have perl6 running on your system, then we'll proceed :)
GlitchMr I'm confused, why following code refuses to work
r: gist.github.com/GlitchMr/5496390
camelia rakudo d2af40: OUTPUT«Usage:⤠/tmp/ZhadazBHrR <value> â¤Â»
masak if I miss someone's gist with a solution, please just ping me again. I'm currently bending under the onslaught of privmsgs :)
GlitchMr r: gist.github.com/GlitchMr/5496390
camelia rakudo d2af40: OUTPUT«XLIIâ¤Â»
GlitchMr huh?
So, it works here, but not on my PC
labster census: the first part is the characters are reversed, so I do flip, and then .tclc to correct the capitalization. And the second part is introspecting the Mu object, and finding its .perl method, and printing the name of the method.
tadzik old rakudo?
GlitchMr Possibly 16:33
glitchmr@pineapple ~/c/snippets> perl6 --version
This is perl6 version 2013.02.1 built on parrot 5.3.0 revision 0
tadzik sounds ok
census labster: wow, impressive! i was hoping to learn some p6, but that intimidated me. hahaha but now i feel less cared
GlitchMr I get
glitchmr@pineapple ~/c/snippets> perl6 something.p6 10
Attempt to return outside of any Routine
in block at src/gen/CORE.setting:489
in block at something.p6:12
I'm in subroutine... I've a feeling that for {} had fun with me. 16:34
masak census: this is exactly how it's supposed to happen. first we scare people, then we explain stuff to them :P
GlitchMr masak, gist.github.com/GlitchMr/5496390
Roman
labster census: The easy way to do it is, of course, "say 'Just another Perl hacker';" but that's no fun.
gtodd labster: I like it :-)
16:34 vti joined
labster thanks gtodd 16:34
16:35 rblackwe_ joined
masak GlitchMr: already added you :) 16:35
I now have 5 JAPH and 3 ROMAN: gist.github.com/masak/5496294
16:35 aldumil joined
tadzik I have never written a fancy japh. Hrm 16:36
masak vti, rblackwe_, aldumil: welcome.
tadzik: maybe today is the day you will :D
tadzik masak: sure :) It's a good day so far 16:37
gtodd masak: why isn't there animated flashing lights for each of the participants that shows where they are on each of the topic nodes
tadzik gtodd: well volunteered :)
PerlJam masak: in abstraction.md you talk about "brids" chirping ... we need a spell-check module :)
gtodd masak: people would see the race and betting could occur
census masak: I don't understand the test.md fully. I think i follow the code. but I did not see where the actual "test" was that printed out the "ok"
gtodd doh!
labster Yeah, this IRC chat needs more special effects!
masak gtodd: because this is 2013, not 2023 :)
gtodd masak: :)
trexy ah ok - just learnt from grondilu's roman answer - use Test - to get to "is"
census tadzik: ok, i have it downloaded
masak census: the 'is' prints the 'ok'. 16:38
ynonperek is this a legit solution for Roman ?
use Roman; *to_roman = \\&roman;
spider-mario PLAYLIST reminds me of a program I’ve written which computes the total time of all sound files in a given directory
paste.awesom.eu/bv7
gtodd meant betting using bitcoin and just for fun ... disclaims all damages etc etc
tadzik census: does it work? if you open cmd.exe, type 'perl6'?
masak ynonperek: yes, of course it is. you lazy person! :P
ynonperek masak cool next :)
tadzik :D
masak :P
grondilu isn't there a sentence missing at the beginning of github.com/masak/workshop/blob/mas...-weight.md ? 16:39
gtodd masak: seriously ... this is fantastic even without the lights ;)
tadzik oooh, an idea. Japh constructed from caught rakudo exceptions and parts of their error messages
geekosaur notes that he's just auditing this course; no guarantee of being able to participate properly because things just love to come up...
census tadzik: it did not work. but that is ok, i just lookd at roman. i realize it is not a hard program, but i think i will struggle enough with it in p5 16:40
ggoebel geekosaur: I'm same position... putting out fires are work atm
tadzik "hacker" may be hard to find though
census although i could do it in stata :)
maybe i could do it in p5 no problem :)
tadzik census: okay, have fun :)
16:41 apv joined
census tadzik: sorry i'm being wishy washy. maybe i would like to try 16:41
i typed perl 6
tadzik census: no worries :)
census the output i got was: SORRY! Undeclared routine: perl used at line 1
masak geekosaur, ggoebel: ok, adding you both to "audience".
tadzik that sounds about correct :)
r: perl 6
camelia rakudo d2af40: OUTPUT«[31m===[0mSORRY![31m===[0mâ¤Undeclared routine:⤠perl used at line 1â¤â¤Â»
tadzik you have a working Perl 6, congratulations :) 16:42
census yay!
so do i write a script just like i would in perl5, excpet write use p6; up top ?
isBEKaml census: use v6, yes
gtodd wow "Tell, Don't Ask" sounds cool 16:43
census masak: how do i submit the code to you? 16:44
masak census: put it on gist.github.com and send me the link.
gtodd so Tell, Don't Ask is a task or ....
mxey masak: A clickable subway map would have been handy, I repeatedly click on the image although I already noticed that does not work :D 16:45
16:46 swalif joined
timotimo make a web app, put it up on heroku! :) 16:46
masak mxey: patches welcome! 16:47
labster I'd be done with roman, but apparently I've broken panda on my rakudo branch. :/
mxey masak: I wonder what the difference is between the green and orange track, they sound vaguely the same
masak if someone makes a clickable subway map somewhere, I promise to link to it in /topic ! :)
census masak: gist.github.com/census1/5496501
masak mxey: green is the simplest one, I think. 16:48
census i dont know git well
masak mxey: I think of the orange one as the "API" one.
census like that?
masak census: yes :)
census: nice!
census (sorry i am slow. i'm bad with computers. trying to keep up)
masak census++
census: no need to apologise.
gtodd masak: tell-vs.-ask is on the map/image but the task is ... ? 16:49
masak: what about just adding link info to the svg?
census tadzik: how would writing the script in p6 differ from p5? should i try it in p5 first? 16:50
TimToady Gah, writing a screenscraper for rosettacode.org/wiki/Roman_numerals...ode#Perl_6 is hard!
masak TimToady: :P
TimToady: taking the easy route, I see. :P
ok, timotimo++ just triggered the second booby-trap, apparently almost by mistake! 16:51
(it was on GRAPH) gist.github.com/masak/5496294
tadzik census: it's going to be different in PErl 6 and Perl 5, those are different languages, yes 16:52
census: doesn't matter what you try first, really :)
benabik booby-trap?
tadzik so, I did the Promise exercise, translating tests to Perl 6. It seems to work: 16:53
mxey Funny that test-2 mentions testing in isolation. I just recently decided to go the other way and write tests more like integration tests that work with mostly real objects
tadzik r: gist.github.com/tadzik/5496546
camelia rakudo d2af40: OUTPUT«ok 1 - Hasn't been fulfilled yetâ¤ok 2 - Correct stateâ¤ok 3 - Code has been runâ¤ok 4 - Already correct stateâ¤ok 5 - Code ran immediatelyâ¤ok 6 - Hasn't been rejected yetâ¤ok 7 - Correct stateâ¤ok 8 - Fulfill code didn't runâ¤ok 9 - Reject code has been runâ¤1..9â¤Â»â€¦
census tadzik: sorry! i don't mean to be such a pain. i hardly know p5, so i did not know if i could write p5 and just do some new syntax to get it to p6? i don't want to troulbe you if this is too much
tadzik census: oh, but you're not a pain! I love helping people
census: both languages are quite complex and have their quirks. I'd recommend to not try to learn both at the same time
masak benabik: I had randomly booby-trapped two exercises with Amazon book prizes.
benabik: those are now both found, far too early in the workshop :P 16:54
sivoais masak: gist.github.com/zmughal/5496547
masak looks
tadzik masak: oh, what was the other one?
sivoais :-)
16:54 spuelrich joined
sjn hey, I'm at ROMAN; how do I make my ROMAN.t's call to to_roman() in ROMAN.pm work? Looks like I need to explicitly export that sub somehow... 16:54
masak tadzik: GRAPH, see gist
tadzik cool
masak sjn: Perl 6? yes.
sjn masak: yes
masak sjn: 'sub roman($n) is export'
tadzik wow, that's pretty big
masak sivoais++ # nice! 16:55
16:55 FreezerBurn joined
tadzik sivoais: hehehe, that's neat :) 16:55
masak FreezerBurn, spuelrich: greetings.
FreezerBurn Oi mates 16:56
tadzik hello
masak: did you see my Promises?
masak tadzik: just added it to the gist. looking at your code now :)
tadzik :)
masak feel free to highlight me when you do code submissions :) 16:57
tadzik I started reading the description first, and then I just made it pass tests :)
masak my brain is melting, but I love you all :>
tadzik this is amazing
masak glad you like it too :)
sergot ech.. make install with parrot doesn't work... "Can't write-open packfile-c.pod: access denied at /usr/lib64/perl5/5.12.4/Pod/Perldoc.pm line 1597"
I'm root. What can I do?
tadzik huh
masak sergot: please ask #parrot for help.
sergot masak: :( 16:58
FreezerBurn Is this the study group for "Learn python the hard way"
masak I'm sorry, Parrot build errors are outside the scope of this workshop...
grondilu I'm at GOLF. I get a "variables will not stay shared" error: paste.siduction.org/20130501165805
masak FreezerBurn: heh, cute.
masak hugs FreezerBurn ;)
FreezerBurn :D
tadzik FreezerBurn: similar, but not python, and no "now type print('a') 40 times until you remember" ;)
masak grondilu: looking.
grondilu (in diagonal_clash)
sergot masak: I know, but I thought it is something easy :) 16:59
masak grondilu: I know what it is.
census by the way masak this is incredible
masak \\o/
census so well organized and the subway map rocks
masak grondilu: it's the nested sub.
grondilu I thought it would work
16:59 pmthium joined
masak grondilu: in Perl 6, it works without a hitch. 16:59
grondilu: in Perl 5, you need 5.16 or something to get 'my sub', then it works.
grondilu ok 17:00
mxey Lexical subs are coming with 5.18, AFAIR
FreezerBurn Hmm time for lunch
masak mxey: oh! even that :/
FreezerBurn what to eat
isBEKaml how do I set an enum like thing in p6?
TimToady subs, obviously
mxey You can just use an anonymous sub in a lexical variable, ofc 17:01
masak FreezerBurn: are you going to participate, or just contribute noise?
mxey: oh, there we go. hear that, grondilu?
isBEKaml enum foo { A, B, C , D} ??
tadzik isBEKaml: see gist.github.com/tadzik/5496546
masak isBEKaml: I wouldn't use {} there.
grondilu masak: can I golf it in Perl 6 ? 17:02
masak grondilu: by the way, that code looks smaller, but it can be made *much* smaller still :>
grondilu: oh, sure!
you're meant to choose whichever.
TimToady r: enum Meta <Foo Bar Baz>; say +Baz
camelia rakudo d2af40: OUTPUT«2â¤Â»
isBEKaml tadzik: heh, that *was* the exercise I asked enums for! :)
tadzik isBEKaml: haha :)
isBEKaml: hope I didn't spoil it for you :P
isBEKaml tadzik: now I'm not going to read your solution. :) 17:03
tadzik I think I now understand how promises work. Learned them the hard way :)
please don't. But show me yours later so we can compare them
masak tadzik: your solution looks good as is, but you've missed one thing.
tadzik masak: the .new() dying?
masak tadzik: you're supposed to be able to store up 0 or more fulfilled/rejected callbaks.
tadzik: like a queue for each.
tadzik oh 17:04
I'll write more tests and fix it, thanks :)
masak tadzik: that may not have been clear from the instructions. certainly not from the tests :)
tadzik: feel free to patch PROMISE.md too :) I'll give you access :)
tadzik: added.
labster Finished ROMAN: gist.github.com/labster/5496619 I wrote Lingua::Number for Perl 6, so I was definitely going to use the solution I already wrote :) 17:05
masak :P 17:06
masak looks
LlamaRider haha labster++ nice :D
masak short and sweet. labster++
"The best code is no code at all."
timotimo some may consider this cheating, but that's the kind of cheat you should be allowed to do in "real life" 17:07
masak yes, exactly.
in the Perl 5 world, they call this kind of cheating "CPAN" :)
labster And that's the first place you should look if you have a problem. (or modules.perl6.org if you're using Perl 6) 17:08
tadzik masak: gist updated, with tests :) Will patch PROMISE.md too
masak tadzik++
sergot Hm, how does diamond operator work in p6? 17:10
17:10 temp14 joined 17:11 gtodd joined
timotimo no, you call lines() instead 17:11
masak sergot: $*IN.get or just get
heh. :)
sergot thanks!
masak both are correct.
depending if you want one line or all of them.
gtodd masak: working on an svg map :-) 17:12
masak \\o/
tadzik masak: PROMISE.md updated 17:13
I'll write a Perl 5 version to verify if I translated the tests correctly :)
labster r: say <green orange light-blue>.pick; #which route should I take 17:14
camelia rakudo d2af40: OUTPUT«orangeâ¤Â»
census masak: i hope you won't be offended but i'll need some breaks. there is only so much perl learning i can handle in once. and i don't want to feel like i'm slowing anything down. i will definitely finish. (i am like sports. sports teaches about finish what you start! hahah)
masak tadzik++
GlitchMr masak, I've problems golfing your code
I've golfed it to
sub a{my%s;grep$s{$_}++,@_}sub t{(my$n=shift)>8&&return print"[@_]\\n";for(1..8)
{@b=(@_,$_);next if a@b or grep{$l=$_;$x=0;a map$l*++$x+$_,@b}1,-1;t($n+1,@b)}$"=","}t 1
But I have no idea what I could do next.
masak census: no need to ask forgiveness. take breaks, by all means.
census: this workshop will officially happen for another 3 hours and 45 minutes. 17:15
isBEKaml r: enum FOO<A B C>; say FOO<A>;
camelia rakudo d2af40: OUTPUT«(Any)â¤Â»
masak GlitchMr: that looks pretty short already :)
GlitchMr But it isn't 2 lines with 80 characters.
masak nope :)
isBEKaml r: enum FOO<A B C>; say FOO.A;
camelia rakudo d2af40: OUTPUT«No such method 'A' for invocant of type 'FOO'⤠in block at /tmp/_HD_3Ey9AE:1â¤â¤Â»
GlitchMr I went beyond limit with 9 characters.
isBEKaml r: enum FOO<A B C>; say A; 17:16
camelia rakudo d2af40: OUTPUT«Aâ¤Â»
isBEKaml r: enum FOO<A B C>; enum BAR<A B C>; say A;
camelia rakudo d2af40: OUTPUT«Aâ¤Â»
isBEKaml how does p6 distinguish between the two?
r: enum FOO<A B C>; enum BAR<A B C>; say BAR#A;
GlitchMr r: enum FOO<A B C>; enum BAR<A B C>; say A.perl;
camelia rakudo d2af40: OUTPUT«(BAR)â¤Â»
rakudo d2af40: OUTPUT«BAR::Aâ¤Â»
17:16 Ankorath joined
GlitchMr # is for comments. 17:17
It uses "A" from later declaration.
But I think it should make a warning.
About redeclaration of symbol A.
isBEKaml GlitchMr: yeah, I kinda got my wires crossed. :)
pmichaud GlitchMr: I think the warning should be about ambiguous use of A 17:18
isBEKaml I don't think there should be a warning per se, but that there should be some discriminator.
GlitchMr glitchmr@pineapple ~/c/snippets> perl6 -e 'my $a; my $a'
Potential difficulties:
Redeclaration of symbol $a
masak isBEKaml: it's supposed to "poison" A if it's imported from two places.
GlitchMr Well, we already do have warnings for stuff like that.
pmichaud r: enum FOO<A B C>; enum BAR<A B C>; say FOO::A.perl, BAR::A.perl 17:19
camelia rakudo d2af40: OUTPUT«FOO::ABAR::Aâ¤Â»
isBEKaml masak: well, I was thinking of taking A from FOO when I tell it so, even if it's there in BAR.
pmichaud ^^^ discriminator
isBEKaml pmichaud: thanks!
masak isBEKaml: what pmichaud eval'd :)
pmichaud++
GlitchMr Unless, I have idea how to golf it further.
17:21 mjgardner joined
masak GlitchMr: leave it like that for now? good work so far :) 17:21
GlitchMr: if you put it in a gist and link me, I'll add it to the growing list of solutions.
GlitchMr Golfed that to 47 characters.
mjgardner Sorry I'm late, work silliness.
GlitchMr use LWP::Simple;eval get"git.io/OLFbAA"
sivoais masak: ROMAN <gist.github.com/zmughal/5496721> 17:22
GlitchMr As for gist, gist.github.com/GlitchMr/5496713
masak looks at both
17:22 Ox6abe joined
sergot masak: can onliners have ; in? I mean : "my $s; ... for; say $s;"? 17:22
masak sivoais: nice!
GlitchMr But I guess that 47 characters solution is cheating
masak sergot: yes, most of the time you have to, except the last one 17:23
sergot: in Perl 5, you can skip it after block }
tadzik gist.github.com/tadzik/5496732 Promises in Perl 5
Mithaldu tadzik: set the type to perl for highlighting please :) 17:24
tadzik Mithaldu: fixed, thanks :)
Mithaldu thanks :)
tadzik I don't use syntax hilighting, so I tend to forget about this :)
I found a bug in Moo while translating it :)
or maybe a "bug"
masak do tell. 17:25
tadzik I'd rather if it carp() than warn()
Must have an is at /home/tadzik/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.3/Method/Generate/Accessor.pm line 30.
mxey given/when is now experimental? When did that happen? :D
(Running 5.17.11 here for now)
Mithaldu i do not wish to work without highlighting for the same reason i do not wish to work without my glasses
masak mxey: that's... news to me too.
GlitchMr given/when was always experimental in Perl 5.
mxey OK, the warnings are new thoug
h
Now I could either silence the warning or change my code to use ifs, neither of which I really like 17:26
timotimo oh my, i've already spent 1.5h on the GRAPH exercise
masak haha
ok people, I'm gonna leave you for a while to get some food. you seem to be self-propelled by now. bbi30m 17:27
TimToady mxey: basic problem is that that smartmatching doesn't work very well when the type system is a sloppy as Perl 5's is
mxey I see
lizmat timotimo: I'm still stuck with a JAPH
GlitchMr Take these five programs and render them as oneliners. Be as brief as you can. Be clever.
lizmat r: my @a=map {.chr},"ahacking".ords;my $b=<7324 14189 9873 5553 17986 12497 5423 7577>;for^8 ->$i{@a[$i]++ for^$b[$i]};$_=@a[].join;s:g/z/ /;.say 17:28
TimToady mxey: the lack of junctional types in particular makes the anding/oring rules arcane
camelia rakudo d2af40: OUTPUT«(timeout)»
GlitchMr 1. perl -anE'say$F[2]'
lizmat alas...
GlitchMr 2. perl -nE'$s+=$_}{say$s+0' 17:29
timotimo lizmat: i skipped all the way to an exercise that interested me ;)
GlitchMr 3. perl -nEsay
I'm so clever
tadzik timotimo: well, that turned out rather well for you, didn't it ;) 17:30
(shh! I did the same! :P)
GlitchMr 4. perl -pe'print"$.. "'
tadzik well, actually, I did my exercise before I knew there's a list of them
lizmat masak: gist.github.com/lizmat/5496793 17:31
17:31 bioevolgenec joined
PerlJam mxey: yes, unfortunately smartmatch and given/when will issue a warning in 5.18 and beyond until p5p nail down the proper semantics (that's what I hear anyway) 17:31
GlitchMr Fifth appears to be slightly complex. I would use flipflop operator to be clever, but I'm not allowed to print START or END. 17:32
lizmat wonders why there is a Str.ords, and not a Str.codepoints or similar
mxey PerlJam: So I should avoid using it altogether?
TimToady mxey: just use it with literals for matchers, and it should continue to work right for that
isBEKaml how do I say I need a mandatory param in method signature? sub foo($param!) ? and for optionals: sub foo($param?) ?
GlitchMr Unless... 17:33
screw performance
isBEKaml r: sub foo($param!) { say 42 if $param; }; foo(); 17:34
camelia rakudo d2af40: OUTPUT«===SORRY!===â¤CHECK FAILED:â¤Calling 'foo' will never work with no arguments (lines 1, 1)⤠Expected: :($param)â¤Â»
TimToady isBEKaml: yes, though positionals already default to mandatory
isBEKaml r: sub foo($param?) { say 42 if $param; }; foo();
camelia rakudo d2af40: ( no output )
TimToady and named args already default to optional
cognominal isBEKaml, positional parammeter are mandatory by default
oops, TimToady beat me to it.
isBEKaml TimToady: cool, by positional - you mean more than one param or an array/list param?
lizmat isBEKaml: unnamed parameters 17:35
TimToady positional parameter are the ones that are identified by which position you pass them :) 17:36
GlitchMr 5. perl -ne'/^END$/ and $s = 0; print if $s; /^START$/ and $s=1'
TimToady i.e. not variadic
GlitchMr Again, would use flipflops, but they won't work
isBEKaml TimToady: Ah, I see - thanks!
lizmat: understood :)
TimToady flipflops return values that you can use to determine if it's beginning or end 17:37
the final one has an 'e0' or some such
tadzik hahaha. My JAPH in Perl 6 is so slow, that on my laptop it prints letter by letter 17:38
swalif @masak pastebin.com/4pHYT5LD
tadzik r: gist.github.com/tadzik/5496846 17:39
camelia rakudo d2af40: OUTPUT«Just another Perl hackerâ¤Â»
tadzik masak: ^
17:39 mjgardner left, benabik left, benabik joined
grondilu isn't "my ($n, $values) = @_;' supposed to be the same as "my $n = shift; my $values = [ @_ ];" in perl 5? It does not seem to be in my GOLF attempt: paste.siduction.org/20130501174033 17:40
GlitchMr grondilu, more like my $n = shift; my $values = shift; 17:41
tadzik grondilu: nope
sergot masak: is this something? gist.github.com/sergot/5496535#fil...eliners-pl
mxey masak: gist.github.com/mxey/5496860
grondilu oh yeah, silly of me
TimToady you're thinking of my ($n, @values) which does behave more like that
tadzik sergot: do you know flip-flop operator? 17:42
GlitchMr Flip flops confuse me
sergot tadzik: ?? !! ?
tadzik: hm, maybe not.
tadzik sergot: no, ff
sergot Then no :)
tadzik like 'say if /start/ ff /end/'
TimToady (spelled .. in Perl 5, for those who don't know Perl 6 yet) 17:43
sergot tadzik: i dont know ff.
tadzik sergot: looks like a nice thing for Program 5 in oneliners 17:44
mxey Oh, package blocks, I should use those
sergot tadzik: thanks for clue/.
timotimo i may not be catching up to the other contestants, but my solution sure will be nice to use! gist.github.com/timo/5496509 (solution to GRAPH)
Cybelechild And I'm just sitting here doing Romans:) 17:45
GlitchMr So many tasks, not enough time...
TimToady yes, flipflops were originally added to emulate the semantics of Unixy editors that treat 1,$ as a line number range
17:45 burkean joined
GlitchMr Reminds me of p6cc contest entries 17:45
timotimo masak: github.com/masak/workshop/blob/mas...-weight.md - are you missing some text before the "Why?"
TimToady wonders if flipflops would be more useful in Perl 6 if defined in terms of smartmatching... 17:46
Guest5462 I think masak's at supper
GlitchMr Perhaps if we had something like between. 17:47
Also, yeah, I think that implementing it using .ACCEPTS would be good idea.
Perhaps @input.between('A', 'B')
Returning (('something', 'something else'), ('other block',)) 17:48
isBEKaml r: my @foo=<1 2 3 4>; say @foo.map: { * * 2 }; 17:49
camelia rakudo d2af40: OUTPUT« â¤Â»
GlitchMr Because flip flops are some something that could be helpful, but isn't.
isBEKaml r: my @foo=<1 2 3 4>; say @foo.map: { $^x * 2 };
camelia rakudo d2af40: OUTPUT«2 4 6 8â¤Â»
GlitchMr I don't think I've seen flip flop outside of flip flop examples.
And those examples like always used regexes. 17:50
TimToady since currently flipflops just expect booleans, and smartmatch passes booleans through, current usages would mostly "just work"
cognominal masak, there is more to Kenya than you think chatley.com/kenya/using/ :)
sjn hey, what's the simple way of making sort sort numerically?
tadzik sjn: in which Perl? :) 17:51
GlitchMr sjn, in Perl 5, sort { $a + $b }. In Perl 6, sort.
sjn <- trying to just use Perl 6 today
tadzik er, I don't think '+' is the right one :)
geekosaur p5 is <=>
GlitchMr <=>
tadzik <=>, more like
GlitchMr Right
sjn GlitchMr: that's wrong :)
GlitchMr fail
sjn spaceship operator in P5 :)
tadzik r: (0, 10).sort.perl.say
camelia rakudo d2af40: OUTPUT«(0, 10)â¤Â»
grondilu damn I totally forgot how to do slicing in P5
sjn isn't default p6 sort asciibetical? 17:52
GlitchMr r: say sort 1, 7, 4, 8, 2, 3, 8, 5
camelia rakudo d2af40: OUTPUT«1 2 3 4 5 7 8 8â¤Â»
TimToady grondilu: have to change the sigil to @
GlitchMr sjn, yep, but only for strings
isBEKaml grondilu: @arr[0..10]
tadzik r: (9, 10).sort.perl.say
camelia rakudo d2af40: OUTPUT«(9, 10)â¤Â»
thundergnat r: say <1 2 3 4 12 24>.sort +*
camelia rakudo d2af40: OUTPUT«WhateverCode.new()â¤Â»
GlitchMr grondilu, @array[3..6]
grondilu yeah but it's the last index I forgot. I think -1 will do, right?
TimToady thundergnat: need colon 17:53
thundergnat oops
GlitchMr Or parens.
lizmat r: <9 10>.sort.perl.say
camelia rakudo d2af40: OUTPUT«("10", "9")â¤Â»
thundergnat r: say <1 2 3 4 12 24>.sort: +*
camelia rakudo d2af40: OUTPUT«1 2 3 4 12 24â¤Â»
tadzik lizmat: those are strings
geekosaur r: (9, 10).sort.perl.say
camelia rakudo d2af40: OUTPUT«(9, 10)â¤Â»
tadzik but you probably know that :)
lizmat indeed, and therefore sort differently
tadzik yeah
cmp is smart (cmp, right?)
17:54 gtodd joined
TimToady n: <9 10>.sort.perl.say 17:54
camelia niecza v24-37-gf9c8fc2: OUTPUT«(val("9"), val("10")).listâ¤Â»
17:54 nvb joined
GlitchMr r: <9 10>.sort.perl.say 17:54
camelia rakudo d2af40: OUTPUT«("10", "9")â¤Â»
GlitchMr Niecza is more clever than I've expected.
TimToady they're strings in rakudo, but IntStr in niecza
(IntStr is spec)
gtodd masak: have an svg with links that work .. at least in chrome
isBEKaml masak: pastebin.com/sPaJsHwg - my partial solution for Promises. I have no idea if it works. :) 17:55
tadzik: ^^
tadzik loioks
GlitchMr Also, flipflop is sort of nice with line numbers. 17:56
lizmat n: (9, 10).sort.perl.say
GlitchMr awk 'NR == 5, NR == 7'
camelia niecza v24-37-gf9c8fc2: OUTPUT«(9, 10).listâ¤Â»
tadzik isBEKaml: you can steal Perl 6 tests from my implementation. Or I can copypaste them for you, so you don't accidentally look at my code :D
GlitchMr Using awk because I'm a troll.
lizmat n: (10,9).sort.perl.say
sjn r: say <1 foo 2 bar 10 baz 20 quux>.hash.keys.sort.perl
camelia niecza v24-37-gf9c8fc2: OUTPUT«(9, 10).listâ¤Â»
rakudo d2af40: OUTPUT«("1", "10", "2", "20")â¤Â»
TimToady kicks GlitchMr in effigy 17:57
GlitchMr n: r: say <1 foo 2 bar 10 baz 20 quux>.hash.keys.sort.perl
camelia niecza v24-37-gf9c8fc2: OUTPUT«("1", "10", "2", "20").listâ¤Â»
isBEKaml tadzik: since I've already written up something and put it out, I guess it's okay now. :)
newguy I will read the log later, I now have to go. Thank you again for arranging the time to do this!
tadzik isBEKaml: gist.github.com/tadzik/5496546#fil...e1-txt-L40
newguy: thanks for attending, bye!
17:57 newguy left, prammer joined
isBEKaml tadzik: oh, wow - my solution looks a lot like yours, only that I used containers to push down success/failure tasks. :) 17:58
tadzik yep :)
mohij @asdf can hold both, arrays and lists, right? arrays can only contain one datatype, right? 17:59
tadzik mohij: the answer to the second question is no
GlitchMr No
tadzik there's no 'datatype' in Perl, and thus no constraint
grondilu I think that will do for GOLF: paste.siduction.org/20130501175903 I guess I suck at golfing
tadzik as for arrays and lists, how do you distinguish them?
isBEKaml tadzik: ha ha ha, we both missed the same thing. :) 18:00
GlitchMr It's Perl, not CavakellC#++1.
isBEKaml tadzik: .new - it's mentioned on the task.
timotimo hey, the HEX exercise is missing?
tadzik isBEKaml: what did we miss?
GlitchMr Perl 6 has some sort of typing, but it's optional.
Perl 5 doesn't even have typing.
isBEKaml tadzik: Promises.md - "It should be possible to pass the current state to the constructor...." 18:01
GlitchMr It intentionally doesn't have typing.
Mithaldu GlitchMr: there is some typing if i remember
tadzik isBEKaml: sure, that works automagically :)
GlitchMr Mithaldu, do you mean $ @ %?
Mithaldu GlitchMr: perldoc.perl.org/functions/my.html
tadzik isBEKaml: you just have to make your $!STATE $.STATE
sjn r: say <1 foo 2 bar 10 baz 20 quux>.hash.keys.sort.perl # How does one make sort do it numerically here?
camelia rakudo d2af40: OUTPUT«("1", "10", "2", "20")â¤Â»
GlitchMr If you mean "my TYPE EXPR", I have no idea how it works. Really. 18:02
tadzik r: say <1 foo 2 bar 10 baz 20 quux>.hash.keys.sort(* <=> *).perl
GlitchMr But it doesn't provide typing by itself.
camelia rakudo d2af40: OUTPUT«("1", "2", "10", "20")â¤Â»
isBEKaml tadzik: the task talks about .state() for getter.
Mithaldu neither do i, but it exists! :D
tadzik isBEKaml: that's why I wrote $.state :)
isBEKaml tadzik: so I figured I'll make them all private.
sergot masak: there is no HEX.md, or? :)
Guest5462 What is the significance of d2af40 following rakudo?
sjn tadzik: is there a way to make hash keys be treated as Int's?
isBEKaml tadzik: $.state would set it too. :)
tadzik sjn: sure
r: say <1 foo 2 bar 10 baz 20 quux>.hash.keys».Int.sort.perl
isBEKaml tadzik: the task explicitly says against it.
camelia rakudo d2af40: OUTPUT«(1, 2, 10, 20)â¤Â»
tadzik sjn: ^
sjn hm 18:03
GlitchMr glitchmr@pineapple ~> perl -e 'package Universe {} my Universe $world = [{}, "ee", 9.5, bless {}]'
glitchmr@pineapple ~>
thundergnat r: say <1 foo 2 bar 10 baz 20 quux>.hash.keys.sort(+*).perl
camelia rakudo d2af40: OUTPUT«("1", "2", "10", "20")â¤Â»
GlitchMr The only thing that typing appears to do in Perl, is enforcing that class does exist.
Not that useful, IMO.
tadzik isBEKaml: nope, it won't
isBEKaml: would have to be $.state is rw
isBEKaml tadzik: ah, I forgot about is thingies. :)
tadzik sjn: same as .keys.map(*.Int) 18:04
well, not same, » may mess up ordering
18:04 dvj joined
tadzik but 1) it's a hash anyway 2) we sort anyway 18:04
mohij @tadzik; nopaste.info/16268881b1.html why is it that this breaks if I replace the @mapping to use [ ] instead of ( )? -> Not enough positional parameters passed; got 1 but expected 2 18:05
18:05 felher joined
tadzik mohij: looking... 18:05
GlitchMr » messes up ordering?
Huh?
tadzik GlitchMr: auto-threading
it may not come out in the same order
GlitchMr I know about it
tadzik mohij: because you'll get an array with one element, being an array 18:06
so effectively a two-dimensional array
GlitchMr But it may only mess up ordering if you use it for sideeffects IIRC.
> (1, 2, 3, 4, 5, 6)».sin
0.841470984807897 0.909297426825682 0.141120008059867 -0.756802495307928 -0.958924274663138 -0.279415498198926
This works fine
tadzik mohij: () gives you arrays that flatten, [] gives you arrays that don't
GlitchMr: well, it's like with hash keys. They _can_ come out in the same order, but you shouldn't rely on that 18:07
masak is back
masak backlogs
mohij so [ ] is effectively the same as ( [ ] ) right?
tadzik GlitchMr: by spec, the order can be meesed up
mohij: no
timotimo mohij: you're getting a list with one element which is an array
tadzik because inside you'll get a non-flattening array agian
18:07 plluksie joined, plluksie left
GlitchMr tadzik, if the spec could be messed up, it should return a hash. 18:09
18:09 gco joined
tadzik GlitchMr: why should it? 18:09
GlitchMr Besides, I through that while the » won't cause the code to be executed in order, the result will be always identical.
(as long code doesn't depend on things like RNG)
tadzik I think that's the case with ==> 18:10
GlitchMr > (1, 2, 3, 4, 5, 6, 7) ==> print 18:11
1234567
huh?
grondilu ONELINERS: paste.siduction.org/20130501181057
GlitchMr But
> (1, 2, 3, 4, 5, 6, 7)>>.print
7531642
tadzik there you go :)
mxey masak: Regarding PLAYLIST, it says “input format“ there. Should I parse the displayed data, or just copy it into my code?
grondilu oops
ONELINERS (Erratum): paste.siduction.org/20130501181158 18:12
GlitchMr tadzik, I think that >>.print shows that the code isn't ran in exact order, but the result array is always identical.
mxey wesjdj: Hey I was just looking at your JAPH. Is there a reason you still write out strict although 5.16 implies it?
tadzik oh, hm
maybe 18:13
GlitchMr > sub double($_) { $_ * 2 }; (1, 2, 3, 4, 5, 6, 7)».&double
2 4 6 8 10 12 14
18:13 plluksie joined
GlitchMr As long you aren't using side-effects, it's safe. 18:13
tadzik does spec say that?
18:13 gtodd joined
TimToady Guest5462: d2af40 is part of the crypto hash that identifies that version of rakudo to git 18:14
Guest5462 That makes sense, thanks.
TimToady Guest5462: git doesn't use version numbers for identity, but a hash of the whole thing instead
isBEKaml r: sub double { $_ * 2 }; say (1,2,3).map: { &double };
camelia rakudo d2af40: OUTPUT«double double doubleâ¤Â»
isBEKaml ha ha
r: sub double { $_ * 2 }; say (1,2,3).map: { &double($^x) };
camelia rakudo d2af40: OUTPUT«Too many positional parameters passed; got 1 but expected 0⤠in sub double at /tmp/Zb5NrWAvB6:1⤠in block at /tmp/Zb5NrWAvB6:1â¤â¤Â»
pjcj mxey: there's no need for it, but it doesn't do any harm either 18:15
isBEKaml r: sub double($x) { $x * 2 }; say (1,2,3).map: { &double($^x) };
camelia rakudo d2af40: OUTPUT«2 4 6â¤Â»
mxey pjcj: I know, I am just being curious
TimToady Guest5462: in functional programming terms, git objects are immutable values that take their identity from their contents, not mutable values that take their identity from their location
GlitchMr I couldn't find it in spec, but I found some code in spec.
perlcabal.org/syn/S32/Str.html#Str
.lines».indent.join("\\n")
.indent doesn't have sideeffects. 18:16
tadzik GlitchMr: perlcabal.org/syn/S03.html#Hyper_operators
GlitchMr But this code depends on order.
tadzik it says Note that hypers promise that you don't care in what order the processing happens, only that the resulting structure ends up in a form consistent with the inputs.
TimToady: could you clarify?
"consistent form" doesn't quite imply ordering imho
masak sergot: re gist.github.com/sergot/5496535#fil...eliners-pl -- programs 2 and 3 can be much shorter :) 18:17
GlitchMr masak, what about 'perl -nEsay' for third?
masak sergot: for program 5, I think some variant of ff or fff can be used.
GlitchMr: cute! 18:18
masak keeps backlogging
18:18 nvb joined
GlitchMr [17:29:55]\tGlitchMr\t3. perl -nEsay 18:18
mohij @tadzik: got it. In fact I can even leave the () off altogether. :-)
GlitchMr I should make my logs copy&paste friendly
tadzik mohij: yes :
:) 18:19
grondilu about oneliners: turning a short code into a long one (second part of the task), is not fun imho.
TimToady tadzik: it implies same order, along with same hierarchical structure for multi-dimensional things 18:20
GlitchMr I'm going to agree
What could be perl -pwle 'print " "' really anyway?
18:21 gco joined
tadzik alright 18:21
TimToady it's intuitively obvious :)
tadzik TimToady: thanks
mxey masak: gist.github.com/mxey/5497143
GlitchMr Actually, I have entire solution for those expand oneliner tasks. 18:22
TimToady actually, for that particular problem, perl -pwle could just be -pwe 18:23
or just -pe, since there isn't much to warn about
masak mxey: just found your BOT solution in the backlog -- looks nice :)
GlitchMr I'm totally a cheater, but whatever
perl -MO=Deparse -pwle 'print " "'
My solution is that
TimToady snerks
masak hehe 18:24
masak .oO( because Deparse is how you get maintainable code... )
18:25 fnurk joined
fnurk Hello to all 18:25
GlitchMr Then again, I wouldn't use END {} in oneliners.
But }{
I like those syntax quirks.
masak <GlitchMr> So many tasks, not enough time... 18:26
GlitchMr Hi, fnurk
masak that's by design... :)
fnurk: hi!
mxey masak: thanks!
timotimo i lost the link to the gist with all the links. could we put it up on the topic and maybe on the workshop README as well?
GlitchMr Do you mean github.com/perl6/mu/wiki/perl6-wor...-may-2013? 18:27
masak <timotimo> masak: github.com/masak/workshop/blob/mas...-weight.md - are you missing some text before the "Why?"
timotimo: yes, I was. pushed a new version.
man, github was clearly the right choice for this workshop. :) 18:28
TimToady r: sub double { $_ * 2 }; say (1,2,3).map: &double
camelia rakudo d2af40: OUTPUT«Too many positional parameters passed; got 1 but expected 0⤠in sub double at /tmp/KcVhrmClIs:1⤠in method reify at src/gen/CORE.setting:5742⤠in method reify at src/gen/CORE.setting:5637⤠in method reify at src/gen/CORE.setting:5637⤠in method gimme at src/ge…
timotimo GlitchMr: gist.github.com/masak/5496294 - this is the one i meant
TimToady r: sub double { $^x * 2 }; say (1,2,3).map: &double 18:29
camelia rakudo d2af40: OUTPUT«2 4 6â¤Â»
TimToady isBEKaml: ^^
don't need extra {} around call to &double
as long as it knows it's 1-ary
GlitchMr masak, github.com/masak/workshop/pull/2 18:30
18:30 census joined
isBEKaml TimToady: yeah, I was looking for something like that. I didn't like having to pass in $^x in map arguments, but having the function in map pick them off on its own. 18:30
tadzik r: gist.github.com/tadzik/5497213
camelia rakudo d2af40: OUTPUT«Array.new([6, 2], [7, 3], [10])â¤Â»
tadzik masak: ^ my DSL
labster gist.github.com/labster/5497210 GOLF. I decided not to go past the point where it was still readable, which I hope is okay.
GlitchMr Anyway, about "end weight", I use reverse conditional (if or unless), only when dealing with flow control. 18:31
masak <isBEKaml> masak: pastebin.com/sPaJsHwg - my partial solution for Promises. I have no idea if it works. :)
GlitchMr Just like in the Perl Best Practices book, except I personally have nothing against unless.
masak isBEKaml: if you have no idea whether something works what famous software artifact can you write/run to find out? :P
Mithaldu labster: it would be nice if the variable and function names and such were in clear english :)
isBEKaml masak: yeah, it doesn't - I found out that my API doesn't match the rules, it does things on its own. :P 18:32
labster Mithaldu: Well the point of the exercise is less keystrokes...
Mithaldu labster: oh, i saw all the intendation and such :) 18:33
masak I just merged both of my pull requests. thanks. love <3 18:35
Tene masak: Have you been following the "polite discussion" about Promises in the Javascript community?
masak Tene: yes.
Tene: *very* interesting.
there is no HEX.md -- sorry, I screwed up. I'll try to supply it as soon as I've caught up with the present. 18:36
timotimo np
18:37 atroxaper left, FreezerBurn left
masak I'm backlogging and adding tasks as I find them. if yours is missing in gist.github.com/masak/5496294 after I'm caught up, let me know :) 18:40
mxey: no, you don't need to parse the input data in PLAYLIST. 18:42
mxey: it's meant to be a data structure, a bit like one found in a Spotify-like application. 18:43
18:43 n47004 joined
dmol masak: What should be done after dry? Should I jump over HEX? 18:45
masak for now, yes. :/ 18:46
masak is caught up with the present 18:47
I have 5 privmsg windows to attend to, then I'll add HEX.md :)
should be there way before the workshop is over :)
oh, and LlamaRider++ added links between all the .md files, and pull-reqwust me. so now there's links between everything. 18:48
tadzik r: gist.github.com/tadzik/5497390
camelia rakudo d2af40: OUTPUT«Total time is 19:18â¤Â»
tadzik masak: ^ playlist
masak (the pull request was stale because of tadzik++'s addition, but I fetched the repo, rebased locally in a branch, merged with master, and pushed. git is *awesome*.) 18:49
tadzik masak: so, do you have a while to explain the elevator? :) 18:50
gtodd masak: fiddled with links for the svg map and added a pull request for you if you want it :-)
masak tadzik: no, you can do better than that. the playlist can go for *years*.
tadzik I may just let my imagination flow :)
oh
masak :)
labster masak: gist.github.com/labster/5497210 GOLF. You missed it.
timotimo if i have two lazy gather/take streams and i Z them together, will they be eagerly evaluated? if so, how can i stop that from happening?
masak labster: thanks, looking.
timotimo: no, they will be lazy by spec.
labster there's too much whitespace, I know 18:51
GlitchMr masak, dsl in Perl 6 - gist.github.com/GlitchMr/5497415
dmol masak: bpaste.net/show/95686/ Promise :)
masak labster: cool, that's the first Perl 6 golf, I think.
labster since you have to port it first :)
TimToady timotimo: the problem with using Z for that is that Z will stop on the shorter list
GlitchMr /Dynamic/, because it isn't typed exception for some reason. 18:52
masak GlitchMr: DSL looks nice.
GlitchMr: maybe see if you can patch Rakudo to make it a typed exception? :)
GlitchMr I had to use prefix:<days> hack, because "days" is already something.
masak oh, sorry about that. 18:53
that totally shouldn't be a problem, IMO.
GlitchMr TimeUnit::days
masak because lexical scopes.
GlitchMr Then again, I think I could make it more interesting. 18:54
Perhaps I could try implementing LINQ in Perl 6 for lulz.
timotimo gist.github.com/timo/5496509#file-fringe-pl - i implemented FRINGE, but am not 100% sure my gather/take is actually properly lazy.
masak timotimo: nice! 18:55
GlitchMr Because, don't get me wrong, what I've done is mostly copy paste from perl6advent.wordpress.com/2012/12/...-y-things/
masak timotimo: gather { iter-tree($t) } better written gather iter-tree($r);
GlitchMr: :D 18:56
GlitchMr: I had forgotten about that one. glad it was useful :>
GlitchMr The error handling was simply copy of your comment. 18:57
masak no wonder it felt familiar.
GlitchMr ;-) 18:58
masak anyway, I don't consider that less of a solution just because it was copy+paste. 18:59
masak .oO( copy+paste is the sincerest form of flattery )
Tene 11:59 * masak .oO( copy+paste is the sincerest form of flattery ) 19:00
tadzik masak: ok, I don't know what you expect of Playlist. Duration seems like a nice thing to use, but it only keeps count of seconds and, frankly, doesn't seem to useful for anything
masak Tene: :P
tadzik: yeah, we're kinda missing something there in the Perl 6 design, no? 19:01
tadzik: like, ability to format durations as 1y2m3d4h5m6s
tadzik masak: yep 19:02
masak or, better, with spaces in between.
tadzik I can write a Duration formatter
GlitchMr Element.new(tag => "p", class="intro", children => [
masak 1y 2m 3d 4h 5m 6s
GlitchMr Assigning to class?
masak tadzik: please do.
tadzik: and then we can talk about spec.
tadzik okay :)
masak GlitchMr: oh! fixing.
tadzik masak: the hard part is that if you want to count months, you need to figure out how long are they
it's not like they're always 30 days long 19:03
GlitchMr Perl 6 also complained about ->, but I assume it's Perl 5 code.
b34bb_H couldn't you just split the string at the :, count seconds and minutes seperate and then add seconds/60 to th minutes (likewise with hours)?
GlitchMr I'm still going to do it using Perl 6, anyway.
masak GlitchMr: it's Perl 5 code.
tadzik b34bb_H: that's what I did so far. We're looking into something more versatile
masak GlitchMr: feel free to do it using Perl 6.
GlitchMr Whatever, porting it to Perl 6 is just replacing -> to .
Even dumb text editor can do that.
masak b34bb_H: I'm putting the pressure on tadzik to excel, because he's succeeding far too well so far :) 19:04
tadzik :D
labster c'mon tadzik! You can do it!
b34bb_H :)
tadzik okay, I'll write a Duration formatter up to days
masak I'm like "shit shit he's actually gonna finish the course!"
tadzik then we'll think
hah, I even had time to eat!
masak "...in Perl 6!"
pmichaud if designing a duration formatter, it might also be useful to consider the thoughts in the second paragraph of github.com/perl6/specs/issues/13 19:05
moderator freespectrum.herokuapp.com/workshop...-links.svg -- gist.github.com/masak/5431185 -- logs at olive.undo.it/log?channel=masakism 19:06
masak people, check out freespectrum.herokuapp.com/workshop...-links.svg 19:06
gtodd++ # SVG+links
timotimo you really did put it up on heroku :D
pretty cool i must say :) 19:07
Guest5462 Would the duration formatter take leap years into account?
PerlJam Looks like I missed some interesting stuff while away 19:08
masak Guest5462: only when you apply it to a datetime.
Guest5462: but yeah, it's problematic.
TimToady "introspection is a code smell" is another form of "tell, don't ask"
masak Guest5462: I tackled those questions when implementing .delta
ynonperek masak got the oneliners in p5
gist.github.com/ynonp/5497555
masak TimToady: yep.
ynonperek: looking.
19:09 plluksie left
masak ynonperek: oh! we have different definitions of "column". but I accept yours :) 19:09
ynonperek ah sorry will fix
masak ynonperek: program 2 is clever and I hadn't seen that particular eskimo trick before.
ynonperek one moment
timotimo do i have to do something special so that i'm able to wrap a method in an instance of a class? 19:10
PerlJam masak: too clever :)
masak PerlJam: yeah well, in oneliners that's "allowed" :)
ynonperek ah it's the famous abigail's end
timotimo i wanted to do $instance does role { method storage { $fail = True; "a" } };, but that didn't seem to work.
mxey meh, I wonder how to create a lazy iterator in Perl 5 19:11
gtodd masak: I used perl to do it ;-) too bad github doesn't host SVG (or images) on their servers or it could just go into the README.md
(semi explained in the pull request github.com/masak/workshop/pull/3 )
PerlJam timotimo: s/does/but/
masak timotimo: should be... just like that.
timotimo gist.github.com/timo/5496509#file-fringe-pl-L59 - here's my first attempt to make it bomb
PerlJam oh, /me misread
masak looks at pull request 3
timotimo even if i put but there it won't work
masak gtodd: merged. 19:12
mxey: how to create a lazy iterator in Perl 5: use Moose or Moo. provide a 'next' method. 19:13
timotimo would someone like to try to run it on their machine? (get the ADT module from panda for Extra Joy)
masak mxey: make the 'next' method not do work until actually asked to.
ynonperek masak fixed program 1
gist.github.com/ynonp/5497555
(now use -ane)
mxey masak: well, so far it's obvious
masak ynonperek++ # yes
mxey: really, it's not any harder than that :) 19:14
mxey: "iterator" could be either something built into the language, or just a kind of object.
timotimo i guess the more interesting thing is how to properly manage the state and all
mxey what timotimo says
timotimo in the fringe example, it would seem like the iterator would have to hold its own stack
from there, it shouldn't be terribly hard 19:15
TimToady timotimo: note that gather/take can work through recursion
19:15 realazthat_ joined
timotimo TimToady: yeah, but on perl5 you can't do that :D 19:15
masak mxey: what timotimo said. it should keep track of where it is in the tree.
mxey Well, there is a gather/take on CPAN :D 19:16
TimToady timotimo: but you can emulate it with a local variable
masak mxey: doesn't need to be a stack, necessarily. just "where am I".
timotimo masak: only works if the tree nodes have an "up" pointer ;)
19:17 bsinger joined
masak timotimo: ah, yes. 19:17
timotimo: if they don't, you indeed need a stack :)
tadzik r: gist.github.com/tadzik/5497390
camelia rakudo d2af40: OUTPUT«Total time is 6 days, 22 hours, 23 minutes and 29 secondsâ¤Â»
tadzik masak: slightly better playlist
masak tadzik++
tadzik it's still stupid though :)
masak haha "Never Gonna Give You Up" for 10_000 minutes! 19:18
sivoais masak: PROMISE <gist.github.com/zmughal/5497614> (still learning Perl 6 OO) :-)
masak people you all rock
tadzik masak: I didn't want to let you down ;)
sivoais: whoa, did you write that from scratch? 19:19
masak :P
masak .oO( practically never gonna let you down )
sivoais++ # seems to be learning Perl 6 OO quite well :) 19:20
census this was amazing!
timotimo masak: could the way i'm creating the Leaf class in ADT be the cause for my role not working?
sivoais tadzik: I did look at yours for guidance :-P , but typed it myself to make sure I did the syntax right
tadzik sivoais++ :)
masak timotimo: no idea.
census (even though i haven't been able to finish yet due to external distractions)
tadzik I thought you just accidentally came up with the same train of thought that I did ;)
timotimo nope, something entirely different is at fault. the changed storage method is called, but the $fail variable is not set properly ... huh! 19:21
masak writes HEX.md
tadzik well, maybe not "accidentally"
sivoais: well done :)
PerlJam masak: Did anyone get to ELEVATOR?
timotimo a dynamic variable makes it all work out
tadzik PerlJam: I tried 19:22
timotimo PerlJam: i briefly looked at the description and decided not to do it yet
tadzik but then masak bashed me on the head with my playlist.pl ;P
masak PerlJam: no -- did you?
tadzik if I ever program an elevator, I'll make it skip people who stop an elevator to go from floor 3 to 4
masak I will do ELEVATOR when I finish with HEX.
tadzik while I'm going from 0 to 8 19:23
masak but I fear there will not be time... :)
PerlJam no, I've been away and busy. I was just curious because I had read all of the problems before I left
tadzik TAKE TEH STAIRS :''''(
PerlJam tadzik: how do you know who those people are? (I have an idea, what's yours? :)
tadzik PerlJam: there'll have to be a button for each floor on the outside-panel 19:24
so you know in advance how far a person is going
timotimo tadzik: how do you tell before they have entered?
PerlJam tadzik++ yep ,that's what I immediately thought of :)
timotimo tadzik: in that case, just leave out the buttons on the outside :D
(and no buttons for floors on the inside either) 19:25
tadzik PerlJam: then you could make the elevator favour people who travel longer
and thus encourage taking the stairs
win-win
PerlJam the cost and complexity of the elevator system would go up though.
timotimo okay, fringe, japh and graph down. what to do next? :)
PerlJam Probably worth it on tall buildings though
Cybelechild You could always put an "Out of order" sign on the elevator - much more easier to make people take the stairs. And its easier to program tooo... 19:26
PerlJam Though, I understand that there is some practicaly limit to elevator technology for *really* tall buildings that makes elevators not span the entire height of the building.
masak :P
timotimo the "out of order" sign only appears if the person wants to travel just one floor - psychic paper!
PerlJam s/ly/l/
Guest5462 What about cleaners, morgue attendants, &c, who have to take a vacuum or a gurney between floors? 19:27
PerlJam Guest5462++
tadzik good point
PerlJam frieght elevator
different rules
Cybelechild On a totally unrelated note - I wan the source-code for psychic paper...or sonic srewdrivers for that matter....
east PerlJam: to skip lazy people from elevators: it's not possible to get only 1 or 2 levels up, one can only go to floors that are at least like 5 levels up. people will learn quickly.
labster Cybelechild: or an Eye or Harmony 19:28
*of
masak if you like the idea of psychic paper, check out en.wikipedia.org/wiki/Newcomb%27s_paradox -- a bit of a mind-twister.
PerlJam east: principle of least-surprise would say that you shouldn't provide buttons that don't work.
east PerlJam: but those buttons will work if you'r far enough away ;) 19:29
masak and in connection with that, www.scottaaronson.com/blog/?p=30
19:29 grondilu left
labster can't I just flip a coin? I don't know what I'm going to do, so how can it be predicted? 19:32
PerlJam wonders if labster had read that far or not 19:34
TimToady not allowing people to take the elevator one floor will simply mean that you'll have twice as much traffic going up and down 5-6 floors to work around it
labster probably I need to read more :o)
TimToady (there are actually buildings that are trying this, btw)
works well for multiple elevator systems where they can specialize
"you do all the even floors, and I'll do all the odd ones" and such 19:35
labster gist.github.com/labster/5497694 half of ONELINERs. Not sure if the last part is a rakudobug or not -- should I be able to do <?before ^^END$$>
raiph star: sub foo ($n) { my $x = "ff" x 5 div 3; }; }; foo 3
mxey masak: gist.github.com/mxey/5497728
camelia star 2013.02: OUTPUT«[31m===[0mSORRY![31m===[0mâ¤Unexpected closing bracketâ¤at /tmp/Dwv04kRuuA:1â¤------> [32mb foo ($n) { my $x = "ff" x 5 div 3; }; [33mĆ¢[31m}; foo 3[0mâ¤Â»
raiph oops ww
19:35 Ox6abe joined
east TimToady: kind of: I work in a building where at lunchtime one can only go up to the top level, where the cafeteria is. One has to make part of a roundtrip to go to levels in between. 19:37
labster adds 3 more boxes to the table, and then randomly picks two of them
raiph star: sub to_roman (Int $n) { my $printstring; for <M 1000 D 500 C 100 L 50 X 10 V 5 I 1> -> $roman, $decimal { $printstring .= $roman x $n div $decimal; $n %= $decimal; }; say $printstring; }; to_roman(3)
camelia star 2013.02: OUTPUT«Not enough positional parameters passed; got 1 but expected 3⤠in sub to_roman at /tmp/hDr9ohQYPv:1⤠in block at /tmp/hDr9ohQYPv:1â¤â¤Â»
TimToady I mean they're actually trying the thing where each floor gives you the ability to request specific other floors
mxey masak: “Instead of completely blocking and waiting for the consumer to come back with a result, the producer just leaves its business card, says "you know where to reach me", and gets on with its own code.“ I think producer and consumer are switched here 19:38
raiph masak: i'm starting rather late :) i can see that the div above is getting a string not an int but am otherwise confused... 19:39
east .. and this might be where the guessing starts: what if I pretend to go to level $else, will I catch a cabin quicker? ;) 19:41
masak mxey: indeed. fixing.
labster Hey, we have 75 people in here, and only 12 JAPH's submitted? Come on people, this is fun.
masak people, there's now a HEX.md
sergot, tadzik, PerlJam: I think you advertised oen?
one*
timotimo oh, it's that game! 19:42
hm, no, it's not
east labster: oh right, here's some lazy meta JAPH: $ perl -Mojo -le '@j=split/%%/,g("www.cpan.org/misc/japh")->body; print $j[rand @j]' 19:43
masak timotimo: it's Hex :)
raiph: I'm looking at your eval now.
raiph: I don't immediately see what's up.
timotimo that reminds me, druid is still not brought up to date with latest perl6 specs :|
masak :|
raiph labster: say "Just another Perl hacker" # especially for you
masak so much to do, so little time.
raiph masak: i'm trying to golf it
labster east++
east :) 19:44
masak raiph: excellent.
raiph: the '.=' is suspect.
raiph: should probably be '~='
I'm going to spend some time writing up ELEVATOR, seeing how far I get. 19:46
it's the only missing exercise of the course now. and clearly the most interesting.
timotimo isn't the course going to end in 15 minutes? :) 19:47
diakopter tricked! it lasts forever!
PerlJam timotimo: only if you want it to
timotimo hehe
PerlJam masak: as soon as you write it up, it will become less interesting ;)
timotimo i think i should get some food. i'm feeling a loss of concentration here. 19:48
masak r: my %h = foo => [1, 2, 3]; for %h<foo> { .say } 19:49
camelia rakudo d2af40: OUTPUT«1 2 3â¤Â»
masak r: my %h = foo => [1, 2, 3]; for %h<foo>.list { .say }
camelia rakudo d2af40: OUTPUT«1â¤2â¤3â¤Â»
masak isBEKaml: ^
PerlJam: ;)
TimToady r: my %h = foo => [1, 2, 3]; for %h<foo>[] { .say }
camelia rakudo d2af40: OUTPUT«1â¤2â¤3â¤Â»
masak timotimo: my obligations to be on 100% alert end in 10 minutes, yes :) 19:50
timotimo: people are free to stick around and party on.
timotimo: I have (paid-for) teaching to attend to tomorrow, but I'll check back in and see how people are doing :)
PerlJam masak++ btw (for inspiring and engaging people)
TimToady read that as "engulfing" for some reason... 19:51
masak east++ # lazy meta JAPH
east masak++ # so much effort put into this, thank you!
masak oh, you noticed ;)
east kind'o ;)
raiph masak: i had indeed p5ed a couple things and that was stumping me. now i'm getting "not ok 1 - 3 gets converted to III 19:52
# got: 'True'
# expected: 'III'
"
mxey masak++
masak I was like "shit shit there are like 20 people signed up instead of just 5 like I expected I have to prepare stuff"
raiph: where's le code?
raiph will gist
isBEKaml masak: this is awesome - I guess we should do this once again. :) 19:53
TimToady but is it composable?
masak :)
isBEKaml: I could do this again.
not sure when.
timotimo masak: indeed, the effort you put in really shows :)
GlitchMr How can I remove entries in KeySet?
.delete doesn't work. 19:54
isBEKaml that's alright - considering the effort that goes into such things, it'd be really nice to space things out. :)
timotimo GlitchMr: i think you can $foo{$bar} :delete?
masak if that doesn't work, it's a rakudobug.
sivoais masak++ # yeah, lots of fun problems!
GlitchMr I can't
labster masak++, though it feels like there was too much fun stuff to do
masak hehe
GlitchMr masak, gist.github.com/GlitchMr/5497868
pQuery
raiph masak: gist.github.com/anonymous/5497871 19:55
PerlJam labster: Like a good presentation should have some "extra" slides, there should always be "too much fun stuff" :)
masak raiph: looking.
PerlJam raiph: you're returning the result of say 19:56
raiph: you should return the string.
raiph ah. thanks
19:57 swalif joined
masak yeah, just discovered that, too :) 19:57
'say' always returns 'True'.
d^_^b forgot about the workshop. :(
GlitchMr Anyway, I've done JAPH. 19:58
gist.github.com/GlitchMr/5497892
PerlJam There's a good lesson here too. HAd you added returns Str or --> Str to your sub def, rakudo would have caught the error for you
GlitchMr Enjoy.
masak looking.
GlitchMr: :P
GlitchMr: eeevil. 19:59
dmol masak: bpaste.net/show/95711/ I stuck building graph of optimal ways for Kenia :(
isBEKaml I'm throwing this out on channel: pastebin.com/k1UydVbs. The for loops look fishy to me, they are never unrolled into actions.
masak dmol: looking.
d^_^b masak: workshop is over right?
masak d^_^b: in a minute, yes.
GlitchMr yep, I think
It's over now 20:00
d^_^b haha
GlitchMr Also, masak, can you add this pQuery - gist.github.com/GlitchMr/5497868?
timotimo did the boobie-trapped exercises get triggered at all?
GlitchMr It implements SELECTOR
masak isBEKaml: lines 33 and 34, you don't need the {} there
isBEKaml: and that's probably why things don't execute either. 20:01
timotimo: yes, both of them.
timotimo: tadzik took ROMAN, timotimo took GRAPH.
Cybelechild So a BIG Thank you for the workshop!
It was quite a bit beyound my level, but I enjoyed learning and reading a lot...
timotimo ooooh :D
masak I just want to thank everyone who participated in this workshop.
timotimo i didn't notice the boobie-trapped-ness happen at all :|
isBEKaml masak: Oh... masak++
masak you've made my day. you rock.
timotimo should i jump into the backlog? 20:02
GlitchMr masak, can you add selector?
masak GlitchMr: yes, hold on :)
timotimo masak: thanks for the wonderful evening so far :) (and thanks to the rest as well!)
GlitchMr Workshop was fun 20:03
d^_^b masak: ahh reading through the log.
GlitchMr Making a quick hacky script to make a log was fun too.
b34bb_H masak: I'd also like to thank you for this workshop, althogh I havn't been posting solutions I quite learned a bit and had fun while reding other peoples solutions
:)
masak excellent!
yeah, that was kind of the idea.
learn from each other :> 20:04
GlitchMr :-)
trexy thanks masak much appreciated :-)
mxey masak: big thanks for all your effort
dmol masak: Yep! Thanks a lot! Could you point "exemplar" solutions? :)
mohij masak: thanks also from my side.
GlitchMr masak, thanks for your effort :-).
dmol, gist.github.com/masak/5496294
masak GlitchMr: selector solution added. 20:05
PerlJam GlitchMr: I think dmol is asking for the "best" solutions.
masak oh!
tadzik my GOLF: gist.github.com/tadzik/5497945
didn't get under 244 though :(
masak I don't have any "right answers" ready, unfortunately.
raiph masak: thanks for the great materials; i hope to work through them over coming days
masak raiph: :) 20:06
b34bb_H will there be a #2 workshop or something?
PerlJam masak: well ... I wouldn't expect you to. This is one of those "the journey is more important than the destination" situations as far as I'm concerned
isBEKaml masak: I couldn't send in any solutions here, I'll be surely working through these exercises over the next few days. :)
TimToady GlitchMr: merely setting a KetSet member to False should cause it to automatically delete itself
GlitchMr b34bb_H, most likely, basing on success of this workshop.
TimToady (by spec)
GlitchMr TimToady, yet, it somehow doesn't in Rakudo
I dunno why
It's still visible by .perl.
dmol The next time I'll also be an lurker and code watcher :) 20:07
masak GlitchMr: there's a rakudobug in there somewhere.
felher masak: yeah, great thanks from me too. I didn't have as much time as I had hoped, but I was blown away by how much work you put into this workshop. Awesome job. I too will work through those files in the next couple of days. :)
masak TimToady: fwiw, I think .{} :delete ought to work as well...
I'm glad the workshop worked for so many of you. 20:08
GlitchMr My server didn't explode from the traffic. I assume it's a great success.
masak I kinda doubt people will find time to do exercises in their busy daily lives... nevertheless, good luck trying :)
GlitchMr (then again, web server on it had more traffic then usually)
masak I'm fully open to setting another date and trying this again sometime.
PerlJam masak: This is something you could run in-person too ... say at a YAPC 20:09
TimToady masak: sure, sets are supposed to act like hashes when addressed like hashes 20:10
masak TimToady: neither way seems to work right now.
timotimo oh, the boobie-trappedness was the amazon thing
now i understand what's going on
masak PerlJam: incidentally, I've intended to base my Perl 6 talks at YAPC on this material all along. 20:11
PerlJam: so it's definitely going to see some re-use.
YAPC::NA*
PerlJam masak++ you sir are a very smart man :)
sivoais I'll be there! 20:12
dmol masak: Probably, the tasks boundaries should be defined more precisely. I mean, weather it should be provided "general" solution or most quick, or ... I undestand KENYA, as problem, to find optimal solution, with back-tracking possibility and so on...
GlitchMr Too bad the moritz's logs weren't working during workshop, but other than that, it was a very good workshop :-).
masak dmol: yeah, some of these need to be refined a bit.
PerlJam still needs to sit down and figure out what he's going to do for YAPC::NA (which days, which talks, etc.)
dmol masak: In any case it was wonderfull :) 20:13
masak \\o/
b34bb_H If another workshop is going to start, where will it be noticed? stubled accidentally across this one and woudn't like to miss #2 (if it's going to happen)
sorry for my grammar, I'm some kinda tired ;) 20:14
PerlJam b34bb_H: perlmonks.org at the very least. 20:15
GlitchMr Good question. I'm sure it will be on Planet Six and Strangely Consistent.
masak b34bb_H: I have no idea. where would you find it? is my blog enough?
GlitchMr And Perl Monks.
20:15 mxey left
GlitchMr Also on Perl Weekly. 20:15
tadzik that was very fun
masak yeah, it was \\o/
lizmat fwiw, it's still fun for me
tadzik it is :) 20:16
b34bb_H masak: If you cold give me a link to your blog I'd check every couple of days :)
tadzik there are still tasks I didn't yet read
GlitchMr b34bb_H, strangelyconsistent.org/
tadzik b34bb_H: where from did you learn about it this time?
PerlJam b34bb_H: you don't do RSS?
b34bb_H I don't have a seady internet connection, I'm sharing an UMTS-Stick with three people and I got WLAN at my school :/ 20:17
s/seady/steady/
GlitchMr The HTML logs are 362KB... ok...
Logs themselves (in TXT format) are 140KB. 20:18
I don't think it was that bad, considering I have 1Gbit/s connection, and connections are fast these days anyway.
pmichaud next workshop (and all future workshops) probably need to be noticed to perl6-users, at the least.
PerlJam b34bb_H: in a perfect world, where would you want announcements to go so that you'd notice them? 20:19
GlitchMr Then again, I should've set up the compression on the server. Oh well...
raiph b34bb_H: do you recall where you first stumbled on this workshop? was it reddit?
pmichaud we probably could've done with an announcement on rakudo.org, and tweets through @rakudo 20:20
GlitchMr Anyway, I have to quit.
b34bb_H I somehow stumbled across perl-community.de wher I've been reading a while ago and somebody linked it there (linuxer I guess)
felher o/ GlitchMr
b34bb_H But the blog is totally fine
GlitchMr Of course, the logs will be still generated. I just go away.
b34bb_H anyway I have to go now, I wish you all a good $localtime+, hopefully till the next time :) 20:24
gtodd masak: will you post gists / solutions for the problems that got solved? 20:45
20:46 linuxer joined 20:47 geekosaur joined
woolfy masak: thanks for the interesting event... (it mainly did woesh for me... something way over my head)(but I saved the log that my irc client made, and i saved all your files and the solutions, so I can take a look back at it later ever) 20:47
masak gtodd: gist.github.com/masak/5496294 20:49
woolfy: feel free to ask questions or comment anything you find.
blkcat bummed that i wasn't able to pull away from work for this! thanks for hosting masak 20:53
masak blkcat: thanks. maybe next time :) 20:57
20:59 linuxer left 21:03 j0se joined
lizmat masak: fwiw, my PROMISE task: gist.github.com/lizmat/5498405 21:10
afaics, it should all just work (Ć¢ā€žĀ¢) 21:11
but the tests just don't :-(
timotimo lizmat: i'm mildly surprised that "enum Foo is export <A B C>" will not put A, B and C as arguments to Foo; i thought i had seen something similar some time where "is export" got arguments passed to it
lizmat the is export apperently allows you to access them from outside 21:12
but it doesn't really export them (yet)
timotimo mhm. how do you feel about using the brace form of the class and putting the enum outside the class? 21:13
masak lizmat: looking.
lizmat: did you know that you can put several (separate) files into one gist? 21:14
lizmat no I didn't
as a comment, you mean? 21:15
masak lizmat: lines 62 and 63: missing a colon.
no, as separate files.
there's a button "add another file" when you're editing the gist.
lizmat: actually I'm surprised that L62 and L63 aren't parse errors.
lizmat: should be TTIAR.
lizmat wow. that makes a big difference 21:16
masak lizmat: beyond that, the code looks squeaky-clean and gorgeous.
lizmat++
lizmat: please submit as a rakudobug that that parses. it really shouldn't.
lizmat will do
PerlJam that's crazy 21:17
21:20 hoelzro left
lizmat fwiw, value needs to be a non-private attribute, otherwise the initialization with values doesn't work 21:23
masak yeah.
it can still be readonly, of course.
(or you can write a custom .new) 21:24
lizmat but it doesn't complain about it either when passed to "new"
masak hm, or a custom .BUILD should be enuf.
lizmat shouldn't the default "new" not complain when trying to initialise private attributes ?
spider-mario due to homework that I have to do for friday, I haven’t been able to participate as much as I would have wished, but still, thanks a lot for the initiative, masak. :) 21:25
masak++
masak lizmat: yes, that sounds like a good idea. please propose on #perl6 :)
spider-mario: :)
spider-mario: maybe next time, then.
tadzik I like how all Promise solutions are mostly identical 21:26
spider-mario whoa, there will be one?
tadzik it means that the spec was very good )
:)
masak spider-mario: likely, yes.
spider-mario great. :D
thanks again :)
masak tadzik: yes, the Promise exercise seemed to work exceptionally well.
tadzik: Promises are in the air right now, especially in the JavaScript world.
tadzik yup 21:27
masak tadzik: check out Promises/A+ if you haven't already.
especially issue #94... ;)
lizmat actually, the spec is not really complete, as it doesn't state that calling "fulfill" or "reject" should execute the blocks specified by "then" 21:28
I guess everybody assumed that, but I don't see it in the spec
it can be inferred from the tests :-)
masak heh :) 21:29
in the Promises/A+ tests, they are supposed to be called *after* the .fulfill or .reject methods have exited. 21:30
but I skipped that bit. felt too complicated.
timotimo is it a good idea to say "the tests are as much part of the specs as the text!"?
lizmat I guess
final PROMISE gist: gist.github.com/lizmat/5498552 21:32
masak I added it to the list. 21:37
lizmat thanks!
timotimo masak: you missed mxeys fringe implementation, i'm afraid: gist.github.com/mxey/5497728 21:38
masak adds it, too
everyone's so awesome <3 21:39
timotimo thanks again for your work in preparing and hosting. much appreciated :) bedtime now, though!
masak 'night
22:00 GeirT joined
sergot gnight! 22:08
tadzik o/ 22:09
22:46 troydm joined 23:30 raiph joined 23:48 KvH joined