--- Day changed Tue Dec 18 2018 02:10 -!- midnightmagic [~midnightm@unaffiliated/midnightmagic] has quit [Ping timeout: 260 seconds] 02:16 -!- midnightmagic [~midnightm@unaffiliated/midnightmagic] has joined #joinmarket 02:49 -!- asymptotically [~asymptoti@gateway/tor-sasl/asymptotically] has joined #joinmarket 03:57 -!- asymptotically is now known as gynecologically 03:57 -!- gynecologically is now known as asymptotically 04:01 -!- belcher [~belcher@unaffiliated/belcher] has joined #joinmarket 06:24 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 08:48 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.3] 09:27 -!- asymptotically [~asymptoti@gateway/tor-sasl/asymptotically] has quit [Ping timeout: 256 seconds] 09:29 -!- asymptotically [~asymptoti@gateway/tor-sasl/asymptotically] has joined #joinmarket 09:52 -!- azizLIGHT [~azizLIGHT@unaffiliated/azizlight] has quit [Ping timeout: 260 seconds] 09:58 -!- azizLIGHT [~azizLIGHT@unaffiliated/azizlight] has joined #joinmarket 10:08 -!- achow101 [~achow101@unaffiliated/achow101] has quit [Ping timeout: 250 seconds] 10:16 -!- achow101 [~achow101@unaffiliated/achow101] has joined #joinmarket 10:30 < arubi> I think my #252 is ready, just need to squash when ACK'ed. if undeath comes around and I'm gone, I already answered his review but still no response so pls let him know (I'm not sure if github notifies you on a comment made to a review) 10:32 < arubi> oh also /topic should read "Latest release 0.5.0" 10:41 -!- mode/#joinmarket [+o belcher] by ChanServ 10:41 -!- belcher changed the topic of #joinmarket to: Welcome to JoinMarket: Increase Fungibility and Subsidise Your Fees | https://github.com/Joinmarket-Org/joinmarket-clientserver | @joinmarket r/joinmarket | Live View: https://joinmarket.me/ob | Latest release 0.5.0 | Also on ssl 6dvj6v5imhny3anf.onion:6697 #joinmarket 10:41 -!- mode/#joinmarket [-o belcher] by belcher 10:48 < waxwing> cheers 10:50 < waxwing> dumb Q, is there a command for `git add` but adds all the files you've changed? `git add .` or something? 10:52 < arubi> that's exactly it 10:52 < arubi> 'add .' 10:53 < arubi> well from the root of the repo at least 10:54 < waxwing> so it'd only add changed files, not files that are not currently tracked arubi ? 10:55 < arubi> ah wait, right. if some files are not ignored it might add them too. yea 10:56 < arubi> simple `git commit` doesn't just commit all changed files for you? 10:58 < waxwing> don't you always need to add before commit? 10:59 < nkuttler> no, just commit -a 10:59 < nkuttler> will commit all changes in all tracked files 10:59 -!- GitHub179 [GitHub179@gateway/service/github.com/x-nzixxvsoodazsnnq] has joined #joinmarket 10:59 < GitHub179> [joinmarket-clientserver] AdamISZ opened pull request #256: Remove btc.py (master...remove-btcpy) https://git.io/fpheh 10:59 -!- GitHub179 [GitHub179@gateway/service/github.com/x-nzixxvsoodazsnnq] has left #joinmarket [] 10:59 < arubi> you really only need to if you wanna stage different files, but I personally always give all file paths 10:59 < nkuttler> git add . is dangerous imo 11:00 < arubi> aaahhh I was just doing that waxwing :) 11:00 < arubi> not at all simple as it seemed at first 11:00 < nkuttler> i usually do git add -p, because i edit too much stuff that's not related 11:01 < arubi> so it just outputs a patch? 11:01 < waxwing> nkuttler, interesting, thanks. i'll take a closer look at -p 11:02 < waxwing> yeah this is ofc why i never got into a `git add .` habit whereas i did get into a `git checkout .` habit ... for certain situations :) 11:02 < nkuttler> arubi: it outputs small diffs that you can add, split, skip, etc 11:02 < nkuttler> so you can walk through all your changes 11:02 < arubi> cool, will try that 11:03 < waxwing> arubi, also thanks, for the commit -a suggestion. 11:03 < arubi> ah that was nkuttler's 11:04 < nkuttler> thanks to you for working on joinmarket :) 11:04 < arubi> I'm so used to committing full file paths, never "all" because I edit too many things 11:04 < waxwing> oh, heh 11:17 < Sentineo> git reflog, git rebase -i 11:17 < Sentineo> do you guys use them ? 11:17 < arubi> rebase -- always 11:18 < waxwing> rebase -i yes, reflog no 11:18 < Sentineo> git reflog is cool 11:18 < Sentineo> you can reset the state of the repo in time basically 11:18 < Sentineo> so if you do e.g. a rebase and then you realize oh shit, I want the state back 11:18 < Sentineo> you can use git reflog to find the HEAD{x} to reset to 11:19 < arubi> I used reflog a bunch when splitting some huge repo at work, or when trying to find a lost commit 11:19 < Sentineo> git fsck 11:20 < arubi> sadly we've changed version control to perforce... it's bad.. I can't even begin to describe how bad it is 11:20 < Sentineo> oh wow 11:20 < arubi> yea so at home I rarely need the advanced stuff. I commit a lot and rebase a lot 11:20 < Sentineo> why, was git too good? 11:20 < arubi> "it's open source, it can't be so good as a paid product" 11:21 < Sentineo> ah sure! :) 11:21 < arubi> this decision was done VERY high up, and not by devs 11:21 < Sentineo> ah somebody will have a nice yacht :) 11:21 < arubi> absolutely everybody were screaming that it's a bad call 11:21 < arubi> no comment :) 11:21 < Sentineo> clearly not the devs :P 11:22 < arubi> for months I was working on changing everything from git to p4. 0/10 would not recommend 11:22 < Sentineo> hm I am the only one using git at my work 11:23 < Sentineo> and basically for my future and past self :D 11:23 < arubi> :) I'm still using git everywhere at work for everything else but the core product 11:23 < arubi> well, not just me, everyone are 11:24 < arubi> but yea, if you see a p4 salesguy, turn around and run 11:24 < Sentineo> the sad thing I am the best programmer at my work, which is a really bad thing :) Like a single eyed person is king amond blind people :) 11:25 < arubi> haha, imposter syndrome much? :) 11:25 < Sentineo> :) haha 12:25 -!- GitHub184 [GitHub184@gateway/service/github.com/x-wjjtvleayauaofet] has joined #joinmarket 12:25 < GitHub184> [joinmarket-clientserver] jameshilliard opened pull request #257: Remove unused regex based type detection (master...cleanup) https://git.io/fphti 12:25 -!- GitHub184 [GitHub184@gateway/service/github.com/x-wjjtvleayauaofet] has left #joinmarket [] 13:23 -!- davex__ [~dx25@75-163-113-191.omah.qwest.net] has joined #joinmarket 13:23 -!- davex__ [~dx25@75-163-113-191.omah.qwest.net] has left #joinmarket [] 14:04 -!- achow101 [~achow101@unaffiliated/achow101] has quit [Ping timeout: 245 seconds] 14:13 < waxwing> Lightsword, ping 14:13 < Lightsword> waxwing, pong 14:14 < waxwing> ok so i just wanted to get clear, is it that: the regexp isn't used by any of the calling functions, i.e. there'd be no case where the basestring check isn't enough? 14:14 < Lightsword> waxwing, the regexes were basically made redundant by the explicit type detection 14:15 < waxwing> so, the basestring check? or is it not always that 14:17 < Lightsword> waxwing, varies, but the regexes were mostly made useless since they would throw errors due to type mismatches if the type checks were incorrect 14:17 < waxwing> well but i'm just trying to establish exactly what the delta is. like in the first case, deserialize() 14:19 < Lightsword> waxwing, they were essentially already made redundant, “isinstance(txinp, basestring) and not isinstance(txinp, bytes)” will already catch everything needed 14:20 < waxwing> right, that's what i meant about basestring; but that's just checking it's a string, not if it's hex 14:20 < waxwing> i mean it looks right to me since it'd be wrong anyway if it was a string, but *not* hex 14:20 < Lightsword> waxwing, the bytes check is what determines if it’s hex or not 14:20 -!- asymptotically [~asymptoti@gateway/tor-sasl/asymptotically] has quit [Remote host closed the connection] 14:20 < waxwing> i meant, the case where what comes in is a string, but not a hex string 14:22 < waxwing> it's just a matter for callers to catch, i guess. just trying to be sure. 14:22 < Lightsword> waxwing, “not isinstance(txinp, bytes)” is the check for determining if it’s hex or not, isinstance(txinp, basestring) is just a sanity check 14:23 < waxwing> "not isinstance(txinp, bytes)" doesn't check if something is a hex string, it just checks it's not bytes, right? 14:23 < waxwing> to be concrete, i'm talking about txinp="ZZZ" etc. 14:24 < Lightsword> waxwing, we converted everything AFAIK so that the call sites pass everything with correct types 14:24 < Lightsword> so bytes should never be hex 14:25 < waxwing> yes, again, i'm not talking about if the input is bytes, but if it's a string, but not a hex string. 14:25 < waxwing> but yes, this is checked by callers. 14:25 < Lightsword> waxwing, yeah if it’s not bytes it should be hex encoded 14:26 < waxwing> the assumption is there, i was just trying to remember. i'll just double check all the call sites again. but it's orthogonal to the removal. 14:26 < waxwing> come to think of it, that wasn't really the thing i was confused about :) 14:27 < waxwing> i was more confused about how things have changed, but ... now it's clear. the types are checked coming in now, so it makes more sense to remove those regexp checks 14:27 < Lightsword> yeah, reason they were left in was because I couldn’t remove them until the entire codebase was converted to use py3 types 14:28 < waxwing> but was it really not clear what i meant, in the above? 14:29 < waxwing> i'm saying, the input to any of those functions might be a string, but not a hex string, the code now converts; but with the regexps intact, it would still fail, so i guess it's just academic 14:31 < Lightsword> well python3 strings can’t really encode bytes like python2 strings so we should have noticed an issue already if something was incorrect there 14:34 < waxwing> hmm, still seems we're talking at cross purposes then. i'm imagining a scenario where something called jmbitcoin.deserialize(str("ZZZ")) ... here it'd fail on the call to binascii.unhexlify on line 18, right? before it'd jump over and assume not hex, and go to line 21, which would still be totally wrong :) (i don't know exactly how it'd fail, but still) 14:34 < waxwing> ("here" means "in your new version of the function") 14:35 < waxwing> yeah it'd fail directly at line 21 14:36 < waxwing> (again, this is almost certainly all academic; just want to be super clear in considering any unexpected implications 14:38 < Lightsword> waxwing, yeah, it does need to be correct at the call sites 14:39 < waxwing> right, just sanity checked it with PR, the difference is clear enough. i'll read through the usages of the code. 14:39 < waxwing> also, you can drop the import re 14:39 < waxwing> or can you, maybe not, didn't check whole file 14:40 < Lightsword> waxwing, I think it’s still used in a few places 14:42 < waxwing> yeah. i guess any audit of callers here is orthogonal to this change; if they're wrong with it, they were wrong before. still worth doing. 14:54 -!- achow101 [~achow101@unaffiliated/achow101] has joined #joinmarket 15:51 < waxwing> bit of a long shot, but has anyone else tried this (restore in samourai)? it worked for me, but nobody else ever reported on it, and that was a year ago. wonder if something changed. https://www.reddit.com/r/joinmarket/comments/a652mc/another_wallet_compatible_with_joinmarket_format/ec2u2cp/ 16:26 < waxwing> Lightsword, given this: https://0bin.net/paste/EZn+0ytzs8LuqxYs#ed7RoOaDi+50J71QEaf9HSDqxt4zzXFx-N25l9HgbDU 16:27 < waxwing> i don't fully understand. if the check we're using is "is it basestring but not bytes? then unhexlify. but it seems the behaviour is not the same on both pythons? 16:28 < Lightsword> waxwing I think you need from __future__ import unicode_literals 16:28 < waxwing> oh! i'll try again :) 16:29 < waxwing> yep, then it matches. 17:42 -!- AgoraRelay [~jmrelayfn@p5DE4AB0A.dip0.t-ipconnect.de] has quit [Ping timeout: 272 seconds] 17:54 -!- AgoraRelay [~jmrelayfn@p5DE4AA76.dip0.t-ipconnect.de] has joined #joinmarket