IRCloggy #perl6 2018-06-07

Logs Search ←Prev date Next date→ Channels Documentation

Provider of IRC logs since 2005.
WARNING: As Freenode became unjoinable and lost all warnings in topics, we cannot log channels on Freenode anymore.

2018-06-07

w_richard_w joined00:08
raynold joined00:09
Kaiepi when you retrn a prmoise from an async function the return values not a promise right?00:22
meaning like00:22
markoong left00:23
Kaiepi m: sub foo { Promise.start({ 1 }) }; sub bar(Promise $b --> Int) { bar(foo: 1) }00:23
camelia rakudo-moar 148d7c56a: ( no output )00:23
Juerd Kaiepi: Er, several things are wrong with that line. You're never calling any of the functions, and you're calling bar with an invocant while it's a regular sub.00:25
Kaiepi yeah ik i fucked up that00:25
lemme write an example at works00:26
Juerd Well, the latter doesn't actually happen because it's in the definition of bar, which is never called.00:26
I don't understand your question either00:26
I think it's missing at least a verb.00:26
lookatme :)00:27
Kaiepi yeah probably00:28
ok so the quesiton is00:28
in node functions return promises00:29
except async functions, who return the awaited result00:29
so when i return a promise from an async function, does that also resolve the promise?00:29
raschipi There's no "async functions".00:30
Kaiepi ohhhh right00:30
i forgot about that00:30
lookatme what's async function00:30
Kaiepi good riddance tbh00:30
timotimo lookatme: a function you're allowed to use "await" in00:30
Kaiepi async functions in node nad python lock you ino using await and async only there00:31
raschipi wut?00:31
Kaiepi yeah00:31
end result: async function spaghetti00:32
being able to use async stuff however you please is a godsend after fighting with node's ideas of async stuff00:33
lookatme m: sub foo { Promise.start({ 1 }) }; sub bar(Promise $b --> Int) { await bar(foo) }; say bar;00:34
camelia rakudo-moar 148d7c56a: OUTPUT: «=== SORRY!=== Error while compiling <tmp>␤Calling bar() will never work with declared signature (Promise $b --> Int)␤at <tmp>:1␤------> ise $b --> Int) { await bar(foo) }; say bar; ␤»00:34
lookatme :) oh I am foolish00:34
ohmysummmer joined00:35
lookatme m: sub foo { Promise.start({ 1 }) }; sub bar(Promise $b --> Int) { await $b; }; say bar foo;00:35
camelia rakudo-moar 148d7c56a: OUTPUT: «1␤»00:35
ohmysummmer left00:42
lizmat left00:47
b2gills There's a syntactic shortcut for `Promise.start({…})`, and it is `start`01:02
m: sub foo { start 1 }; sub bar(Promise $b --> Int) { await $b; }; say bar foo;01:02
camelia rakudo-moar 148d7c56a: OUTPUT: «WARNINGS for <tmp>:␤1␤Useless use of constant integer 1 in sink context (line 1)␤»01:02
Kaiepi one thing i love about promises in perl 6 is how they're threaded01:04
b2gills m: sub foo { my $ = start 1 }; sub bar(Promise $b --> Int) { await $b; }; say bar foo; # the above shouldn't have warned01:04
camelia rakudo-moar 148d7c56a: OUTPUT: «1␤»01:04
Kaiepi still have flashbacks of hunting down obscure race conditions form node's event leep01:04
plus mutexes for when all else fails01:05
b2gills If you create a Promise by calling .new, they are not threaded01:05
Kaiepi i was usuing Promise.start01:05
actually wait i've been using it where single threaded work would be what i need01:07
b2gills There is never a reason to use Promise.start, just use start01:07
Kaiepi do they differ or is it just a style thing?01:07
b2gills m: sub f () { start sleep(1), 42 }; say await f(); say now - $*INIT-INSTANT01:08
camelia rakudo-moar 148d7c56a: OUTPUT: «(Nil 42)␤1.0720169␤»01:08
timotimo i'd like to advocate against conflating promises with the tasks they represent01:09
Kaiepi wdym?01:09
timotimo well, "Promise.start" really just gives you a promise object that will at one point be kept or broken by some piece of code scheduled on a scheduler01:11
Kaiepi yeah01:11
timotimo that's like saying "run this array for me, please" when you call a function that pushes values into the array01:11
the magic isn't the array, the magic is the function that does something to it01:11
Kaiepi i'm aware01:12
b2gills m: sub start ( &c ) { my $p = Promise.new; $*SCHEDULER.cue({ $p.keep( c() ) }); $p }; say await start( { sleep 1; 42 })01:12
camelia rakudo-moar 148d7c56a: OUTPUT: «42␤»01:12
Kaiepi my minn's still suck on how node handles promises01:13
which tbf isn't the most well designed way of dealing with async the way it was handled01:14
Zoffix What's a better designed way?01:15
Kaiepi perl6's ;)01:15
Zoffix Ah :)01:15
Kaiepi node's leads to endless promise chains and async/await spagehetti01:15
timotimo but async/await is supposed to get you away from chains and such?01:16
i have yet to try what node offers, fwiw01:16
Kaiepi yes and now01:16
async functions tend to force you to use other async functions since there's no way to await a promise outside them01:17
timotimo oh, that was the whole topic of the conversation above, wasn't it01:17
Kaiepi the point is yeah timitimu01:17
honesly node isn't *awful*, but it does have a lot of quirds01:19
s/quar(d)s/quar\1ks/01:19
comborico1611 left01:20
Kaiepi node let's you make linked lists01:20
the caveat is you need to hack around with classes until you end up with something the npm might praise01:22
raschipi Why would that be any different in Perl 6?01:22
Kaiepi because what you do is you overwrite the prototype of three classes so they end up becoming chained together01:23
along with some constructor fuckery01:24
it's normally stuff that's heavily discourages practive, but hey js has linked lists01:24
raschipi That doesn't sound pleasant.01:24
And "classes" are hashes, isn't it?01:25
timotimo sorry, i don't understand :)01:25
Kaiepi classes are functions in a dress01:25
timotimo yeah, it's a cool concept to use closures for that purpose01:25
raschipi Perl 5 is that way, using one thing as another, and TimToady explicitly rejected it for Perl 6.01:26
Zoffix yey, modafuka... I got logs mapper working01:35
Kaiepi i need to learn perl 5 at some point01:36
Zoffix Check it out. What does this commit point to? https://github.com/perl6/doc/commit/792e1facdc2785ca1bac6180aef03a5d543513e401:36
https://irclog.perlgeek.de/perl6/2018-05-23#i_16195729 eh?01:36
http://irc.perl6.party/perl6/2018-05-23#i_16195729 then this is it01:36
raschipi Zoffix++01:37
🎉🎉🎉01:38
Kaiepi do supplies work sort of like event emitters?01:39
i've worked channels and promises, but i was a little confused reading about them01:40
raschipi A Supply is like a Seq, but you don't know when the values wwill come.01:45
Zoffix In fact, if you add 69.164.222.157 irclog.perlgeek.de to /etc/hosts and then add browser exception for the cert, simply clicking on the links will lead to right place: https://irclog.perlgeek.de/perl6/2018-05-23#i_1619572901:47
MasterDuke_ joined01:55
MasterDuke left01:57
MasterDuke_MasterDuke01:59
wamba left02:01
Kaiepi how do they differ from channels raschipi ?02:09
raschipi In a Supply, everyone listening will get a notification. In a Channel, just one of the readers will get the message.02:11
Zoffix New blog post: "How To Make Old #perl6 IRC Log Links Work": https://rakudo.party/post/How-To-Make-Old-Perl-6-IRC-Log-Links-Work02:13
Kaiepi ok i think i understand now02:14
thanks02:14
hythm_ joined02:29
uzl left02:39
Zoffix left02:45
Xliff joined03:00
MasterDuke left03:05
hythm_ left03:06
MasterDuke joined03:18
raschipi left03:29
eliasr left03:47
molaf joined04:05
kurahaupo_ joined04:12
kurahaupo left04:13
kurahaupo_ left04:13
kurahaupo joined04:13
buggable New CPAN upload: Magento-0.0.2.tar.gz by SACOMO http://modules.perl6.org/dist/Magento:cpan:SACOMO04:34
Xliff left04:38
[Sno] left04:43
molaf left04:50
|oLa| joined04:52
curan joined04:57
espadrine left05:05
ufobat_ joined05:10
epony left05:17
jmerelo joined05:21
robertle left05:28
domidumont joined05:29
epony joined05:34
domidumont left05:36
domidumont joined05:37
[Sno] joined05:46
Geth ¦ doc/master: 4 commits pushed by (JJ Merelo)++05:51
¦ doc/master: d9d499c018 | Maybe add newline as the rest of the lines 05:51
¦ doc/master: 5c657161a5 | Solves conflict 05:51
¦ doc/master: 88954945c6 | Eliminates whitespace again 05:51
¦ doc/master: 5bedf6169d | Produce a new version 05:51
¦ doc/master: review: https://github.com/perl6/doc/compare/b3be2544fd32...5bedf6169d2c05:51
jmerelo squashable6: status05:54
squashable6 jmerelo, Next SQUASHathon in 29 days and ≈4 hours (2018-07-07 UTC-12⌁UTC+14). See https://github.com/rakudo/rakudo/wiki/Monthly-Bug-Squash-Day05:54
Kaiepi left05:58
lizmat joined05:59
Kaiepi joined06:04
mcmillhj joined06:08
kurahaupo left06:11
lizmat left06:12
mcmillhj left06:13
xtreak joined06:17
domidumont left06:18
Xliff joined06:23
kurahaupo joined06:23
Xliff \o06:23
yoleaux 30 May 2018 05:31Z <moritz> Xliff: you might be interested in the cro HTTP client: https://cro.services/docs/intro/http-client06:23
Kaiepi i never had to use grammars for anything up to now and damn06:28
never thought i'd parse an entire protocol with regeex06:29
moritz it's more than just regex :-)06:30
robertle joined06:35
HaraldJoerg joined06:38
darutoko joined06:42
Xliff left07:12
wamba joined07:32
zakharyas joined07:36
mephinet left07:36
mephinet joined07:36
zakharyas left07:47
zakharyas joined07:47
scimon joined07:48
dakkar joined07:53
psychoslave joined07:56
wamba left08:02
lizmat joined08:17
xtreak left08:23
xtreak joined08:24
xtreak left08:28
domidumont joined08:30
epony left08:37
lookatme Is the macro feature available now ?08:44
xtreak joined08:45
moritz not really08:48
lookatme oh, do you know what's the plan ?08:51
moritz, :)08:51
gfldex .seen masak08:52
yoleaux I saw masak 5 Jun 2018 12:48Z in #perl6: <masak> to be honest this feels much better08:52
gfldex lookatme: I don't know what the plan is but I can tell you it is hatched here: https://github.com/masak/007/08:54
lookatme hmm, I know this project08:54
thanks anyway08:54
Geth ¦ doc/master: 4 commits pushed by (JJ Merelo)++08:57
¦ doc/master: 237285a9b7 | Some reflow and clarifications 08:57
¦ doc/master: 3044b0ebaf | Adds @jnthn's rules in #1092 08:57
¦ doc/master: f93353932f | Adds (modified) @b2gills example for :nl-out, refs #1092 08:57
¦ doc/master: 3ad88e5bf6 | Includes links to new definition from various places. 08:57
¦ doc/master: review: https://github.com/perl6/doc/compare/5bedf6169d2c...3ad88e5bf67a08:57
rindolf joined09:00
zakharyas left09:01
AlexDaniel Zoffix++09:05
awesome temporary solution09:06
sftp joined09:08
mcmillhj joined09:09
xtreak left09:09
mcmillhj left09:13
eliasr joined09:33
xtreak joined09:37
w_richard_w left09:37
jkramer left09:52
llfourn left09:57
wamba joined10:03
zakharyas joined10:03
parv joined10:07
parv left10:08
epony joined10:44
Kaiepi left10:54
zakharyas left10:59
sacomo joined11:00
lizmat left11:14
lizmat joined11:17
jmerelo This is an issue that has arisen a couple of times in StackOverflow https://stackoverflow.com/questions/50723156/how-to-declare-native-array-of-fixed-size-in-perl-611:28
Is there no way to declare an CArray with a particular size? I have seen you can allocate after declaring it, but not when declaring...11:37
raschipi joined11:40
itaipu joined11:50
Hor|zon left12:06
jkramer joined12:07
jkramer m: constant %foo = asd => 123, yxc => 456;12:08
camelia rakudo-moar 148d7c56a: OUTPUT: «=== SORRY!=== Error while compiling <tmp>␤Type check failed in constant declaration of %foo; expected Associative but got List (List)␤at <tmp>:1␤------> constant %foo = asd => 123, yxc => 456 ; ␤ expecting any of:␤ pos…»12:08
jkramer m: my %foo = asd => 123, yxc => 456;12:08
camelia rakudo-moar 148d7c56a: ( no output )12:08
mcmillhj joined12:08
jkramer Why doesn't this assignment work with constant?12:08
shlomif joined12:08
rindolf left12:09
mahafyi joined12:10
Zoffix joined12:11
Zoffix AlexDaniel: what do you mean by temporary? What's the permanent solution, given the original logged data isn't available?12:11
shlomifrindolf12:12
Zoffix jkramer: it will in a month, but for now you need to explicitly give it a Hash12:12
El_Che Zoffix: do you intend to offer a solution for the historical data or for future logs? Some people expressed reservations about the second12:12
Zoffix m: constant %foo = %(asd => 123, yxc => 456); dd %foo12:12
camelia rakudo-moar 148d7c56a: OUTPUT: «Hash % = {:asd(123), :yxc(456)}␤»12:12
Zoffix El_Che: we already have a solution for future logs. It was in place for 13 years12:13
http://colabti.org/irclogger/irclogger_log/perl6?date=2018-06-07#l24512:13
El_Che i heard for the first time here12:15
n1ge left12:15
Zoffix Which is how my mapper is able to map virtually all #perl6 log links12:18
El_Che great job12:18
APic joined12:23
raschipi The channel will continue to be public and logged throught colabti, that isn't supposed to change.12:27
El_Che public and logging are not related at all12:28
raschipi Right, that's why I specified both. And being public means logged in practice, because someone will log it. Being a "logged" channel means that the logs are published.12:29
jkramer Zoffix: Thanks12:34
n1ge joined12:35
El_Che raschipi: that does not makes any sense to me12:35
raschipi Sorry, I probably can't explain myself very well.12:36
Kaiepi joined12:36
n1ge left12:36
El_Che you can log and publish private channels12:36
or mine the information12:36
n1ge joined12:36
El_Che and you can have public interactions without begin logged/filmed/etc12:37
they public and monitoring can be combined, but one does not depend on the other12:37
mahafyi hello. I have some questions that are probably off topic. I would like to start using a database with some scripts. since i have to choose a database, i see strong recommendations for postgresql over mysql (mariadb in debian). there is no specific application just exploring it. Also, whatever be the DB, i am starting from scratch, so feel free to recommend your choice :).i would like to end...12:41
...up building a web application at some point.12:42
El_Che mahafyi: make your app db agnostic?12:43
mahafyi El_Che : ok. Heh, I am first of all trying to 'get' sql injection which seems to be a wide spread mistake. Can you point me to some example where i can see what a DB agnostic application looks like?12:45
El_Che mahafyi: whatever uses this and don't use db specific features should do: https://github.com/perl6/DBIish12:46
Zoffix mahafyi: PostgreSQL is the best. There's a much better module to interface with it than DBIish: http://modules.perl6.org/dist/DB::Pg:cpan:CTILMES12:48
jast to avoid SQL injection, never just include variables inside your query12:49
xtreak left12:49
jast well-designed DB libraries (almost all of them nowadays) allow you to put placeholders in your query and pass the values for those as separate parameters12:50
and then the library will automatically protect you from SQL injection12:50
raschipi "confirm SSL cert exception, because I couldn't figure out how to make it work with proper SSL" Zoffix, it will never work, that's the king of thing SSL is supposed to make impossible in the first place.12:50
Just turn SSL off, better than adding exceptions, which is not recommended.12:51
El_Che are you recommending to turn ssl off?12:51
if the lib does not support ssl it's better not to use it12:52
it's 201812:52
it was bad advise in 199412:52
Zoffix mahafyi: and don't bend over backwards for "db agnostic". In my experience, if you have such a drastic change that you're forced to change the type of database is very rare and changing a few lines of db code will be a drop in the bucket compared to all the other things you'll likely be forced to do12:52
raschipi Yes I am recommending turning TLS off, because it's part of best practices.12:52
El_Che Zoffix: mahafyi: it depends where your app is supposed to run12:53
Zoffix I can't turn it off, because the URLs are https:// URLs12:53
raschipi Using self-signed or invalid certs is worse than turning TLS off.12:53
El_Che if it's a personale app for your vps it does not matter12:53
jast agreed, DB agnostic code is really only worth it for software you're writing for the greatest common denominator (stuff random people will install in random environments)12:53
El_Che if other people have to run it it does. A lot of places, pick 1 db and offer a high available setup for the devs12:53
jast if you control the environment, pick a good DB and use its features :)12:53
xtreak joined12:53
El_Che (where I work we have mysql and oracle)12:54
you can run your own db, but you'll be playing dba on tv during its lifetime12:54
mahafyi Zoffix : El_Che: jast: very good, postgres it is... does the DB::Pg connect over TLS also when db server is remote?12:55
El_Che and I agree about posgresql, but having other people doing the admin job trumps that12:55
mahafyi: if you want to learn about dbs, Zoffix advice makes sense as it's less abstraction12:56
jast from an admin POV I don't like opening DB ports to the public, I tend to tunnel through an encrypted VPN and use unencrypted DB traffic inside that12:56
mahafyi right , seeing that will start from select * from table where column = $var, lol.12:57
jast but of course TLS easily beats nothing :)12:57
El_Che tls helps against the enemy inside the walls :)12:57
mahafyi jast: oh ok, that i see is a good way12:57
Zoffix mahafyi: you got SQL injection right there :) What if $var has `''; drop table` in it?12:57
El_Che you'll have smaller backups?12:58
jast a.k.a. the gitlab database compression technique :)12:58
mahafyi Zoffix : what did jast mean by using a placeholder ? can you please show how it works for a simple query to start with?12:59
Zoffix mahafyi: it'd be `'select * from table where column = $1', $var` The `$1` is a placeholder and the module will automatically perform all the required quoting of data in the $var, so there's no injection12:59
mahafyi maybe i should read up first ...12:59
jast the classic placeholder is '?' (in some libraries), so you're not tempted to think it's a standard variable expansion12:59
pseudocode example: query("select * from foo where name = ?", $name)13:00
Zoffix mahafyi: that's with DB::Pg module. DBIish uses `?` symbol13:00
for placeholders13:00
jast and the lib will make '$name' safe and insert it where the placeholder was13:00
mahafyi ah ok great learning. i suppose all of this is available to read, but getting perl6 example direct is much better13:01
jast sure, there are more articles about this than you can read in a lifetime ;)13:01
most of them saying the same things over and over, of course13:01
we're on the internet after all13:02
Zoffix mahafyi: here's an example with DBIish module:13:02
mahafyi: https://github.com/perl6/alerts/blob/master/lib/P6lert/Model/Alerts.pm6#L34-L4013:02
mahafyi Zoffix : ty13:02
Zoffix mahafyi: notice the place where'd you normally place values just have ? ? ? in them. And the actual values are given in the next statement.13:02
zakharyas joined13:02
mahafyi yes, i see that , i mean, i get the syntax.13:03
last question (for some time at least, heh), why is the .prepare desirable as oppsed to just running the query (based on the doc in DB:Pg)13:04
jmerelo mahafyi: you save some time on SQL interpretation.13:04
mahafyi: might be important in complicated queries.13:04
Zoffix mahafyi: actually, if you're just learning DBs and making small programs for yourself, I have an alternate suggestion: SQLite. Alas, I'm not aware of DB::Pg-quality Perl 6 module for it, so you'd be using DBIish13:04
jmerelo left13:05
Zoffix mahafyi: it's not really desired in that code. It's just DBIish has a godawful interface (or docs, if I missed an easier way to do it)13:05
jnthn has been happily using DB::Pg in production...seems pretty solid as well as a nice API :)13:05
mahafyi Thanks. i will try Postgres itself13:06
Zoffix &13:07
Zoffix left13:07
jast the main reason to do a prepare is if you're going to reuse the query (even with different values for the parameters) multiple times during the lifetime of the program, because it saves the database a lot of query parsing and optimizing13:09
(but you have to make sure to prepare it once, rather than re-preparing it each time, otherwise you don't actually win anything)13:10
AlexDaniel Zoffix: well, if irc logging is illegal, then colabti will go down also. If it's not, then we can bring the original website back up. So in my mind current redirection is temporary13:16
but I'm assuming that the logs were not deleted, which I hope is the case…13:16
I have a backup of pretty much the whole thing though13:17
raschipi left13:19
curan left13:20
ufobat_ left13:21
raschipi joined13:21
raschipi Not using TLS is recommended over using invalid or self-signed certificates. And offers the same level of protection.13:26
jast except if you have a way to verify the certificate independently13:27
mahafyi to run a html page, we use a webserver - example apache. is there a tutorial for how to run perl6 scripts via browser? is there a web server for serving a perl6 output or we have to use apache , ngnix etc?13:28
skids joined13:29
Juerd raschipi: TLS with a self signed certificate provides much, much better protection than using the same protocol with clear text transfers.13:29
raschipi: However, in order to verify that the protection is at all valid, you'd need to check the fingerprint of the certificate.13:30
mahafyi instead of trying something from the cli (using debian), i thought i can try to open in browser itself.13:30
Juerd raschipi: And once you're pinning the fingerprint, it offers *superior* protection compared to regular CA signed certificates.13:30
Zoffix joined13:30
jast wasn't there a way to record your fingerprint in DNS these days?13:31
raschipi Right, using it like PGP does work, but that's very different from asking users to add exceptions.13:31
Zoffix AlexDaniel: it's not illegal and moritz doesn't want to deal with any potential claims and legal fees. So neither of your alternatives will occur.13:31
raschipi jast: DANE13:31
Juerd raschipi: Even with exceptions it's slightly better than ditching TLS altogether13:31
raschipi It's not because it teraches users to ignore warnings.And with a self-signed certificate, anyone can sign an equivalent certificate and intercept it.13:32
AlexDaniel Zoffix: but then someone else can host it, right?13:32
jast now I just need to enable DNSSEC in my zones :)13:32
raschipi teaches*13:32
Juerd raschipi: Because even having to add a new exception when there's a new certificate because of MITM, that does slightly increase the chance of the MITM being noticed. And of course, the effort that one has to put into MITM or wiretapping is increased much just by having encryption, even if no verification is used.13:32
Zoffix mahafyi: check out Cro https://cro.services/ it has a built-in server13:33
mahafyi Zoffix ; thanks13:33
Juerd raschipi: It definitely depends on the use case, and the kind of user.13:33
raschipi Noty for normal users, they will just repeat the procedure. For someone who actually understands TLS, sure, but not the case here.13:33
Juerd raschipi: But with regular nerds as the target audience, opportunistic encryption is better than no encryption.13:34
Zoffix AlexDaniel: "it" is what? Someone else's logs? Moritz doesn't want to give the data from the perlgeek logs13:34
scimon left13:34
raschipi No, regular nerds have no change of getting it right, I know plenty of them.13:34
Juerd TBH, I think it's wrong for browsers to favor unencrypted over badly encrypted.13:34
jast not nerdy enough13:34
"no true scotsman" fallacy deployed13:34
scimon joined13:34
Juerd I'd be fine with them being treated the same if unencrypted got the same big warnigs.13:34
jast vendors are planning that AFAIK13:35
AlexDaniel Zoffix: interesting. Well, I have the data, but I wonder if it can be used…13:35
jast but honestly I'd find that way too annoying13:35
*personally* I don't mind visiting unencrypted websites for a wide range of purposes13:36
raschipi Your argument is that the average nerd knows how to check fingerprints and pin certificates. While in my experience the vast majority don't even know how to check SSL/TLS versions and block unsecure options.13:36
Zoffix mahafyi: and you can then setup apache to reverse-proxy to your app; to whatever port it's running on. Just google for how to do it. Here's a sample of config file for port 80 that has a thing for certbot that'd enable forced-SSH and autogen the config for SSL port : https://gist.github.com/zoffixznet/4f2a2844b0eda83858b784096ef54a3b13:36
mahafyi Zoffix , thanks13:37
raschipi Anyway, if I can be a curmudgeon for a second, please do not teach users to ignore TLS warnings!13:37
Juerd I'll never teach anyone that13:38
AlexDaniel only up to 2018-04-28 though13:38
Zoffix raschipi: I'll just ignore your warning.13:39
or request, I mean13:39
raschipi Please do, it's a case of tragedy of the commons after all.13:39
Zoffix It's more of a case of letting people think for themselves. You're not the King of Internet to tell people what they should do with TLS warnings.13:40
raschipi I'm certainly not, but I can ask for it.13:40
Juerd If I'm going through the trouble of self signing a certificate, I'll also take some time to instruct users to check the fingerprint. But just going with letsencrypt is much easier.13:40
Zoffix: Then who is?13:41
jast sure, but telling people that it's a great idea to ignore TLS warnings is basically disinformation13:41
Zoffix It's not a self-signed cert. The cert is for 6lang.party. I can't get a cert for irclog.perlgeek.de, because I don't own that domain, duh13:41
jast: which isn't what I'm telling people13:41
Juerd You don't have to own the domain. You only have to successfully mitm it until the certificate is awarded to you.13:41
jast yeah, I wasn't trying to imply that you were13:41
skids The warnings presented need to be reworded to be less technical so nontech users understand the stakes. They need to be (re)written by nontechnical users until they get something they like that technical users can approve of.13:41
Juerd skids: +113:42
jast the average person doesn't read the warning in the first place13:42
Juerd skids: And they should include the damn fingerprints so there's some chance of them being checked13:42
Zoffix Nor are my instructions for average persons.13:42
jast case in point: average person tries to use the copier. copier says "hardware fault detected, please contact tech support ASAP". average person mashes "OK" button.13:42
Zoffix Why am I even in this discussion? Don't like my instructions, write your own.13:43
Juerd skids: I once called my bank, the tax office, and my municipality, to try and verify their certificates. None could transfer me to anyone who understood what a certificate fingerprint was.13:43
Zoffix Nerds.13:43
Zoffix left13:43
Juerd Did they just call people in a programming language channel "nerds"? How rude.13:43
:D13:43
jast rudeness is healthy. ;)13:43
xtreak left13:45
raschipi Any, it was just a PSA, anyone should do what they think is best.13:45
jast no that's wrong, do what you think is worst :P13:46
Juerd I might, but only because worst is Dutch for sausage.13:47
jast boerenmetworst13:47
Juerd worst case => worst kaas => sausage cheese13:48
skids Zoffix: I meant such instructions in general. I actually have no idea what in particular is being taled about here :-)13:49
itaipu left13:50
Juerd skids: Zoffix left13:50
jast same here... but Zoffix left13:50
itaipu joined13:50
El_Che Zoffix never really leaves13:51
Juerd El_Che: What does that mean?13:51
El_Che that his bots ping him13:51
and he joins when desired13:51
Juerd Oh. Not much point in parting then13:51
Or perhaps just for displaying some drama13:52
kaare_ joined13:52
El_Che I am an screen+irssi guy, but whatever works for him :)13:52
Juerd I used to run irssi but the da^W^Wweechat had cookies.13:52
skids No he just leaves routinely. He's entitled to his workflow preferences.13:52
Juerd I see13:53
jast tmux+irssi > screen+irssi. tools war go! :)13:53
Juerd jast: tmux doesn't do everything screen does, and I can't be bothered to learn to work with both13:53
jast: But I do know that screen is abandonware (as confirmed irl by one of its authors)13:54
jast good to know (the latter, I already knew the former)13:54
tmux fits my use cases better so I've phased out screen for myself13:54
Juerd Had a hard question and he said he wouldn't answer because screen was considered abandonware anyway. But then I showed hem the antique terminal and the hacks we had applied and he did help me with hacking the remaining things. :)13:55
jast that's pretty nice of him13:55
Juerd Couldn't do the same stuff with the antique terminal with tmux :D13:56
skids .oO(good terminal code is becoming a lost art form)13:59
raynold left14:00
El_Che does tmux fix the horrible edit mode in screen (aka I can't use pgup to scroll back output)?14:07
wamba left14:09
markoong joined14:11
jast you have to press the hotkey once first14:11
AFAIK the problem is that scrolling is a thing handled by your own terminal (emulator)14:11
so your normal scroll function can't scroll a virtual terminal inside your terminal14:11
El_Che same as screen then14:12
(there goes my switching use cae)14:12
case14:12
jast in fact it doesn't even make sense if you consider that many terminal emulators combine pgup/dn scrolling with a scroll bar14:12
to even address this at all someone would have to invent a terminal scrolling protocol. maybe someone has already done so, I have no idea. :)14:13
zakharyas left14:13
zakharyas joined14:13
Juerd It exists but only program to terminal: a program can instruct the terminal to scroll a part of the screen efficiently14:14
That's way too limited to implement a scroll bar :D14:15
jast yeah, that's the extent of what I'm aware off14:15
(also, basic language is failing me. too warm here etc.)14:15
El_Che jast: are you an AI needed more fans?14:16
jast I am classified as a regular human being, your assumption is incorrect14:17
I am typing this with my human fingers14:17
El_Che sorry to have hurt your human emotions14:18
raschipi As human as Mark Zuckerberg, in fact.14:18
El_Che data was one of the most human character in star trek :)14:18
jast you can deinstantiate your failure by making me the overlord of your^Wmy fellow humans14:19
mahafyi left14:20
El_Che jast: I voted for the other guy14:20
mahafyi joined14:21
itaipu left14:34
scovit joined14:36
kurahaupo left14:39
kurahaupo joined14:40
troys joined14:48
Schepeers left14:56
Schepeers joined14:59
robertle left15:09
raiph joined15:14
wamba joined15:15
n1ge left15:18
n1ge joined15:19
kurahaupo_ joined15:20
kurahaupo left15:21
kurahaupo_ left15:22
kurahaupo joined15:22
kurahaupo left15:26
kurahaupo joined15:26
jmerelo joined15:30
domidumont left15:34
Luc__ joined15:41
n1ge left15:41
n1ge joined15:41
mcmillhj left15:42
Luc__ left15:42
mcmillhj joined15:42
psychoslave left15:46
mcmillhj left15:47
Schepeers left15:49
Schepeers joined15:51
mcmillhj joined16:29
scimon left16:32
buggable New CPAN upload: IConv-0.0.2.tar.gz by ALOREN http://modules.perl6.org/dist/IConv:cpan:ALOREN16:34
hlafarge joined16:40
dakkar left16:42
molaf joined16:45
hlafarge left16:47
stee3 joined16:47
stee left16:50
stee joined16:52
stee3 left16:55
raiph left16:58
robertle joined17:04
zakharyas left17:06
zakharyas joined17:06
Khisanth left17:26
domidumont joined17:30
[Sno] left17:37
Khisanth joined17:40
Tison joined17:57
espadrine joined18:02
zakharyas left18:04
Kaiepi does perl let you use grammars within other grammars?18:06
timotimo you can either use a rule from another grammar like a regular rule by putting <Grammar::Name::rule>, or you can use other grammar stuff inside code blocks, just make sure $/ is writable in the right place18:07
Kaiepi ah, perfect18:08
thanks18:08
timotimo if you literally OtherGrammar.parse inside a code block in your grammar, you'll surely want to use your current match's position as a start point or something like that18:08
b2gills a grammar is just a special type of class, which means you can use inheritance, and compose in roles with tokens18:08
timotimo that's usually more useful, yeah18:14
Kaiepi wait you can compose in roles with tokens?18:23
timotimo yup18:24
Kaiepi that might be really useful for what i'm doing18:25
sauvin left18:25
moritz there's, like, a whole book that discusses this kind of stuff :-)18:27
b2gills In Perl 6 a [regex|token|rule] is just a sub type of method written in a domain specific sub language18:27
timotimo which also means you can use methods written in regular old perl6, but it's interesting18:27
Kaiepi i've heard they're really powerful, but i haven't had the chance to use them since i'd been working on nativecall stuff before18:28
b2gills My go-to example for what a grammar can look like is JSON::Tiny::Grammar https://github.com/moritz/json/blob/master/lib/JSON/Tiny/Grammar.pm18:30
mahafyi in DB:Pg my $pg = DB::Pg.new; # You can pass in connection information if you want.18:31
But i need an example here please.. how to pass the connection info.18:31
lizmat left18:32
raschipi b2gills: Is that a complete grammar for JSON?18:32
b2gills There may still be some edge cases it doesn't properly handle, but yeah it is complete.18:34
raschipi wow18:34
Kaiepi what i'm doing is writing a telnet library18:34
jnthn mahafyi: It needs a connection string passed as the conninfo parameter, here's an example from one of my apps that constructs it from env vars: https://gist.github.com/jnthn/b5168f761165d78bb33721f3f51e879018:35
b2gills Kaiepi: Note the use of `proto token` in the above grammar. I don't know if it would be helpful for what you are doing, but it is a very nice feature.18:36
jnthn dinner, bbl18:37
mahafyi jnthn: perfect. i was reading https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNSTRING but couldnt figure how to pass it18:37
Kaiepi it definitely will18:37
jnthn mahafyi: Yeah, the docs could probably use a better example; I thought to send a PR but was in a bit of a hurry with the thing I was building. :)18:37
mahafyi: I'm sure a pull request with a doc improvement there, if you're intersted to do it, would be welcomed ;)18:38
*:)18:38
jnthn really goes to eat :)18:38
Kaiepi 16 commands, ~200 subcommands, and even more at a lower lever in some places18:38
it'd make parsing much less hell18:38
darutoko left18:39
mahafyi jnthn : ok i will try and do it (also requires learning how to do that, in the first place).18:40
b2gills Note that `( "a$_" with $foo )` checks if `$foo` is defined. If it is it does the first part. If it isn't the whole expression returns Empty (empty slip)18:40
Basically with the example provided above it doesn't provide a password if there isn't a DB_PASSWORD in the environment.18:43
lizmat joined18:47
Geth ¦ doc: 918f4820b4 | 陈梓立++ (committed using GitHub Web editor) | README.zh.md18:50
¦ doc: Update README.zh.md 18:50
¦ doc: review: https://github.com/perl6/doc/commit/918f4820b418:50
mahafyi ah ok, i think i figured out how to do a pull request now.18:58
and added one, to add the example given by jnthn18:59
Khisanth left19:01
domidumont left19:07
imcsk8 left19:13
imcsk8 joined19:13
jmerelo left19:15
Khisanth joined19:16
mcmillhj left19:24
[Sno] joined19:29
mcmillhj joined19:33
zakharyas joined19:47
mahafyi left19:50
dct joined19:52
moritz $ docker pull croservices/cro-http19:54
Using default tag: latest19:54
Error response from daemon: manifest for croservices/cro-http:latest not found19:54
what am I doing wrong? if I understood https://github.com/croservices/cro/blob/master/docs/docker-deployment.md correctly, that should work, no?19:54
mcmillhj left19:55
jnthn moritz: Ah, we only publish versioned ones so far19:57
No :latest19:57
The example has a version in there and "Always use a versioned base image rather than :latest19:58
"19:58
Is there somewhere else to clarify it that'd help?19:58
moritz jnthn: that's under "Tips", which I understood to be "you *can* use latest, but you *shouldn't*" :-)19:59
jnthn Ah :)19:59
Yeah, it's not even an option at the moment I guess19:59
Perhaps we should push a :latest as well19:59
moritz or add a comment that there is no :latest, and instead link to [the list of available tags](https://hub.docker.com/r/croservices/cro-http/tags/)20:00
jnthn *nod*20:00
https://github.com/croservices/docker/blob/master/push-images.p6 would be the script to patch to push a latest20:00
(If you're sufficiently keen to patch it, that is... :))20:00
We should really make links to that page anyway20:00
moritz I'll add some20:01
mcmillhj joined20:01
jnthn moritz++ # thanks!20:02
I was about to make an issue to not forget it (gotta go afk in a moment), but if you'll sent a patch that's even better :)20:02
moritz https://github.com/croservices/cro/pull/7120:06
uzl joined20:10
rindolf moritz: hi, sup?20:28
jnthn: sup/20:28
kurahaupo_ joined20:28
kurahaupo left20:30
uzl Hi to everybody!20:33
AlexDaniel hello!20:33
uzl yesterday I posted about an example of a JSON grammar in Think Perl 6 and in the next section, the author adds an actions class to it and it's not working as expected for me.20:33
the example in the book: shorturl.at/HRWX820:34
psychoslave joined20:34
kurahaupo_ left20:35
kurahaupo joined20:35
moritz uzl: token string needs a pair of parenthesis for $0 to work in the string action method20:36
token string { \" ( <[ \w \s \- ' ]>+ ) \" }20:36
with that modification, I get this output:20:36
{dob => {day => 9, month => 11, year => 1934}, lastName => Sagan, name => Carl, occupations => [atronomer author lecturer]}20:36
uzl moritz: Wow, that was so simple!20:37
moritz: Thanks!20:37
moritz uzl: you're welcome20:39
uzl moritz: does that mean that $0 in the method string is making a reference to the capture group in token string?20:39
wamba left20:39
moritz uzl: correct20:40
wamba joined20:40
uzl moritz: awesome!20:40
moritz uzl: if you want an even deeper dive into regexes and grammars, there's https://smile.amazon.com/dp/1484232275/20:43
damnlie left20:46
damnlie joined20:47
rindolf uzl: hi20:47
comborico1611 joined20:49
Possum joined20:49
comborico1611 left20:52
zakharyas left20:52
uzl moritz: I'll take a look at it. Thanks!20:53
rindolf: hello!20:53
skids left21:02
mcmillhj left21:06
Xiti joined21:09
Xiti left21:09
Xiti joined21:11
Xiti left21:11
raschipi left21:16
rindolf left21:24
uzl left21:31
mcmillhj joined21:41
epony left21:43
mcmillhj left21:46
Xliff joined21:52
Geth ¦ doc: kjkuan++ created pull request #2094: Fix missing nodejs dependency in the Dockerfile. 21:54
¦ doc: review: https://github.com/perl6/doc/pull/209421:54
wamba left22:00
molaf left22:02
dct left22:06
psychoslave left22:13
psychoslave joined22:13
psychoslave left22:19
raynold joined22:25
robertle left22:26
mcmillhj joined22:32
mcmillhj left22:37
HaraldJoerg left22:43
mcmillhj joined23:06
mcmillhj left23:10
markoong left23:14
comborico1611 joined23:18
kurahaupo left23:19
kurahaupo joined23:19
mcmillhj joined23:20
mcmillhj left23:25
[particle]1 joined23:30
mcmillhj joined23:32
[particle] left23:33
mcmillhj left23:37
Kaiepi left23:44
mcmillhj joined23:59

Logs Search ←Prev date Next date→ Channels Documentation