»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
k_89 hi timotimo 00:04
I made this: tabel.tech/
Technically I want m:n multiplexing fir node.js 00:05
for*
In my region's startup-ecosystem, I am kind of a tech-Arthas 00:06
www.youtube.com/watch?v=bmUxvX2z5N0 00:07
:/ 00:08
k_89 perl.plover.com/yak/design/ 00:18
www.reddit.com/r/aoe2/comments/93t...allistics/ 00:25
k_89 'www.reddit.com/r/node/comments/8vs...et/e1qnfmk 00:29
k_89 www.catb.org/esr/faqs/hacker-howto.html 00:31
k_89 www.blastwave-comic.com/ 00:37
k_89 medium.com/@kapv89/code-will-alway...7d3cdfe145 00:38
flowapp-in.s3-accelerate.amazonaws...775375.png 00:43
k_89 www.linkedin.com/in/abhititewari/ 00:48
k_89 www.linkedin.com/in/siddharth-rao-437b8867/ 00:48
twitter.com/kapv89/status/1042002972652097537 00:49
softwareengineering.stackexchange....vm-license
softwareengineering.stackexchange....ting-the-s
k_89 twitter.com/ShawnMcCool/status/102...6583465984 00:50
twitter.com/iamdevloper/status/102...7165384705
k_89 news.ycombinator.com/item?id=12642799 00:52
k_89 news.ycombinator.com/item?id=17521289 00:53
k_89 news.ycombinator.com/item?id=13730649 00:54
Zoffix k_89: what's with the spam?
k_89 Technically I want m:n multiplexing fir node.js
for*
Can I take it?
Geth DBIish/master: 8 commits pushed by (Jonathan Worthington)++, (Salvador Ortiz)++ 01:07
Geth DBIish: 3499cde3ca | (Zoffix Znet)++ (committed using GitHub Web editor) | META6.json
Bump version
01:26
AlexDaniel squashable6: next 03:32
squashable6 AlexDaniel, Next SQUASHathon in 16 days and ≈6 hours (2018-10-06 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
El_Che ` 06:44
Altreus I have to wonder at the value of porting core perl5 modules to perl6 and maintaining the API, when those modules include things like Text::CSV 07:45
Text::CSV is ripe for modernisation, so porting the API to Perl6 doesn't seem valuable at all
moritz Text::CSV is not a p5 core module 08:21
Altreus community core, not installation core 08:54
I drew the knowledge from lizmat's first post in the series
buggable New CPAN upload: Array-Agnostic-0.0.6.tar.gz by ELIZABETH modules.perl6.org/dist/Array::Agnos...:ELIZABETH 09:14
buggable New CPAN upload: Hash-Agnostic-0.0.1.tar.gz by ELIZABETH cpan.metacpan.org/authors/id/E/EL/...0.1.tar.gz 10:44
Altreus Has anyone written a webapp with LDAP auth? Is there a layer over Cro that provides more of a web framework, for example? 11:20
Geth doc: 995dd52dc6 | (JJ Merelo)++ | doc/Language/syntax.pod6
Explains #2313 a bit more. Not enough, though
11:26
synopsebot Link: doc.perl6.org/language/syntax
moritz Altreus: at $work, the applications that use LDAP auth do the authentication in apache or nginx, and simply trust the "User: " header that the webserver sends 11:27
Altreus that seems elegant 11:27
is it robust? 11:28
moritz You just have to take take to not expose the application itself (without web server frontend) to the outside 11:30
which works well with FastCGI (no socket open that could leak), though with firewalls and taking care which interface to listen on, that works as well 11:31
but otherwise, the apache modules for ldap authentication are rock solid, and work with ldap and AD
the disadvantage is that you get the login prompt from the browser, not a fancy form with "forgot password" field 11:32
which works reasonably well for internal services
but probably not something you'd put on an Internet-facing B2C portal
Zoffix moritz: don't know if you saw a ping on github, but perl6book.com needs to pull new commit from repo 11:38
moritz Zoffix: I hadn't, thanks 11:42
update
Zoffix moritz++ 11:49
masak I have a philosophical-ish question: does the idea of a "numerical tower" mesh with the idea of Liskov Substitutability? 11:57
concretely, is the fact that `Int ~~ Rat` (in languages with a numerical tower, not in Perl 6) mesh with the notion that Int should "exhibit all the behaviors" Rat exhibits, and uphold all its invariants, etc? 11:58
moritz well, you can model it that way; it's a bit weird, but I think you can uphold the invariants 12:01
depends on how you design the interface, I guess
masak yeah; guess so 12:02
for the record, I still respect and understand Perl 6's decision not to make Int a subtype of Rat
masak I think it'll forever be a surprise to people starting with the language -- but I also see what went into that design decision 12:03
design is hard :)
moritz but if you have a constructor Rat.new($nu, $de)
then Int.new would need to restrict that to Int.new($nu, 1)
which isn't Liskov-compatible, in a strict understanding
masak *nod*
so... can't have that constructor ;)
moritz also, if you use inheritance, you typically also inherit representation, which is wasteful 12:04
masak I mean, the constructor *leaks* Rat representation
moritz Int would be a subset, in mathemtical terms 12:04
masak yes, but not in the Liskov sense, is my point 12:05
moritz but most programming languages don't expose subset typing (that might even add methods) in the same sense that mathemticians use that
masak it's funny, I've been reading up on Smalltalk lately, and they subtype in cases where the new type is *not even a subset* in the mathematical sense
the rationale seemingly being "what? we needed those methods"
very, um, pragmatic 12:06
moritz when I first saw ruby's 5.times: block here 12:10
masak I know just what you're going to say :)
moritz I also thought: is it really the Integer's job to know about control flow?
masak yup, that
moritz people have interesting ideas about responsibility vs. API aesthetics
masak on the other hand, I feel that way about Any.say 12:11
it might be that it comes down to esthetics, convenience, and such things
in retrospect, I think it'd've been cleaner with 42.&say()
m: sub times($num, &block) { &block() for ^$num }; 5.&times: { say "OH HAI" } 12:12
camelia OH HAI
OH HAI
OH HAI
OH HAI
OH HAI
masak "outside-in methods" :)
masak people who feel like a method is missing on a built-in should be all over the `$obj.&fn()` construction, IMHO 12:14
moritz +1 12:15
I, for one, could also well live with say() being a function only (except IO handles, of course) 12:16
masak of course
the IO handles say is *clearly* a different method, since it takes the value(s) to print as parameters, not as the invocant
kensanata What's the best way to write files in a concurrent context: implement my own file locking by using mkdir? Or is there some Perl 6 feature that helps me do it? 12:26
masak react/whenever, or other things with actor semantics? 12:28
kensanata masak: Yeah, that looks good for waiting for the lock to be released. But there's $path.IO.lock returning a Bool, for example? 12:30
masak um, "pass" :)
(as in, I don't know.)
sounds like something lizmat++ might know, though
kensanata 👍
jnthn $path.IO's lock/unlock are using the file locking provided by the operating system 12:45
kensanata jnthn: Where can I read up on this? I'm trying p6doc IO, docs.perl6.org/type/IO, docs.perl6.org/type/IO::Path, and I don't see "lock" mentiond anywhere. 12:51
kensanata "No such method 'lock' for invocant of type 'IO::Path'." But then again I'm using 2018.06 so perhaps that explains it? 12:52
Zoffix kensanata: those are IO::Handle's methods, not IO::Path's. docs.perl6.org/type/IO::Handle.html#method_lock 12:54
Geth doc: 9a84275831 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Handle.pod6
Explain why we're not explicitly unlocking a handle
12:57
synopsebot Link: doc.perl6.org/type/IO::Handle
kensanata Zoffix: Thanks! 12:59
lichtkind what is the rational to allow wanges like (5..3) ? 13:36
moritz useful for loops 13:40
[Coke] m: my $a = 5..3; for @$a { .say } 13:41
camelia ( no output )
[Coke] m: my $a = 3..5; for @$a { .say }
camelia 3
4
5
[Coke] is it though? :)
moritz yes 13:42
harrison m: my $a = (5...3); @$a.say; 13:43
camelia (5 4 3)
moritz if you do something like for $lower..$upper { do stuff }, where $lower and $upper are calculated
btw even python has this behavior 13:44
list(range(5, 3))
=> []
[Coke] moritz: that doesn't work though: 13:50
m: my $a = 5; my $b = 3; for $a..$b { .say }
camelia ( no output )
[Coke] (your example has lower to upper, which would work, but upper to lower doesn't in a for loop. harrison's example does work, however.) 13:51
harrison quick question... why does brackets make it work? 13:52
m: my $a = 5; my $b = 3; for ($a...$b) { .say }
camelia 5
4
3
SmokeMachine m: my $a = 5; my $b = 3; for $a...$b { .say } 13:53
camelia 5
4
3
SmokeMachine harrison: thats not the brackets that make it work...
theres a difference between `..` and `...` 13:54
harrison SmokeMachine: I see. Is it there in the docs?
SmokeMachine m: say (1 .. 5).^name, (1 ... 5).^name
camelia RangeSeq
harrison SmokeMachine: Interesting...
SmokeMachine m: say (1, &[+] ... *)[^10] 13:55
camelia (1 1 2 3 5 8 13 21 34 55)
geekosaur pretty sure this is in the traps doc
SmokeMachine harrison: docs.perl6.org/language/operators#..._operators 13:56
harrison: docs.perl6.org/language/operators#infix_.. 13:58
harrison SmokeMachine: Thanks.
kensanata I must be misunderstanding something about locks... I thought that given two filehandles for the same path $fh1.lock; $fh2.lock; would result in a deadlock but it doesn't, for my tests. This is for Linux and ext4. Does it not work for the same process? 14:23
perlbot kensanata pasted a new file at f.perl.bot/p/wktmdu - 14:27
buggable New CPAN upload: epoll-0.2.tar.gz by CTILMES modules.perl6.org/dist/epoll:cpan:CTILMES 14:34
kensanata Oh well. I rewrote it using mkdir and rmdir... alexschroeder.ch/cgit/oddmuse6/tre...ck.pm6#n28 14:40
buggable New CPAN upload: DB-Pg-0.5.tar.gz by CTILMES modules.perl6.org/dist/DB::Pg:cpan:CTILMES 14:44
Zoffix kensanata: you've used `non-blocking` argument set to true. Doesn't that work contrary to your goal of wanting to block? 14:58
kensanata Zoffix: In this case, I actually don't want a deadlock: if we didn't get the lock in 3s, for example, I want to ignore it and continue, e.g. show an error to the user. That's why I just want to know: did I get a lock? If not, wait for another second. 14:59
perlbot kensanata pasted a new file at f.perl.bot/p/6mswko - 15:00
kensanata Zoffix: Here is a very short example. That wasn't the output I expected. In this case I would have thought that the second .lock waits forever. 15:01
Zoffix kensanata: in that last paste you're locking the same handle tho 15:01
or is it meant to block there too? 15:02
don't seem to lock anything for me :S 15:03
perlbot kensanata pasted a new file at f.perl.bot/p/ao8yuk -
kensanata Zoffix: Yeah. Last paste shows two different file handles for the same name. Still no deadlock. 15:04
Zoffix ponders 15:05
I guess it does indeed only work between processes :/ 15:14
Zoffix We use `fcntl` to set the locks. 15:15
melezhik Hi perl6 devs. I found an issue with shell function
yoleaux 27 Jun 2018 13:58Z <AlexDaniel> melezhik: colabti.org/irclogger/irclogger_log...06-27#l448
Zoffix melezhik: what is it?
melezhik 5 secs
perl6 -e 'for (1) -> $j { shell "sh -c \"perl -e die\""; }' 15:16
Died at -e line 1.
echo $?
0
seems, shell does not raise exception in this case
when it is called in { }
Zoffix looks like something with the `wanted` helper perhaps. 15:18
oh wait
$ perl6 -e 'for (1) -> $j { shell "sh -c \"perl -e die\"" }; dd "still alive"'
Died at -e line 1.
"still alive"
Zoffix I'll file 15:19
melezhik yeah, compare with
perl6 -e 'shell "sh -c \"perl -e die\"";'
The spawned command 'sh -c "perl -e die"' exited unsuccessfully (exit code: 255) in block <unit> at -e line 1
melezhik yeah, I have encountered the issue in my Sparrowdo code when has a plenty of shell calls in loop 15:20
it took me hours to localize the bug (((: hehe
btw workaround - just to add say "something" right after shell invocation in loop 15:22
perl6 -e 'for (1) -> $j { shell "sh -c \"perl -e die\""; say "OK" }'
Died at -e line 1. The spawned command 'sh -c "perl -e die"' exited unsuccessfully (exit code: 255) in block <unit> at -e line 1
Zoffix R#2292 15:23
synopsebot R#2292 [open]: github.com/rakudo/rakudo/issues/2292 `for` loop special cases Failure sinkage but not Proc
melezhik yeah, worth it to mentioned the workaround as a hint
Zoffix Also R#1571
synopsebot R#1571 [open]: github.com/rakudo/rakudo/issues/1571 Flaws in implied sinkage / `&unwanted` helper
melezhik github.com/rakudo/rakudo/issues/22...-422845773 15:24
Zoffix kensanata: filed R#2293 15:27
synopsebot R#2293 [open]: github.com/rakudo/rakudo/issues/2293 [IO] IO::Handle.lock/.unlock useful only between processes
tobs m: callframe(2).code andthen ??? 15:28
camelia Died with X::Method::NotFound
in block <unit> at <tmp> line 1
tobs I suppose andthen tries to call something on .code but it is too low-level to support it? Is this a DIHWIDT? 15:30
timotimo m: callframe(2).code andthen .perl.say 15:31
camelia Died with X::Method::NotFound
in block <unit> at <tmp> line 1
timotimo m: callframe(2).code andthen *.perl.say
camelia Died with X::Method::NotFound
in block <unit> at <tmp> line 1
timotimo hum.
tobs m: say callframe(2).code
camelia eval
tobs m: say callframe(2).code.WHAT
camelia Cannot look up attributes in a NQPRoutine type object
in any name at gen/moar/stage2/NQPCORE.setting line 387
in any gist at gen/moar/stage2/NQPCORE.setting line 393
in block <unit> at <tmp> line 1
Zoffix andthen calls .defined 15:34
m: use nqp; nqp::defined(callframe(2).code) ?? callframe(2).code.perl.say !! "meows"
camelia WARNINGS for <tmp>:
Useless use of constant string "meows" in sink context (line 1)
Died with X::Method::NotFound
in block <unit> at <tmp> line 1
Zoffix m: use nqp; nqp::defined(callframe(2).code) ?? callframe(2).code.perl.say !! "meows".say
camelia Died with X::Method::NotFound
in block <unit> at <tmp> line 1
Zoffix :(
m: use nqp; nqp::defined(callframe(2).code)
camelia ( no output )
Zoffix ah, right 15:35
Zoffix m: sub foo { callframe(3).?code.?perl andthen .say }; foo 15:36
camelia ( no output )
Zoffix m: sub foo { callframe(1).?code.?perl andthen .say }; foo 15:37
camelia -> { #`(Block|59988416) ... }
AlexDaniel Zoffix: that's an old issue actually 15:45
let's see if I can find a ticket 15:46
AlexDaniel ok maybe not 15:46
kensanata AlexDaniel: I still have this weird problem. Just now I made a change to my code and ran the test, got "This type (NQPMu) does not support associative operations", did "rm -rf lib/.precomp/" and ran my tests, no problem. Therefore, I sadly can't provide a test case. On a clean checkout, I'd assume that it'll always work. 16:00
AlexDaniel kensanata: sure but that just means that I need to run it twice 16:01
or how many times
kensanata Sadly it is not that simple. I've been editing code for hours and had this happen maybe three times today? 16:02
AlexDaniel kensanata: then it's easy. We make a few clones of you, I guess ≈12 should be enough to bisect, and then on each step we let them work with the same seed 16:04
if it's also reproducible on 2015.12 then I guess we just let most of them go 16:06
kensanata AlexDaniel: Let's see. How about this: git clone alexschroeder.ch/cgit/oddmuse6; cd oddmuse6; make test; echo >> lib/Save.pm6; make test -- does that trigger the bug for you? I've been using git reset --hard; rm -rf lib/.precomp/; make test; echo >> lib/Save.pm6; make test for a half a dozen times now and it seems to reproduce it. 16:08
So perhaps it only appears after touching certain files? 16:09
AlexDaniel kensanata: META6.json file is not entirely right, I got Could not find Cro::HTTP::Test
even after zef install --deps-only . 16:10
kensanata Yeah, probably. You need zef install Text::Markdown; zef install Template::Mustache; zef install --/test cro; zef install --depsonly . (at least that's what my notes say) 16:11
I added Text::Markdown and Template::Mustache to the dependencies. 16:13
It already says "Cro::HTTP" so I'm not sure what else to put there...
jnthn Probably Cro::HTTP::Test, though that probably belongs only in test-depends 16:14
buggable New CPAN upload: Sparrowdo-Cordova-OSx-Build-0.0.5.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo::C...n:MELEZHIK 16:14
kensanata jnthn: Right.
AlexDaniel ouch… I just ran out of memory 16:20
AlexDaniel kensanata: triggered. 16:24
kensanata Wow!
AlexDaniel yeah seems to be consistent also 16:28
kensanata AlexDaniel: Zoffix made a small comment yesterday, colabti.org/irclogger/irclogger_log...09-18#l335 16:34
AlexDaniel Eh… cmon people, if I say that your module tests are flapping, then they are flapping even if you can't reproduce it 16:37
kensanata I fixed up my META6.json and added a Test::META thing to my tests and it says "license ‘AGPL-3.0-or-later’ is not one of the standardized SPDX license identifiers" but if I check spdx.org/licenses/ I can see it. Any ideas? 16:41
AlexDaniel kensanata: github.com/jonathanstowe/Test-META/issues/31 16:41
kensanata AlexDaniel: Heh. 16:43
AlexDaniel what's prove6? 17:06
well nvm 17:07
kensanata: ok, here 17:15
e: gist.github.com/AlexDaniel/92f8209...f58b8eab80
evalable6 (exit code 1) Cloning into 'oddmuse6'...
t/changes.t .. ok
t/edit.t ..... ok
t/keep.t ....…
AlexDaniel, Full output: gist.github.com/5324c226ded1035604...195fa26501
AlexDaniel kensanata: ↑ there's a missing dependency but we can ignore that, the point is that “This type (NQPMu) does not support associative operations” is in the output 17:16
so
committable6: vars
committable6 AlexDaniel, timeout=10
AlexDaniel committable6: timeout=120
committable6 AlexDaniel, timeout is now set to “120” (default value is “10”)
AlexDaniel committable6: 2015.12 gist.github.com/AlexDaniel/92f8209...f58b8eab80
committable6 AlexDaniel, gist.github.com/050cacf8cbf9649fb2...f04bad6a0b
AlexDaniel uhh 17:17
committable6: 2017.01 gist.github.com/AlexDaniel/92f8209...f58b8eab80
lichtkind m: 1 (cont) 1..3
camelia WARNINGS for <tmp>:
Useless use of "(cont)" in expression "1 (cont) 1.." in sink context (line 1)
lichtkind m: say 1 (cont) 1..3
camelia False
lichtkind m: say 1..3 (cont) 1
camelia True
lichtkind m: say 1..3 (cont) 1..2
camelia False
lichtkind shouldnt that be tru too? 17:18
m: say 1..3 (cont) 2
camelia True
AlexDaniel lichtkind: what's cont?
lichtkind contains as in contains in set
committable6 AlexDaniel, gist.github.com/51ee5b5a6b8c988dc0...2c612b349b
lichtkind AlexDaniel the mittle expression was true becasue 1..3 contains 1 17:19
ilmari contais as en element
1..2 is not an element
AlexDaniel m: say 1..2 (<=) 1..3 17:20
camelia True
AlexDaniel “Subset of or equal to operator” – that sounds like what you want
ilmari ((1..2), (1..3)) (cont) (1..2)
m: ((1..2), (1..3)) (cont) (1..2)
camelia WARNINGS for <tmp>:
Useless use of "(cont)" in expression "((1..2), (1..3)) (cont) (1..2)" in sink context (line 1)
ilmari m: say ((1..2), (1..3)) (cont) (1..2)
camelia True
AlexDaniel kensanata: oh wait, you don't need to run it twice to reproduce? 17:29
kensanata: looking at gist.github.com/Whateverable/51ee5...2c612b349b 17:30
kensanata AlexDaniel: I don't quite understand what you're doing, there. On my system, I need to remove .precomp/ and I'll get a working test; then make that change, and the test will fail. I therefore assumed that if you don't remove .precomp/ you might or you might not get a failing test next. So in my scenario, two tests are always required. 17:33
AlexDaniel: Basically I'm claiming that the .precomp content is not correctly updated after the whitespace change. 17:34
AlexDaniel kensanata: that's ok, I don't know what I'm doing too
bisectable6: timeout=150
kensanata Haha
bisectable6 AlexDaniel, On both starting points (old=2015.12 new=d275ea0) the exit code is 1 and the output is identical as well
AlexDaniel, Output on both points: «04===SORRY!04=== Error while compiling /tmp/KdVX8EvtmO␤Undeclared routine:␤ timeout used at line 1␤␤»
AlexDaniel kensanata: but basically, it seems like this issue existed for quite a while 17:46
AlexDaniel kensanata: also, I think I bisected it 17:48
There are 5 candidates for the first “new” revision. See the log for more details
gist.github.com/Whateverable/5ae61...443adc39b8 17:49
for example: github.com/rakudo/rakudo/commit/31...33e5494b11
looks related
kensanata: anyway, please file a ticket with what you have
huggable: rakudobug
huggable AlexDaniel, Report bugs on github.com/rakudo/rakudo/issues/new If you don't have access to GitHub, you can email your report to [email@hidden.address] . See also: github.com/rakudo/rakudo/wiki/rt-introduction
masak actually, it's not clear to me whether Scheme (which has a numerical tower) thinks in terms of subtypes when it asserts that "an Int is a kind of Rat" 18:27
diakopter o_O 18:28
masak because it exposes the belonging-to-a-type as predicates; integer?, rational?, etc
and it feels like it's in the eye of the beholder to interpret the predicates as actual subtypes 18:29
they're just predicates that induce a subtyle relation :P
subtype* 18:30
masak .oO( masak, thou art not very subtyle )
moritz no, you're supertyle! 18:33
masak as long as that doesn't mean I have to be part of the Avengers... 18:35
rindolf ahoy, me maties! 18:52
buggable New CPAN upload: Sparrowdo-Cordova-OSx-Fortify-0.0.1.tar.gz by MELEZHIK cpan.metacpan.org/authors/id/M/ME/...0.1.tar.gz 19:04
timotimo jesus christ 21:24
timotimo the anti-freenode spam is back 21:25
leont is curious what <<use isms 'C++'» is supposed to do 21:26
timotimo m: new Str 21:27
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax
at <tmp>:1
------> 3new Str7⏏5<EOL>
timotimo m: use isms 'C++'; new Str
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
new used at line 1 (in Perl 6 please use method call syntax instead)
timotimo m: sub new($foo) { }; new Str 21:28
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax
at <tmp>:1
------> 3sub new($foo) { }; new Str7⏏5<EOL>
timotimo m: use isms 'C++'; sub new($foo) { }; new Str
camelia ( no output )
timotimo it allows you to use a sub called "new"
rather than warning you that "new Str" is likely not what you want/think 21:29
leont That's rather inappropriately named, IMO 21:34
The new operator is not something one ought to be using in modern C++, it kind of is a code-smell. 21:35
timotimo huh, really?
how else do you allocate stuff?
tadzik huh, what's the modern C++ alternative?
leont Also, in C++ new is only used for heap allocated objects, not for stack allocated objects (not that Perl6 has an equivalent of that distinction) 21:36
In modern C++ one would use smart pointers, and a helper to create them
timotimo hm, so we should just kick out the detection of "new"?
leont I would consider it more of a Javaism, TBH
E.g. «std::make_unique<Foo>("foo", 1)», instead of «std::unique_ptr<Foo>(new Foo("foo", 1"))» (shorter and better exception safety) 21:37
In java, the new operator would be used for all objects. If you're heap-allocating most of your C++ objects you've done something terribly wrong, or are very stuck in the 90. 21:38
timotimo TBH i never properly took the time to understand RAII 21:39
leont Then you're probably not a C++ programmer :-p 21:44
timotimo i did some Qt, which I imagine you know means i don't program C++ at all ;) ;) 21:47
leont My dayjob is also Qt, it's good at what it does, but also quite stuck in the 90s in a lot of ways
timotimo i'm not trying to say it's bad :)
just didn't want to claim "i know qt" means "i know c++" 21:48
ttkp6 "stuck in the 90's" isn't entirely bad, imo. 21:50
leont Only when it comes to music :-p
leont (erm, that can be interpreted in both directions) 21:51
ttkp6 heh
Xliff How do you escape formatting codes in POD format. 22:46
timotimo there's a "verbatim" code
V<C<foo>> will give you C<foo> i think? though perhaps needs to be V«C<foo>»
Xliff I have the following text: "<property>OK</property>". I don't want the "K</property>" to be picked up as formatting. 22:47
timotimo otherwise it'll probably take the first > as the end, not the second one
but the truth is, i haven't podded much in a long time
Xliff Something like that is not in the docs. Where could I find it in the source? 22:48
timotimo looks like it's simply missing from the docs 22:51
the design docs should give you enough info
daemon what did he do (looks up chan) 23:01
geekosaur the kick? that would be a fake account trying to spam the cannel 23:03
daemon geekosaur, well yeah but I can't see any spam 23:03
geekosaur unauth users get their mesages routed to an operator, which currently means a program is receiving ti and either kicking if it' spam or giving +V so they can talk 23:04
+v
daemon ah 23:04
modetorium or w/e mode
geekosaur and this is far from the only channel doing things like that
daemon I only really on pay attention to #freebsd #bsdpub and #perl decided to wander down the rest of the channels I am in :P 23:05
timotimo daemon: it has been "allah is doing" for a week or two, but now the "the freenode admins are secretly villains who do terrible things, look at their totally legit personal blogs to see it!" spam campaign has come back 23:10
oh, did my filter successfully filter out my own message, but never any of the real spam messages?
daemon timotimo, ah ha I seen that in another channel I presumed it was one of the old bots that was was on dialup
timotimo great
haha
it didn't get the memo that the campaign is over?
daemon possible! 23:11
it will get its Gold Spam Member cert revoked
timotimo there isn't actually a good reason for me to have ops; our bannerbot gives +v after a minute or two, these spam bots don't stay or write that long
daemon I am still trying to figure out why they waste their time on IRC 23:12
timotimo so i get to see the spam in my backlog, but nobody else does
daemon I mean a few years ago when IRC was larger sure ...
timotimo maybe someone is trying to prove that IRC is still alive :P
so it's like a triple false flag
daemon hehe in that case maybe we should support them!
then again that being said freenode's user count never seems to fluctuate 23:13
IRC and development of public facing projects seems to just 'be a thing'
perhaps its the traditionalism :)
timotimo IRC is so simple that it's kind of a nice default still %) 23:14
there's fifty mutually incompatible replacements 23:15
slack, discord, gitter, or going further away even telegram/signal/whatsapp
timotimo facebook messenger :P 23:16
ICQ, AIM, YIM
jabber conference rooms
uploading numbered text files to eMule 23:17
timotimo you know, the usual 23:19
timotimo missed the time to kick 'em 23:24
Xliff timotimo: I have tried all of those and IRC still remains the best. 23:44
(Actually, I never tried glitter. I
am not fab enough)
timotimo haha 23:45
it's "gitter" though, like, inspired by git
i do appreciate the pun though
not every chat protocol can be almost-reasonably used with just telnet