--- Log opened Mon Aug 05 00:00:30 2019 00:26 -!- aleru [496680ee@gateway/web/cgi-irc/kiwiirc.com/ip.73.102.128.238] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] 00:27 -!- Guadalupe28Okune [~Guadalupe@ns334669.ip-5-196-64.eu] has joined #rust-bitcoin 00:35 -!- DeanGuss [~dean@gateway/tor-sasl/deanguss] has quit [Remote host closed the connection] 02:19 -!- mauz555 [~mauz555@2a01:e35:8ab1:dea0:5979:e530:9381:2894] has joined #rust-bitcoin 03:27 -!- mauz555 [~mauz555@2a01:e35:8ab1:dea0:5979:e530:9381:2894] has quit [] 04:47 -!- aleru [496680ee@gateway/web/cgi-irc/kiwiirc.com/ip.73.102.128.238] has joined #rust-bitcoin 05:59 -!- ccdle12 [~ccdle12@cpc139350-aztw33-2-0-cust310.18-1.cable.virginm.net] has joined #rust-bitcoin 06:17 -!- aleru [496680ee@gateway/web/cgi-irc/kiwiirc.com/ip.73.102.128.238] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] 06:21 -!- nixbitcoin [~nixbitcoi@gateway/tor-sasl/nixbitcoin] has joined #rust-bitcoin 08:22 < andytoshi> morning. reading scrollback, investigating this 08:22 < andytoshi> My current rust-bitcoin lockfile has tempfile 3.0.7; building on 1.22.0 works, as expected 08:22 < andytoshi> `cargo 1.22.0 update` gives me 3.0.8 08:23 < andytoshi> and `cargo 1.34.0 update` gives me 3.1.0 08:23 < andytoshi> then `cargo 1.22.0 update` brings me back down to 3.0.8, which is pretty cool 08:28 < andytoshi> `cargo 1.31.0 update` brings me up to 3.1.0 ... which then does not compile 08:28 < andytoshi> sigh 08:28 < elichai2> that's cool. but really weird. I don't know of any way in cargo to tell it rust versions 08:29 < elichai2> yep. there's something really weird going on in the dependencies choices 08:29 < andytoshi> you can't, cargo is just broken in this respect 08:30 < andytoshi> and there is this fucked up culture of https://github.com/Stebalien/tempfile/issues/100 where "breaking compilation is not a breaking change" 08:31 < elichai2> right. at least getrandom fairly said that they do consider it a breaking change https://github.com/rust-random/getrandom/issues/75 08:31 < elichai2> btw, in github if you want bold you need double astrisks. **bold** single is italian 08:31 < elichai2> or not italian, the thing that make the text be in an angle lol 08:32 < andytoshi> lol 08:32 < andytoshi> italics are still emphatic 08:35 < andytoshi> looks like tempfile appeared as part of https://github.com/rust-bitcoin/rust-bitcoin/pull/231 which is a massive overhaul/cleanup. natural that things like this would get through 08:36 < elichai2> I actually like the tempfile crate. it gives you very easy API that auto deletes the dirs. altough we could write our own simple functions for it 08:38 < andytoshi> ok, but why do we ever need actual filesystem files? 08:38 < andytoshi> it's pretty bizarre that our unit tests depend on you having a writeable disk 08:38 < andytoshi> i would not have approved this streamreader API as is 08:40 < andytoshi> but anyway just fixing the tests to not use tempfile should be fine 08:40 < elichai2> andytoshi: ok. I talked with some people on IRC 08:41 < elichai2> and `0.Y.Z` and `X.Y.Z` are treated differently 08:41 < andytoshi> yes 08:41 < andytoshi> 0.X.Y treats X as the major version. which is not standard semver, it's a cargo thing 08:41 < elichai2> I didn't know that. I thought `X.Y.Z` means Y isn't really minor. 08:43 < elichai2> hmm StreamReader requires a `&mut Read` so the file can be replaced with a Vec 08:43 < andytoshi> yes 08:43 < andytoshi> that's also weird to use a &mut Read 08:43 < andytoshi> everywhere else in the code we parameterize over R:Read 08:43 < andytoshi> i might PR to fix that as well 08:44 < andytoshi> there's no reason to use a fat pointer and extra indirection, esp in case the user is using a slice or something 08:45 < elichai2> right. altough I do like using trait objects more than generics but it's an indirection and might hurt the optimizer as well 08:45 < elichai2> (as a readability feature) 08:46 < andytoshi> i don't think trait objects are more readable 08:46 < andytoshi> they have a ton of weird properties which is why we have the `dyn` syntax now 08:47 < andytoshi> which does dramatically improve readability ... is that supported by 1.22.0? 08:47 < elichai2> don't think the dyn syntax is supported in 1.22 08:47 < andytoshi> sucks 08:47 < elichai2> you need to use boxes 08:47 < elichai2> yeah 08:47 < andytoshi> yeah, google says 1.27 08:48 < andytoshi> what do you mean "need to use boxes" 08:49 < elichai2> I think we can still do `Box` 08:49 < elichai2> as a return value 08:49 < andytoshi> sure, that has been around since rust 0.4 or something 08:50 < elichai2> nevermind even with the dyn sytanx boxes are needed to return a trait 08:50 < andytoshi> yes, the dyn syntax is purely syntactic, to differentiate between trait objects and normal objects 08:51 < andytoshi> lol this is creative https://github.com/Stebalien/tempfile/issues/100 08:52 < andytoshi> "1.36 vs 1.22" is just a minor version bump of the compiler 08:54 < elichai2> yeah never heard that argument before lol 08:54 < andytoshi> heh, thanks for arguing 08:54 < andytoshi> i'm old and jaded. my solution is to just permanently drop tempfile and anything else @Stebalien ever works on and move on with my life.. 08:55 < elichai2> it upsets me because i've used this lib in other projects 08:55 < elichai2> and I kind of like it when you really need temp fs 08:56 < elichai2> https://crates.io/crates/tempfile/reverse_dependencies 467 crates depend on this. these are the kind of crates that can set community standards 08:58 < andytoshi> there is a subset of the rust community who come from node and ruby and who only make bad decisions 08:58 < andytoshi> rust-bitcoin is already independent of them 09:02 < elichai2> that's a harsh statement lol 09:03 -!- CjS77 [~caylemeis@195.159.29.126] has joined #rust-bitcoin 09:44 < gwillen> andytoshi: I mean the joke's not that funny but... he did yank the breaking minor version 09:44 < gwillen> and I don't think bumping compiler requirement in a major version is a sin 09:45 < gwillen> it's cargo's fault it doesn't let you filter for it 09:54 < elichai2> gwillen: the thing is he didn't bump a major version :/ . that's what I didn't get, when you have 3.0.8 then it's `Major.Minor.BugFix` when you have 0.1.2 it's `0.Major.Minor` 09:57 < elichai2> andytoshi: fyi, tell me if you're working on removing tempfile, otherwise I don't mind doing it later 09:57 < andytoshi> elichai2: i am not 09:57 < andytoshi> you're welcome to tak eit 09:58 < elichai2> 👍 10:01 < andytoshi> also what is this term "MSRV" ? 10:03 < gwillen> minimum supported rust version 10:03 < gwillen> and yeah I blanked on which part of the version string is which, oops 10:05 < andytoshi> opened https://github.com/rust-bitcoin/rust-bitcoin/issues/306 about it 10:05 < andytoshi> elichai2: re "harsh statement", i maintain a lot of projects and it very frustrating to wake up on a monday to find that somebody has taken time out of their day to undermine the reliability of my software 10:06 < andytoshi> and the reliability of the rust ecosystem and community and culture 10:38 < gwillen> the name MSRV comes from https://github.com/rust-lang/rfcs/pull/2495 10:38 < gwillen> which seems like something to be supporting 10:38 < gwillen> in order to fix this problem 10:38 < gwillen> I think it probably makes more sense for MSRV to be its own field rather than bumping major every time it changes 10:38 < gwillen> you get the same benefit, if cargo handles it right 10:54 < andytoshi> elichai2: nice, looking at #307 10:54 < andytoshi> i think you should change SStreamReader to use a R, not an &'a mut R 10:57 < elichai2> Thanks. you're right. didn't think of it too much. pushing now 10:58 < elichai2> this also removes the lifetime so that's great :) 10:58 < andytoshi> yep :) 11:03 < andytoshi> can you squash these commits? 11:06 < elichai2> sure 11:31 -!- aleru [496680ee@gateway/web/cgi-irc/kiwiirc.com/ip.73.102.128.238] has joined #rust-bitcoin 13:01 -!- nixbitcoin [~nixbitcoi@gateway/tor-sasl/nixbitcoin] has quit [Quit: nixbitcoin] 13:03 -!- aleru [496680ee@gateway/web/cgi-irc/kiwiirc.com/ip.73.102.128.238] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] 13:11 < elichai2> andytoshi: just got my yubikey, need to install anything(arch) or it should just work out of the box? 13:12 < andytoshi> depends what you're using it for 13:12 < andytoshi> for gpg and ssh it'll just work out of the box 13:12 < andytoshi> for u2f you need to install pam_u2f, which is in the arch repo 13:12 < andytoshi> and probably you want to install the yubikey manager, also in the arch repo 13:13 < elichai2> as a u2f for github/google etc. I need the pam_u2f too? 13:16 < andytoshi> hm, maybe not 13:16 < andytoshi> maybe the browser support is sufficiet 13:20 < elichai2> I needed to start `pcscd.service` that was the thing, thanks :) 13:32 < andytoshi> interesting. i don't have that running 13:32 < andytoshi> i think my gpg-agent handles the scd stuff 13:33 < elichai2> a bit disappointed about my choices for keys, max RSA is 2048, and no ed25519 13:38 < andytoshi> you can put 4000-bit keys on the yubikey 13:38 < andytoshi> but yeah, lack of EC sucks 13:47 < elichai2> how? `(choose from RSA1024, RSA2048, ECCP256, ECCP384)` 13:47 < andytoshi> which model do you have? 13:47 < andytoshi> and what is that "choose from" from? 13:47 < elichai2> looks like in pgp it's possible but not in piv (for ssh) 13:47 < elichai2> the 5 13:47 < andytoshi> i don't know what piv is 13:48 < andytoshi> but with the 4 you can use 4096 bit keys 13:48 < elichai2> https://support.yubico.com/support/solutions/articles/15000014180-yubikey-5c I might just be using the wrong guide lol https://wiki.archlinux.org/index.php/YubiKey#Using_a_YubiKey_with_SSH 13:49 < andytoshi> oh, yeah, you can clearly see that it supports 4096 for openpgp but not for piv 13:49 < andytoshi> so you should use openpgp for ssh 13:56 < elichai2> andytoshi: I'm expected to generate the keys on my machine? I get that hardware randomness is hard but that's weird 13:56 < andytoshi> yeah, the story for rsa keys is really bad 13:56 < andytoshi> you can't do it by hand, basically only openpgp has software for it and they do some really intricate steps 13:57 < andytoshi> want to work on generating RSA keys from bip32 seeds? 13:57 < andytoshi> (you also can't really generate bip32 seeds by hand, but you can get close, you just need software to generate the last word to make the checksum work) 14:00 < elichai2> might actually be a cool project. do we have a bip32 crate? altough it will still require the host to then convert it to RSA for importing :/ (no yubikey have a screen) 14:01 < andytoshi> rust-bitcoin has a bip32 module 14:01 < andytoshi> but for the wordlists we'd need bip49, which i think i concept-NAKed from rust-bitcoin recently 14:01 < andytoshi> it's not hard though 14:02 < andytoshi> but yes, you need a host, and you need the software to output your key in an openpgp format 14:02 < elichai2> i'll look at it this weekend :), the question is do I want to have this for actual usage or do I want to implement my own RSA(which I wanted to do for a while) and then not production heh 14:03 < elichai2> there's a bunch of pgp crates that probably support the format 14:04 < andytoshi> well, https://github.com/rust-bitcoin/rust-bitcoin/issues/54 is open because such a tool does not exist 14:04 < andytoshi> are there? last i checked there were no pgp crates at all 14:05 < andytoshi> heh https://crates.io/crates/sloppy-rfc4880 is almost what we want 14:06 < elichai2> what about https://crates.io/crates/pgp 14:07 < andytoshi> way too many dependencies, including RustCrypto stuff and generic-array which i've blacklisted 14:07 < elichai2> though the docs are pretty empty 14:07 < elichai2> yeah I'm really sad about the way RustCrypto handle stuff 14:07 < elichai2> it's just a huge mess 14:07 < andytoshi> and failure ... i suspect that it requires some yolo version of rustc 14:08 < elichai2> the only place where they did an ok job is with the sha2 crate 14:08 < elichai2> other than that ring took everyone 14:09 < andytoshi> https://crates.io/crates/sequoia-openpgp looks encouraging 14:12 < andytoshi> they have failure and idna as deps, which are red flags, but in general they have a ton of documentation and a low dependency footprint 14:25 -!- aleru [496680ee@gateway/web/cgi-irc/kiwiirc.com/ip.73.102.128.238] has joined #rust-bitcoin 14:38 -!- ccdle12 [~ccdle12@cpc139350-aztw33-2-0-cust310.18-1.cable.virginm.net] has quit [] 14:45 -!- ccdle12 [~ccdle12@cpc139350-aztw33-2-0-cust310.18-1.cable.virginm.net] has joined #rust-bitcoin 14:49 -!- ccdle12 [~ccdle12@cpc139350-aztw33-2-0-cust310.18-1.cable.virginm.net] has quit [Client Quit] 14:58 -!- ccdle12 [~ccdle12@cpc139350-aztw33-2-0-cust310.18-1.cable.virginm.net] has joined #rust-bitcoin 15:20 < andytoshi> elichai2: i think, if you want to write some code that uses sequioia to do the openpgp interfacing stuff, i can do the prime generation 15:24 -!- aleru [496680ee@gateway/web/cgi-irc/kiwiirc.com/ip.73.102.128.238] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] 15:26 -!- ccdle12 [~ccdle12@cpc139350-aztw33-2-0-cust310.18-1.cable.virginm.net] has quit [] 15:28 < ariard> /3/5 15:28 < ariard> sorry 15:32 -!- Guadalupe28Okune [~Guadalupe@ns334669.ip-5-196-64.eu] has quit [Ping timeout: 245 seconds] 17:36 -!- DeanGuss [~dean@gateway/tor-sasl/deanguss] has joined #rust-bitcoin 18:14 -!- TamasBlummer1 [~Thunderbi@p200300DD6712645721A9FCB9F4B8CAA0.dip0.t-ipconnect.de] has joined #rust-bitcoin 18:16 -!- TamasBlummer [~Thunderbi@p200300DD671264051DCE7C9489E69676.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 18:16 -!- TamasBlummer1 is now known as TamasBlummer 19:27 -!- aleru [496680ee@gateway/web/cgi-irc/kiwiirc.com/ip.73.102.128.238] has joined #rust-bitcoin 21:15 -!- elichai2 [uid212594@gateway/web/irccloud.com/x-rnmnqbltvjwgcwfz] has quit [Quit: Connection closed for inactivity] 22:05 -!- aleru [496680ee@gateway/web/cgi-irc/kiwiirc.com/ip.73.102.128.238] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] 22:07 -!- DeanGuss [~dean@gateway/tor-sasl/deanguss] has quit [Remote host closed the connection] --- Log closed Tue Aug 06 00:00:31 2019