»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by diakopter on 25 January 2010.
TimToady those may not be so simple in p6 00:00
P5 would consider UTF-16 and UTF-32 to be binary, unless they've changed recently
but they're really text
lue well, the spec lists binary as containing odd characters, "such as control codes or bytes with the high bit set" 00:01
TimToady yes, it's rather latin-1-centric
we will not be carrying over the exact behavior 00:02
00:02 athenot left
TimToady would be better to have some kind of file type guesser that has more clue 00:02
lue maybe something like the file command in *nix, or MIME type (I don't trust file extensions)
00:03 cotto_working left, athenot joined
markjreed How are you going to get MIME type from a file in the filesystem? 00:03
lue I do not know. Just throwing ideas.
the hard-coded way would be a database-of-sorts listing all known 'magic numbers' of binary files and such. 00:04
markjreed Something like the algorithm file(1) uses, but that depends on /etc/magic...
arnsholt For file type guessing, it might be possible to train some kind of statistical model? 00:06
00:07 petdance joined
arnsholt Er, encoding, rather than file type 00:07
00:07 petdance left, petdance joined
markjreed web browsers have encoding-guessing algorithms.. 00:09
could port Encode::Guess maybe. 00:10
ash_ does icu have something for this?
00:10 lest_away is now known as lestrrat
ash_ since parrot *can* have icu built into it, if its not there then you'd have to have some sort of fallback 00:10
TimToady replacing icu with a pure P6 library would be a good project at some point 00:11
could be based on the unicode tables like P5 is
markjreed according to fredeaker.blogspot.com/2007/01/char...tion.html, ICU does have an encoding detector.
lue well, let's see how dependant other vital functions (Xorg, KDE, and the like) of the typical system are on icu, and guage our decision on that. 00:14
I'll be back in a little while, then I'll continue musing with you 00:17
ash_ does parrot have this? 00:18
have you asked the parrot guys about an encoding detection pmc/something? 00:19
00:19 cotto_working joined 00:30 ash_ left 00:32 nihiliad left
lichtkind PerlJam: ping 00:36
00:39 justatheory left 00:48 Chillance left 00:57 snarkyboojum joined 01:04 justatheory joined 01:05 markjreed left 01:07 Ivan4 joined 01:08 Ivan4 left
lue wow. Do I have to be here to continue the conversation? :) 01:15
lichtkind lue: hai 01:16
lue hi
colomon I think "everyone" is getting ready for the big conference / hackathon this weekend, probably. 01:17
lue 7H3R35 G0!/\/G 2 B AY H4K470/\/? \/\/0\/\/! 01:19
lichtkind lue: please calm down
lue AI D0/\/7 7h!/\/k ai k4n! (I'll stop now) 01:20
colomon yes, there's going to be a hackathon.
lue I'll find people to bring testimonials. "Call 1-8TIMTOWTDI now, to donate to our cause!" 01:21
lue .oO(The Larry Wall 45th anual Perl Foundation Hackathon!) #oh, the fun I'll have before I start hacking >:) 01:23
.oO(Wikipedia first ran on Perl code (before switching to the PHP MediaWiki))
colomon No applicable candidates found to dispatch to for '&infix:<=>' 01:27
that's a new one on me....
lue ACHTUNG!: infix:<=> could not be found. Please try the --things-do-equal-each-other option when you configure next time. 01:29
k23z__ will I get considerable speed boosts if I write some pieces that are now XS in nasm ? 01:34
I wrote a module for generating permutations using XS with the best known algorithm called Steinhaus-Johnson-Trotter and it's still 5 times slower than Algorithm::Permute and this disappoints me of my coding skills 01:35
I was hoping to beat it
now I am thinking about re-writing parts of it in nasm to make it faster
TimToady XS is kinda off topic here
not that we're strict about that... 01:36
arlinius you should write it in perl 6, then optimize rakudo/parrot to make it fast...
lue assembler is the fastest code you could possibly generate (assuming, of course, you're efficient about it)
diakopter .
01:38 yinyin joined
k23z__ ^ 01:39
he wrote a dot
diakopter so I did
k23z__ why/
01:39 wknight8111 joined
diakopter std: . 01:39
p6eval std 29935: OUTPUT«===SORRY!===␤Unsupported use of . to concatenate strings; in Perl 6 please use ~ at /tmp/0CIHJKxs7k line 1 (EOF):␤------> .⏏<EOL>␤FAILED 00:01 105m␤»
diakopter rakudo: say 900.00000000000000000 # masakbot 01:42
p6eval rakudo 4edd19: OUTPUT«PAST::Compiler can't compile node of type BigInt␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
diakopter rakudo: say (90^^4).WHAT # masakbot 01:44
p6eval rakudo 4edd19: OUTPUT«Method 'WHAT' not found for invocant of class 'Undef'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
k23z__ can anyone help me understand what the guy did here ? cpansearch.perl.org/src/ROBIN/Algor...Permute.xs 01:45
what's a multicall ?
is this a concept found in other languages ?
diakopter it appears like he/she wrote an .xs file 01:46
k23z__ or did he invent it ?
01:46 xuzj joined, xuzj left
colomon Tene: errr.... you seem to have broken Rakudo somewhat? 01:48
.oO(At least I didn't break it *phew*)
01:53 mssm left, cls_bsd joined 01:54 ShaneC left 01:55 lichtkind left
lue you guys know of the nazi armbands the soliders wore, right? 01:57
the NAZI soliders
diakopter squints sidelong 01:58
arlinius soliders? 01:59
diakopter rakudo: (sub {say (*)()})()
p6eval rakudo 4edd19: OUTPUT«!whatever_dispatch_helper␤»
diakopter # masakbot ^^ see above; I dunno...
arlinius hrm 02:00
lue Well, my friends and I came up with the Politically Correct and Copyright Infringment War Machines 02:01
diakopter lue plz stay closer to topic..
arlinius rakudo: my $x = *; say $x(0)
diakopter lue
p6eval rakudo 4edd19: OUTPUT«Method 'item' not found for invocant of class 'Integer'␤current instr.: '!whatever_dispatch_helper' pc 280 (src/glue/dispatch.pir:25)␤»
lue diakopter: oh fine, you'll never see the end :) . I just started talking because nothing was happening. 02:02
02:02 PZt joined
lue .rnd(please be advised the rnd bubbles can be ignored at your will (including this one)) 02:06
02:07 hicx174 joined
lue ghost hunters & 02:07
TimToady most topics can be related to Perl 6 if you try hard enough, but you *do* have to try hard enough :) 02:11
from time to time... 02:12
02:12 cotto_working left, nihiliad joined
k23z__ Rate tye SJT dchld A::P 02:16
tye 1.24/s -- -20% -52% -81%
SJT 1.55/s 25% -- -40% -76%
dchld 2.58/s 108% 66% -- -60%
A::P 6.45/s 421% 316% 150% --
this benchmark
does it say that SJT is slower by 76% than A::P ? 02:17
and that in turn A::P is faster by 316% than SJT ?
do I get this right ?
because it doesn't make much sense
diakopter tries not very hard
k23z__ those percents don't make much sense to me
do they make sense to you ?
02:18 rv2733 left
k23z__ do you guys also make benchmarks in Perl6 ? or is it not yet time to make them ? 02:18
diakopter not really
k23z__ 316 - (76/100) * (316) = 75.4 02:20
wasn't I supposed to get 100 ?
I mean it A::P is 316% of SJT 02:21
and SJT is 76 slower
bah nevermind too tired
colomon rakudo: say 316 - (76/100) * (316) 02:22
p6eval rakudo 4edd19: OUTPUT«75.84␤»
TimToady this sort of benchmark discussion is usually more appreciated on, say, perlmonks 02:23
02:23 eternaleye left
k23z__ ok here we discuss Parrot and Rakudo 02:25
diakopter and Perl 6 things
k23z__ ok
I'll go to bed
diakopter 'nite
02:25 k23z__ left 02:32 meppl left 02:35 eternaleye joined, hercynium joined
TimToady we also, of course, discuss anything *I'm* interested in. :) 02:38
since I'm related to Perl 6 somehow...
02:57 rv2733 joined
colomon TimToady: For series, "When no limit is given, the function need not be monotonic:"" 03:00
I've already coded up a bunch of non-monotonic series with limits for my tests. 03:01
03:01 snarkyboojum left
colomon Is that line a fossil? 03:02
TimToady the monotonic really only applies to intuitied functoins
if you have your own generator, matching of limits must be exact
or write your own terminator closure, now that we can have those
so it's kinda fossily 03:03
colomon I don't know of any actually useful examples, but the non-exact limit code is smart enough to handle your own generator too. 03:04
Like { (1..2).pick } ... 1.5 03:05
03:05 wknight8111 left
colomon Unless there's some trick I'm missing, NOT supporting that case with the user-generator will actually be more work than just supporting it. 03:06
TimToady okay, most interesting non-monotonics will be to * anyway
colomon agreed. 03:07
TimToady++ # I'm still really digging the current series spec, even if I'm not quite sure how to efficiently lazily support the arity > 1 cases. :) 03:08
colomon to bed.
TimToady night 03:10
03:36 policomb joined
policomb hi all 03:36
I've a little question
how is it possible to change/set an ethernet device mac address in perl (without using ifconfig) ... ? 03:37
03:38 petdance left
spinclad policomb: in perl 6? 03:41
with the right libraries, and right authorization... 03:42
policomb perl 6 or perl 5, it's the same for me
i would like to know how to do that
i'm root
spinclad in perl 6: you'd have a lot to invent/implement yourself. in perl 5: dunno, search cpan... 03:44
03:44 rv2733 left
spinclad or use pack and ioctl, with no portability i expect 03:46
the replacements for pack in perl 6 are not yet implemented, ioctl likewise 03:48
(classes managing packed buffers, for pack) 03:50
TimToady my impression is that parrot is still very weak on binary data
need compact arrays of ints of various sizes to do it right
spinclad aye 03:53
03:54 petdance joined 03:55 petdance left 03:58 am0c joined 04:00 policomb left 04:12 nihiliad left, athenot left 04:21 athenot joined
lue hello again. Can't wait for the Jerry Lewis Hackathon! 04:26
s/Jerry Lewis/Larry Wall/
04:31 ned left
lue (methinks the hackathon will be a pain for me on the Rakudo side if I kept on pasting patches. Shouldn't be too much a bother though) 04:34
04:38 Trashlord joined
lue --afk & 04:41
04:42 LionMadeOfLions joined 04:49 athenot left 04:54 ned joined 05:10 yinyin left, yinyin joined 05:17 meppl joined 05:46 drasnian joined, drasnian left 05:51 gfx joined 06:04 yinyin left, meppl left 06:05 yinyin joined 06:09 snarkyboojum joined 06:19 snarkyboojum left 06:20 justatheory left 06:46 rgrau left 06:47 yinyin left 06:50 kfo left 06:51 kfo joined 07:02 kaare joined 07:03 kaare is now known as Guest61020 07:07 Su-Shee joined
Su-Shee good morning 07:08
07:08 uniejo joined 07:28 xabbu42 joined 07:32 gfx left 08:02 iblechbot joined 08:16 snarkyboojum joined 08:19 Toony joined 08:23 masak joined
masak good morning, #perl6. 08:23
08:29 flip214 joined
flip214 Hi 08:29
mathw hi 08:32
masak hi!
Su-Shee sees your hi and raises to "hihi!" ;) 08:33
masak wonders if that falls under yesterday's ablaut discussion 08:34
sjohnson hi 08:36
masak [haI] 08:37
sjohnson heh
masak let's do something cool today on #perl6. 08:38
sjohnson that's a good idea 08:40
masak diakopter: I think you've long since filled your quota of 'this number has so many digist/decimals that it causes Rakudo to whimper' rakudobugs :)
rakudo: say (90^^4).WHAT # diakopterbug 08:41
p6eval rakudo 4edd19: OUTPUT«Method 'WHAT' not found for invocant of class 'Undef'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
masak submits rakudobug
pugs: say (90^^4).WHAT
p6eval pugs: OUTPUT«Bool␤»
08:46 flip214 left
masak rakudo: say (0 ^^ 0).WHAT # actually, this is wrong too 08:47
p6eval rakudo 4edd19: OUTPUT«Int()␤»
masak should be Bool().
mathw why? 08:48
masak mathw: S03:1304. 08:49
08:49 mathw sets mode: +o masak
masak "Returns the true argument if there is one (and only one). Returns C<Bool::False> if all arguments are false or if more than one argument is true." 08:49
mathw aaah 08:50
sorry, I was confusing it with infix:<**>
masak I can see how that would be confusing :) 08:52
08:52 am0c left
masak also from S03: 'Not all types can support the concept of infinity. Therefore any value of any type may be compared with C<+Inf> or C<-Inf> values, in which case the infinite value stands for "larger/smaller than any possible value of the type."' 08:54
I'm confused by the 'Therefore...' phrasing.
mathw I'm not sure it's 'Therefore' 08:55
masak oh, good.
mathw 'Therefore' implies that it's obvious
masak yes.
mathw which this isn't particularly, it's just rather handy
masak :)
I'd prefer 'However, "
mathw but it just needs a slight rephrase
hmm no, I don't think that'd work
masak "Nevertheless, " :) 08:56
mathw No, you need to change more than that
The second sentence has other problems
eternaleye s/Therefore/So that comparing finite values to infinite ones functions as most people would expect/? 08:57
masak :)
eternaleye Plus a comma
masak I feel that Damian's reply to the 'long literals' thread essentially settled the matter. 08:59
meeting & 09:01
09:04 k23z__ joined
k23z__ can Perl5 code be run in Perl6 ? 09:07
09:07 am0c joined
k23z__ can modules written in Perl5 be called from Perl6? 09:07
if not, is this in any future plans of development ?
09:07 araujo joined
mathw k23z__: Currently, no and no. jnthn++ has done some work on use of Perl 5 modules. I'm not sure what state that's currently in. It's certainly something highly desirable. 09:16
There is a subset of Perl 5 code which is valid Perl 6, but it's fairly small due to the syntax changes around arrays and hashes and loops and other common things.
09:17 dakkar joined
hejki also there is a bigger subset of ill-written perl5 code which is valid in perl6 :) 09:36
e.g. my @ar; @ar[0] = "foo"; :)
09:37 payload left
mathw But that's wrong Perl 5 09:39
So it's not ill-written, it's just a syntax error 09:40
hejki err..
it does work in perl5 tho
but it's not correct thus making it ill-written imo
mathw It works?? 09:41
Oh wait
array slice
huf it's probaby a warning or something
mathw it probably only works by sheer fluke
hejki er.. all ill-written perl5 begins with: don't { use warnings; use strict; } :) 09:42
09:48 mssm joined 09:50 jnthn_and_mberen joined
jnthn_and_mberen oh hai 09:51
masak: ping
moritz_: ping
phenny: tell pmichaud please see gist.github.com/321595 if you get chance. :-) 09:53
phenny jnthn_and_mberen: I'll pass that on when pmichaud is around.
jnthn_and_mberen phenny: tell masak take a look at gist.github.com/321596 09:55
phenny jnthn_and_mberen: I'll pass that on when masak is around.
jnthn_and_mberen phenny: tell moritz_ take a look at gist.github.com/321596 09:56
phenny jnthn_and_mberen: I'll pass that on when moritz_ is around.
jnthn_and_mberen We'll be back. o/ o/ 09:59
09:59 jnthn_and_mberen left 10:05 k23z__ left 10:16 |newbie| joined
|newbie| hi 10:16
where can I find gimme5?
10:26 orafu left, orafu joined
masak |newbie|: svn.pugscode.org/pugs/src/perl6/ 10:29
phenny masak: 09:55Z <jnthn_and_mberen> tell masak take a look at gist.github.com/321596
masak takes a look
(so, jnthn and mberends have finally merged into a fearsome mechbot?) 10:30
|newbie| hi masak 10:31
masak hi jaffa4
|newbie| jaffa4? 10:32
masak sorry, am I confusing you with someone else?
10:32 am0c left
|newbie| no 10:33
masak |newbie|: irclog.perlgeek.de/perl6/2010-03-02#i_2055372
10:33 |newbie| is now known as jaffa4
hejki a bit offtopic, but still "related": www.patentstorm.us/patents/7028023.html :) 10:34
jaffa4 Could someone tell me how to use gimmi5? 10:35
masak hejki: that's just so depressing. 10:36
hejki almost as depressing as the 'peanut butter sandwich'-patent :P
sjohnson almost as depressing as having this happen to you: images.4chan.org/b/src/1267698521810.png 10:39
masak sees '4chan', chooses not to be curious
sjohnson i drew it myself
so it's safe 10:40
masak what does this Japanese twitterer say about Perl 6? twitter.com/mr_konn/status/9961701457 10:41
something about politics.
jaffa4: I suggest you look at the Makefile in that directory. it uses gimme5. 10:43
jaffa4 never mind, I have figured it out.
masak goodie. 10:44
10:54 stepnem left
jaffa4 masak, how can I downloade the whole svn.pugscode.org/pugs/src? 10:57
10:58 xinming left
masak svn checkout svn.pugscode.org/pugs 10:58
svn checkout svn.pugscode.org/pugs/src, even
hejki s/(heck|ut)//g; 10:59
10:59 xinming joined
masak both 'checkout' and 'co' should work, according to 'svn help'. 11:00
hejki sure, i just see no reason to waster precious bytes by typing the word as a whole :) 11:01
11:02 stepnem joined
masak hejki: obbviously you're not using Ctrl+R in bash nearly enough :P 11:02
hejki what? :P 11:06
11:06 lestrrat is now known as lest_away
hejki i'm more of a history | grep-kinda guy :) 11:07
masak Ctrl+R in bash simply rocks. 11:09
hejki it has it's use cases yes
my favorite bash hotkey is definetly M-_ tho :)
masak that one's nice as well. 11:11
masak tends to use Esc . for that, though
jaffa4 masak, is there an example how to use viv? 11:12
11:13 daemon left
masak jaffa4: there's a USEAGE heredoc in the source. 11:13
hejki masak: well you prolly aren't on a similar keyboard layout either :)
jaffa4 yes, I know about that. 11:14
I am interested in something else.
how to catch actions in viv? 11:15
masak hejki: I run a US layout most of the time. 11:16
jaffa4: I don't understand the question.
jaffa4 is there a way to hook actions in viv?
or walkthrough the datastructure of the syntax tree using a perl program? 11:17
masak the latter is definitely possible. 11:18
just pipe it into a perl program.
jaffa4 without processing 11:19
the output
masak er.
That's like asking "Is there a way to not be so thirsty? Without drinking." 11:20
11:21 Gothmog_ left 11:23 _Jedai_ left
jaffa4 look 11:25
here it is 11:26
$r = STD->parse($PROG, actions => 'Actions')->{'_ast'};
the whole ast will be in $r.
no need to parse the output!
masak ok, so there you go then.
jaffa4 line 91 in viv.pl
11:28 lest_away is now known as lestrrat
masak jaffa4: good luck, whatever it is you're attempting. it sounds interesting. 11:28
lunch &
hejki masak: ok. i'm on FI layout all the time :) 11:30
11:30 am0c joined 11:38 Gothmog_ joined, stepnem left 11:40 f00li5h[HireMe] left, f00li5h[HireMe] joined 11:41 stepnem joined 11:42 k23z__ joined, k23z__ left, k23z__ joined
k23z__ does p6 have a way of looping through an array taking each consecutive pair ? 11:43
suppose the array were @a
and I want $f->($a[$i],$a[$i+1]) for $i (0..@a-2) 11:44
does p6 provide some sugar for that ?
hejki for @ar -> $x, $y { ... } ?
k23z__ ah yes forgot
hejki wait
k23z__ I used it a couple of months ago I think
yes ?
hejki it doesn't work exactly like you want it to
rakudo: for (1..10) -> $a, $b { say "a: $a b: $b"; } 11:45
p6eval rakudo 4edd19: OUTPUT«a: 1 b: 2␤a: 3 b: 4␤a: 5 b: 6␤a: 7 b: 8␤a: 9 b: 10␤»
k23z__ hmm ..
hejki i thought you wanted: 1,2 2,3 3,4 4,5 5,6
k23z__ yes
hejki you could use Z or X with 2 arrays
k23z__ I could shift one of the arrays 1 position forward 11:46
how do I shift an array with 1 position forward ?
hejki rakudo: for (1..10) X (2..11) -> $a, $b { say "a: $a b: $b"; } # might fail :)
k23z__ I mean having (1,2,3) -> (bla,1,2,3)
p6eval rakudo 4edd19: OUTPUT«Missing block at line 11, near "X (2..11) "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
k23z__ hejki: yeah like that
but ...
it's cartesian product
it's more than I need
hejki yes 11:47
rakudo: for 1..10 Z (2..11) -> $a, $b { say "a: $a b: $b"; }
p6eval rakudo 4edd19: OUTPUT«a: 1 b: 2␤a: 2 b: 3␤a: 3 b: 4␤a: 4 b: 5␤a: 5 b: 6␤a: 6 b: 7␤a: 7 b: 8␤a: 8 b: 9␤a: 9 b: 10␤a: 10 b: 11␤»
hejki voilá
k23z__ yeah that looks great 11:49
hejki: now we just need to generate (2..11) from (1..10)
betterworld alpha: my @a = 1..10; for @a Z (@a >>+>> 1) -> $a, $b { say "a: $a b: $b"; }
p6eval alpha 30e0ed: OUTPUT«a: 1 b: 2␤a: 2 b: 3␤a: 3 b: 4␤a: 4 b: 5␤a: 5 b: 6␤a: 6 b: 7␤a: 7 b: 8␤a: 8 b: 9␤a: 9 b: 10␤a: 10 b: 11␤»
k23z__ betterworld: excellent
thank you 11:50
I didn't know p6 had these operators but it's very nice it does
11:50 snarkyboojum left
hejki hmm.. 11:50
11:52 jaffa4 left
betterworld or maybe @a Z @a[1..*] so it works with other arrays too 11:55
hejki even better :) 11:57
and looks better as well :>
12:08 korpenkraxar joined 12:11 lichtkind joined
lichtkind moritz_: got my msg? 12:12
masak: moin 12:13
12:13 rv2733 joined
masak lichtkind: hej, hej 12:15
lichtkind :)
masak: currently working on www.perlfoundation.org/perl6/index.cgi?timeline
masak nice. 12:16
lichtkind: guess you saw my comments on that page from yesterday?
lichtkind: "lasted until 2006 August 23" -- maybe make this a separate timeline item instead? makes it easier to see where it fits into the history. 12:18
lichtkind yes and yes 12:19
i thought about that
masak lichtkind: "2010 April Rakudo star release" doesn't fit into the list of "what happened so far".
lichtkind: also, you misspelled "happenEd".
lichtkind soon it will
masak lichtkind: you're missing the point.
it hasn't happened so far. 12:20
thus it doesn't belong on the list.
it belongs on an other list, "things which haven't happened so far".
12:20 daemon joined
masak along with a lot of other important things :) 12:20
hejki imagine slacking like that in a corporate job :) 12:21
k23z__ masak: is there a plan for SDL or OpenGL bindings along the way ?
12:21 ruoso joined
masak k23z__: don't think so. please go right ahead and start a project. 12:22
12:31 athenot joined
lichtkind masak: bah www.perlfoundation.org/perl6/index.cgi?timeline 12:32
masak lichtkind: looks better and better :) 12:33
lichtkind masak: i added the hague grant too
masak 'and other stuff' -- questionable phrasing.
it's too informal and not at all informative.
'for, among other things, Perl 6' would work better, IMHO. 12:34
12:42 petdance joined 12:53 athenot left 12:56 nacho joined 13:00 petdance left 13:04 k23z__ left
takadonet morning 13:04
masak takadonet: \o 13:09
takadonet masak: how are you doing?
masak takadonet: pretty well. you?
takadonet masak: busy but good 13:10
13:10 payload joined
masak takadonet: yes, me too. presentation in two days. :) 13:12
13:12 nacho left
takadonet where and what is your presentation? 13:12
masak www.opensourcedays.org/2010/node/267 13:13
takadonet nice
masak thanks -- really looking forward to the conference, the hackathon, and everyone's talks. 13:14
takadonet will your presentation be online after the conference? 13:15
masak online, cc-licenced, possibly even with a video (eventually).
m-locks aye we'd like to see ;) 13:16
masak that makes me happy, too :)