--- Day changed Thu Nov 29 2018 00:18 -!- beIcher [~user@unaffiliated/belcher] has quit [Ping timeout: 250 seconds] 00:21 -!- belcher [~belcher@unaffiliated/belcher] has quit [Ping timeout: 252 seconds] 00:22 -!- belcher [~belcher@unaffiliated/belcher] has joined #joinmarket 00:24 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 00:31 -!- takamatsu [~takamatsu@unaffiliated/takamatsu] has quit [Ping timeout: 250 seconds] 00:48 -!- beIcher [~user@unaffiliated/belcher] has quit [Ping timeout: 250 seconds] 00:50 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 01:13 -!- takamatsu [~takamatsu@unaffiliated/takamatsu] has joined #joinmarket 02:51 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Ping timeout: 246 seconds] 02:53 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #joinmarket 03:25 -!- takamatsu [~takamatsu@unaffiliated/takamatsu] has quit [Ping timeout: 250 seconds] 03:31 -!- takamatsu [~takamatsu@unaffiliated/takamatsu] has joined #joinmarket 03:38 < waxwing> thinking of adding utxo freeze and coin control features. shouldn't be too hard. well, i guess it's one of a million things but worth mentioning it. 04:06 -!- takamatsu [~takamatsu@unaffiliated/takamatsu] has quit [Ping timeout: 250 seconds] 05:28 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Ping timeout: 268 seconds] 05:31 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #joinmarket 05:56 -!- takamatsu [~takamatsu@unaffiliated/takamatsu] has joined #joinmarket 06:00 -!- beIcher [~user@unaffiliated/belcher] has quit [Ping timeout: 246 seconds] 06:06 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 06:17 -!- beIcher [~user@unaffiliated/belcher] has quit [Ping timeout: 246 seconds] 06:21 < waxwing> lol test_commands is totally borked and has been for like a year. it silently stops after the first couple of messages. fixing up now, it might even test something useful in future :) 06:22 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 06:27 -!- beIcher [~user@unaffiliated/belcher] has quit [Ping timeout: 250 seconds] 06:28 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 06:50 -!- beIcher [~user@unaffiliated/belcher] has quit [Ping timeout: 250 seconds] 06:57 < waxwing> with builtins, why does 'isinstance(x, str)' return False when type(x) is 'str'? 06:57 < waxwing> i guess this is probably the same question in python3 if i get the idea right 06:58 < waxwing> hmm googling/stackexchanging suggests it's the builtins/future thing, right 07:04 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 07:06 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 07:16 -!- beIcher [~user@unaffiliated/belcher] has quit [Ping timeout: 240 seconds] 07:27 -!- GitHub155 [GitHub155@gateway/service/github.com/x-qzcwjoeymbveyhwe] has joined #joinmarket 07:27 < GitHub155> [joinmarket-clientserver] AdamISZ opened pull request #242: Fix bugs in bigstring and test_commands (master...fix-commands) https://git.io/fpV9q 07:27 -!- GitHub155 [GitHub155@gateway/service/github.com/x-qzcwjoeymbveyhwe] has left #joinmarket [] 07:27 < waxwing> re: the above undeath , Lightsword does this change make sense to you? https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/242/files#diff-56fdf590f4f84809d0e041750eab32d4R46 07:28 < waxwing> context: https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/242#issuecomment-442874968 07:28 < undeath> "{}.{}".format(name, counter) 07:28 < waxwing> basically, it doesn't allow a unicode key in the k-v pairs sent in the amp protocol 07:29 < waxwing> undeath, would that avoid the problem that was there before? the "%s.%d" % (name, counter) gave the unicode key error 07:29 < waxwing> i guess i can just try it :) 07:30 < undeath> i guess the problem is %s 07:30 < undeath> format should take care of whatever you throw at it 07:31 < waxwing> undeath, no seems not. 07:31 < undeath> really? 07:31 < waxwing> the builtins thing seems to be quite tricky for this stuff, since 'str' isn't quite what it was. 07:31 < waxwing> well, unless i made a mistake, that reintroduces the error 07:32 < undeath> if it breaks format that's pretty stupid 07:32 < waxwing> strings["{}.{}".format(name, counter)] = nextChunk 07:32 < waxwing> copy-paste ^ 07:32 < undeath> that is the code I imagined 07:33 < undeath> oh, I think you may need strings[u"{}.{}".format(name, counter)] = nextChunk 07:33 < undeath> or b""? 07:33 < waxwing> undeath, oh? but i specifically *don't* want unicode 07:34 < undeath> well, then probably b""? 07:34 < waxwing> oh, b, yeah could work, i can try it, just grabbign a drink 07:34 < undeath> not even sure if bytes have format though 07:34 < undeath> no, they don't 07:35 < undeath> so, probably "{}.{}".format(name, counter).encode('ascii') 07:36 < undeath> where format is just the more py3-version of "" % (vars…) 07:37 < undeath> I tried to avoid concatenation using + if not explicitly dealing with strings only 07:37 < undeath> *I try 07:38 < undeath> trying to remember where to cast what aso is annoying and error-prone 07:47 < undeath> there is nothing wrong with your fix I guess 07:47 < undeath> it's just a matter of style 07:48 < undeath> I don't know anything about the command tests, I trust you known what you're doing there :) 07:52 < waxwing> yeah i agree better not to concat. 07:52 < waxwing> and i just tested, that works, unsurprisingly (your last suggestion), so i'll do that. 07:53 < waxwing> re: knowing what i'm doing, well no, the problem is just the broken test design. it's something i did right at the start, i just kinda found the first thing from googling that *seemed* to allow a twisted test to work, but it really doesn't. 07:53 < undeath> :D 07:53 < waxwing> because failures seem to just get swallowed. i think there's like 3 tests that are like that (have that timeout) 07:53 < undeath> uh 07:54 < undeath> that's not a good test then :/ 07:54 < waxwing> yes. i can't say anything definitive, other than that i just don't really understand the right way to carry it out. the fix to make it better might be quite simple, just don't know. 07:54 < waxwing> at least locally you can test it and see what happens (should use -s). so at least it's not 100% worthless. 07:55 < undeath> i'll try to look into it 07:55 < undeath> well, I personally don't look at the output of successful tests usually 07:56 < waxwing> of course 07:57 < waxwing> i had hoped i was perfectly clear that i was saying it was not acceptable. but actually fixing it as another matter. 07:57 < undeath> yes, understood :) 07:57 < waxwing> updated to your syntax. i guess not much point in not merging it now, or ..? 07:58 < undeath> go ahead 07:59 < undeath> the quoting style is a bit weird, but that's caused by myself 07:59 < waxwing> oh? what's that? 07:59 < undeath> well, it's using double quotes for the first string and single quotes for the second one 08:00 < undeath> but that's a mess thoughout the whole codebase anyway 08:00 < waxwing> yes no consistency there atm 08:01 < undeath> when I checked stackoverflow there was no real agreement on when to use what 08:02 < undeath> a somewhat bigger minoriy favoured using double quotes for human-readable information and single quotes for internal stuff like identifiers, fmt str data, … 08:02 < undeath> *minority 08:03 < undeath> so it's mostly a matter of personal preference (or ideally project guidelines) 08:03 < undeath> not that it's really important 08:16 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 08:54 -!- GitHub101 [GitHub101@gateway/service/github.com/x-fsbrmbqsipzimmar] has joined #joinmarket 08:54 < GitHub101> [joinmarket-clientserver] AdamISZ pushed 1 new commit to master: https://git.io/fpVj3 08:54 < GitHub101> joinmarket-clientserver/master 3027c03 AdamISZ: Merge #242: Fix bugs in bigstring and test_commands... 08:54 -!- GitHub101 [GitHub101@gateway/service/github.com/x-fsbrmbqsipzimmar] has left #joinmarket [] 08:55 -!- GitHub41 [GitHub41@gateway/service/github.com/x-irgzxrpsgxjczlgg] has joined #joinmarket 08:55 < GitHub41> [joinmarket-clientserver] AdamISZ closed pull request #242: Fix bugs in bigstring and test_commands (master...fix-commands) https://git.io/fpV9q 08:55 -!- GitHub41 [GitHub41@gateway/service/github.com/x-irgzxrpsgxjczlgg] has left #joinmarket [] 09:02 < undeath> arubi: isn't coincurve_patch_ignore_sys_libsecp missing a return? or is that optional? 09:03 < arubi> it'll return the value of the last exited command 09:03 < undeath> ok, nice 09:10 -!- mr_paz [~mr_paz@84.39.112.89] has joined #joinmarket 09:11 -!- beIcher [~user@unaffiliated/belcher] has quit [Ping timeout: 246 seconds] 09:12 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 09:48 -!- achow101 [~achow101@unaffiliated/achow101] has quit [Ping timeout: 264 seconds] 10:03 -!- achow101 [~achow101@unaffiliated/achow101] has joined #joinmarket 10:48 -!- GitHub73 [GitHub73@gateway/service/github.com/x-ozbilmgvvmwqslzn] has joined #joinmarket 10:48 < GitHub73> [joinmarket-clientserver] undeath opened pull request #243: remove slowaes (master...remove-slowaes) https://git.io/fpwmh 10:48 -!- GitHub73 [GitHub73@gateway/service/github.com/x-ozbilmgvvmwqslzn] has left #joinmarket [] 10:53 * arubi loves when tons of lines are removed 10:53 < undeath> :D 11:09 -!- raedah [~x@184.75.221.179] has quit [Ping timeout: 252 seconds] 11:11 -!- rdymac [uid31665@gateway/web/irccloud.com/x-areagrgrnglqqtoh] has quit [Quit: Connection closed for inactivity] 12:02 < waxwing> https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/241/files#diff-4f3c2beacd536175f30616463ddaeb33R397 <-- probably just dumb, but i don't understand why 'wb' is appropriate here, if we're writing a text file? 12:02 < undeath> i was wondering, too 12:14 < belcher> the thing that 'w' as opposed to 'wb'" does is convert "\n" to "\r\n" on windows 12:14 < belcher> some people just have a muscle-memory habit of using 'wb' for everything? so idk 12:14 < belcher> if you only use linux then they're the same 12:31 < waxwing> that's what i thought i knew :) but with this whole future thing, i'm not sure, there was presumably a reason. 12:32 < undeath> yes, I'd actually expect it to error out if you pass a str to it 12:44 < waxwing> Lightsword, starting sendpayment gives this error in the option parsing: https://0bin.net/paste/igMyaREHivZszYy5#d+BYU9rfwc0AV2ddAC3lpES2ueIiZJBl4TqUtQG5hsO 12:46 -!- beIcher [~user@unaffiliated/belcher] has quit [Ping timeout: 246 seconds] 12:50 -!- beIcher [~user@unaffiliated/belcher] has joined #joinmarket 12:52 -!- belcher [~belcher@unaffiliated/belcher] has quit [Ping timeout: 252 seconds] 13:09 -!- belcher [~belcher@unaffiliated/belcher] has joined #joinmarket 13:30 < waxwing> seems like replacing type=str with type="string" works 13:31 < undeath> that looks so wrong 13:32 < waxwing> here: https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/241/files#diff-cc68ef76b7c622c229f24ede1540d990R63 13:32 < waxwing> well but if you look in optparse.py 13:33 < undeath> i'm not saying it is wrong :) 13:34 < waxwing> line 552 13:34 < waxwing> oh, ok 13:35 < undeath> how did you figure out it should be "string"? 13:36 < waxwing> sorry line 522 13:36 < waxwing> there's a list self.TYPES there 13:36 < undeath> I'd more expect it to by type=newstr 13:36 < waxwing> the list of types is a list of strings. one of the strings is "string" 13:36 < waxwing> :) 13:36 < undeath> heh 13:37 -!- mr_paz [~mr_paz@84.39.112.89] has quit [Ping timeout: 246 seconds] 13:39 < waxwing> undeath, is this one obvious? trying tumbler.py got: 13:39 < waxwing> File "tumbler.py", line 45, in main 13:39 < waxwing> maxcjfee = get_max_cj_fee_values(jm_single().config, options_org) 13:39 < waxwing> File "/home/adam/code/Joinmarket/joinmarket-clientserver/scripts/cli_options.py", line 118, in get_max_cj_fee_values 13:39 < waxwing> if len(filter(lambda x: x is None, fee_values)): 13:39 < waxwing> TypeError: object of type 'itertools.ifilter' has no len() 13:40 < undeath> missing list() 13:40 < waxwing> ok, wrap the whole thing in list()? 13:40 < waxwing> oh list before len 13:40 < undeath> len(list(…)) 13:40 < waxwing> right 13:40 < undeath> in py3 most things are iterators, not lists anymore 13:40 < waxwing> yeah i remember this with set 13:41 < undeath> however, since it's if len() 13:41 < undeath> you could just do if any() 13:41 < waxwing> huh, never used that idiom. so like `if any(filter(...` ? 13:41 < waxwing> or does it still need list 13:41 < undeath> yep 13:41 < undeath> no, that avoids the list 13:42 < undeath> because in fact you only want to know if there is some item left 13:43 < undeath> i think you could even remove the filter 13:43 < undeath> if any(lambda x: x is None, fee_values) 13:44 < undeath> oh no 13:44 < undeath> that's something different now 13:44 < undeath> maybe it's gettling a little to late for me right now 13:46 < undeath> any(x is None for x in fee_values) 13:46 < undeath> that's what we are looking for 13:51 < waxwing> sounds good. i'm not sure what the difference is between that version and `if any(filter(lambda x: x is None, fee_values)):`? 13:51 < undeath> any(filter()) will actually fail 13:51 < waxwing> this line also crashes: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/440823b9670c0a232d42773c1c54c5972398ccfa/jmclient/jmclient/taker.py#L483 13:51 < waxwing> exceptions.TypeError: can only concatenate list (not "dict_keys") to list 13:51 < undeath> filter() will evaluate to a list of None or an empty list 13:52 < undeath> and any() would then determine that to be always False 13:52 < undeath> err, not a list but an iterator, anyway 13:52 < waxwing> oh. i hadn't ever used any, didn't know that. 13:52 < waxwing> "any" 13:52 < undeath> any looks for some item that does not evaluate to False 13:53 < waxwing> right. the any(filter( def doesn't work, will edit my comment, thanks. 13:55 < undeath> it yoes that for self.utxos.values() ? 13:56 < waxwing> i guess, do i have to do another list() cast or something? 13:57 < undeath> i'm unsure what the sum() does there 13:57 < waxwing> oh i just remembered that is some weird idiom for flattening lists 13:57 < waxwing> yeah that. the sum( , []) thing 13:57 < undeath> ah, I see 13:57 < undeath> so, same as reduce() ? 13:58 < waxwing> i don't recall. belcher might 13:58 < waxwing> i mean obv i can figure it out, it's just not in my head right now. 14:00 < belcher> its add them up iirc 14:00 < belcher> one_element + two_element + three_element ... 14:00 < belcher> i think 14:00 < belcher> list addition i mean 14:02 < undeath> reduce(lambda x, a: x+a, self.utxos.values(), []) may or may not work 14:02 < undeath> it seems to do the same thing 14:04 < undeath> err, nvm 14:04 < undeath> I really should stop trying to think for today 14:10 < Lightsword> what’s the reason for this? I’m trying to rebase my branch https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/242/files#diff-af6945b804e27cd4faaba66363230036R160 14:11 < undeath> it's mentioned in the pr comment 14:11 < undeath> […] due to an unupgraded command syntax in JM_SETUP […] 14:12 < Lightsword> ah 14:14 < undeath> undeath | reduce(lambda x, a: x+a, self.utxos.values(), []) 14:14 < undeath> this should actually work I guess 14:15 < undeath> but then, I have no idea why sum() wouldn't :/ 14:25 < waxwing> Lightsword, yes sorry it's confusing, the PR (242) did two separate but connected things: updated the test which simply didn't function right, and also fix the syntax in bigstring.py so it actually works with large strings, in the post-future-ized version of the code. but i guess you got it already :) 14:48 < undeath> waxwing | exceptions.TypeError: can only concatenate list (not "dict_keys") to list 14:48 < undeath> are you sure the error is actually with self.utxos.values() and not somewhere else? 14:48 < undeath> because that line has nothing to do with dict keys 14:49 < undeath> maybe some wrongly typed data ended up in self.utxos.values() 14:51 < undeath> https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/440823b9670c0a232d42773c1c54c5972398ccfa/jmclient/jmclient/taker.py#L329 14:51 < undeath> I think this is missing the list() call 15:26 -!- arubi_ [~ese168@gateway/tor-sasl/ese168] has joined #joinmarket 15:27 -!- arubi [~ese168@gateway/tor-sasl/ese168] has quit [Ping timeout: 256 seconds] 15:55 < Lightsword> waxwing, yeah going to look at that more 16:08 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.3] 17:28 -!- raedah [~x@184.75.221.3] has joined #joinmarket 17:45 -!- arubi_ [~ese168@gateway/tor-sasl/ese168] has quit [Remote host closed the connection] 17:46 -!- arubi [~ese168@gateway/tor-sasl/ese168] has joined #joinmarket 17:49 -!- d3spwn_ [~Jimmy@a83-161-157-200.adsl.xs4all.nl] has joined #joinmarket 17:52 -!- d3spwn [~Jimmy@83.161.157.200] has quit [Ping timeout: 244 seconds] 17:59 -!- AgoraRelay [~jmrelayfn@p5DE4A628.dip0.t-ipconnect.de] has quit [Ping timeout: 244 seconds] 18:11 -!- AgoraRelay [~jmrelayfn@p5DE4A82F.dip0.t-ipconnect.de] has joined #joinmarket