1 2012-01-22 00:03:18 <etotheipi_> roconnor, what linux version are you using and did the build instructions work?
  2 2012-01-22 00:03:37 <etotheipi_> they definitely work for 10.04... but I heard there was some .so issues with another Ubuntu version
  3 2012-01-22 00:04:00 <etotheipi_> (I hope the new cmake system will help with all this stuff...)
  4 2012-01-22 00:10:25 <etotheipi_> with the introduction of watching-only wallets, it is possible to actually exchange such watching-only versions with a friend, so that you can send each other money, to new addresses everytime without requesting an addr
  5 2012-01-22 00:11:15 <etotheipi_> so you'd have a wallet labeled "Joe" and you can always get an address from that wallet to send money to Joe...
  6 2012-01-22 00:11:40 <etotheipi_> but I'm not sure if that's a feature peopel would want, and if so... how to integrate it well
  7 2012-01-22 00:12:25 <etotheipi_> you'd have all this moeny scattered between lots of wallets, and you don't need to see the balance of Joe's wallet, you only need to get addresses... so it requires some special setup in the GUI
  8 2012-01-22 00:13:15 <sipa> etotheipi_: that may be useful, but only for people you really know, i suppose
  9 2012-01-22 00:13:40 <sipa> in general, you should not assume any payment will reach someone, unless they are aware of it
 10 2012-01-22 00:14:02 <sipa> e.g. they may have lost their computer with the wallet on it, or changed e-wallet provider, or ...
 11 2012-01-22 00:14:05 <etotheipi_> perhaps, have wallets behave as subwallets
 12 2012-01-22 00:14:50 <etotheipi_> sipa, I agree with you that you should check they still have a wallet, but the extra address exchange is cumbersome... I *can* add it easily, but I don't know if it's worth my time
 13 2012-01-22 00:15:29 <sipa> the extra address exchange is currently cumbersome yes
 14 2012-01-22 00:15:54 <sipa> i hope it changes in the future (https://gist.github.com/1237788)
 15 2012-01-22 00:19:09 <etotheipi_> oh right, I remember seeing discussion about that on the mailing list, but it seemed no one could agree about the security scheme
 16 2012-01-22 00:19:20 <etotheipi_> is anyone actively working on that?
 17 2012-01-22 00:20:25 <sipa> not that i know of
 18 2012-01-22 00:20:35 <sipa> still, one of these things is the future imho
 19 2012-01-22 00:31:36 <roconnor> etotheipi_: I'm running nixos
 20 2012-01-22 00:32:27 <roconnor> apparently I'm rebuilding qt for some reason >_>
 21 2012-01-22 00:33:36 <etotheipi_> roconnor, I'm pretty sure that step is not in the Armory build instructions :)
 22 2012-01-22 00:34:07 <etotheipi_> tonight or tomorrow I'm going to try to merge in the cmake stuff... hopefully that simplifies it for people not running Ubuntu
 23 2012-01-22 00:34:12 <roconnor> libqt4-dev
 24 2012-01-22 00:34:30 <roconnor> I'm not sure why I didn't get a prebuilt qt
 25 2012-01-22 00:34:36 <roconnor> I'm looking into that
 26 2012-01-22 01:07:17 <Diablo-D3> hey gmaxwell
 27 2012-01-22 01:07:23 <Diablo-D3> does the 7970 work in linux?
 28 2012-01-22 01:09:00 <gmaxwell> Diablo-D3: how would I know? There was a thread where it was indicated that it did, but took a little kicking.
 29 2012-01-22 01:09:39 <Diablo-D3> hrm
 30 2012-01-22 01:09:47 <Diablo-D3> not sure if do want =/
 31 2012-01-22 01:10:55 <Diablo-D3> gmaxwell: Im trying to squeeze out the last 5850 testing Im ever going to do
 32 2012-01-22 01:19:05 <Diablo-D3> gmaxwell: Im convinced AMD hates me or something, though
 33 2012-01-22 01:26:51 <TuxBlackEdo> Diablo-D3, so what will happen with all those bitcoins i donated to you for your 7970?
 34 2012-01-22 01:27:11 <Diablo-D3> TuxBlackEdo: oh dont get me wrong
 35 2012-01-22 01:27:17 <Diablo-D3> your 1 btc will be used for that
 36 2012-01-22 01:27:30 <Diablo-D3> but if I cant run the card on linux, why am I buying it right this very second?
 37 2012-01-22 01:27:49 <gmaxwell> Diablo-D3: you can, see the forum. Apparently there is some config massaging needed. Art posted on it.
 38 2012-01-22 01:28:00 <TuxBlackEdo> 1btc? are you kidding me
 39 2012-01-22 01:28:05 <Diablo-D3> gmaxwell: you wouldnt have the specific thread, would you? ;)
 40 2012-01-22 01:28:16 <TuxBlackEdo> i gave you pretty much all the cash for your 7970
 41 2012-01-22 01:28:21 <TuxBlackEdo> bitcoins*
 42 2012-01-22 01:29:26 <gmaxwell> Diablo-D3: No, I'm not that useful. Search.
 43 2012-01-22 01:30:13 <CIA-76> bitcoin: Con Kolivas * r238a85156e13 cgminer/NEWS: Update NEWS with changelog for upcoming 2.2.0 release. http://tinyurl.com/7z5oeb5
 44 2012-01-22 01:30:15 <Diablo-D3> TuxBlackEdo: no you didnt, you publically listed a bunch of mtgox codes in a channel, and bots stole them before any human could use them
 45 2012-01-22 01:30:21 <Diablo-D3> TuxBlackEdo: thats assuming they were even valid codes
 46 2012-01-22 01:30:46 <gmaxwell> TuxBlackEdo: several people run mtgox code grabbing bots in IRC.
 47 2012-01-22 01:31:32 <Diablo-D3> gmaxwell: he knows this, its just one of his trolling points
 48 2012-01-22 01:31:39 <Diablo-D3> afiak he even runs one of the bots
 49 2012-01-22 01:31:40 <TuxBlackEdo> what
 50 2012-01-22 01:31:47 <TuxBlackEdo> no i dont
 51 2012-01-22 01:32:15 <Diablo-D3> the one code you privmsged was for 1 btc.
 52 2012-01-22 01:33:12 <Joric> BlueMatt, are you here? check out decryption am i doing it right? http://pastebin.com/raw.php?i=1Z3c8BCP
 53 2012-01-22 01:34:49 <Diablo-D3> hrm
 54 2012-01-22 01:35:05 <Diablo-D3> I wonder if uint4 foo; uint2 bar; foo.hi = bar; is supposed to work right
 55 2012-01-22 01:38:38 <Diablo-D3> also, in unrelated news
 56 2012-01-22 01:38:43 <Diablo-D3> if I can get this new idea of mine to work
 57 2012-01-22 01:38:51 <Diablo-D3> 397 or so mhash -> 407.
 58 2012-01-22 01:40:58 <Diablo-D3> I so do very hope I can get it working
 59 2012-01-22 01:48:26 <dikidera> what is txin,txout?
 60 2012-01-22 01:50:46 <dikidera> Joric:and it does...?
 61 2012-01-22 01:50:57 <Joric> nothing atm
 62 2012-01-22 01:51:19 <Joric> keys not match
 63 2012-01-22 01:52:29 <dikidera> what do you plan to make it do?
 64 2012-01-22 01:53:07 <Joric> decode ckeys from wallet.dat
 65 2012-01-22 01:55:40 <dikidera> anywho
 66 2012-01-22 01:56:07 <dikidera> I need to figure out how to use the mysql API in c
 67 2012-01-22 01:56:11 <dikidera> so off I go to mysql.com
 68 2012-01-22 02:05:43 <seco> after having read a bit about Armory this seems a really nice piece of work! just one question: could someone explain me the idea why to only keep the core at c++, and develop everything else in python? interoperability in gui?
 69 2012-01-22 02:06:03 <sipa> easy of development, i suppose
 70 2012-01-22 02:06:37 <etotheipi_> seco, it's because handling a GB of blockchain data is devastatingly slow in python
 71 2012-01-22 02:07:02 <etotheipi_> but python is my favorite, and most-pleasant development tool/language
 72 2012-01-22 02:07:29 <etotheipi_> I was actually planning to do pure-python... but I realized that wasn't feasible if I was going to do any processing of the whole blockchain
 73 2012-01-22 02:07:47 <seco> ahh ic, probably because of the liveinterpretation i guess?
 74 2012-01-22 02:09:36 <seco> i was thinking about learn some python, maybe i will have a start with your work in a few weeks :)
 75 2012-01-22 02:09:53 <etotheipi_> I just did a one-hour lunchtime seminar at my work on python
 76 2012-01-22 02:09:59 <etotheipi_> trying to highlight why it's awesome
 77 2012-01-22 02:10:02 <etotheipi_> I could send it to you
 78 2012-01-22 02:10:33 <seco> you differences to other languages?
 79 2012-01-22 02:10:41 <seco> mean*
 80 2012-01-22 02:10:42 <gmaxwell> etotheipi_: I find that it's pretty easy to get disenchanted with python when you have several hours of computation lost due to a silly syntax error, which any other language would have caught at compile time, in the code the prints the results.  :(
 81 2012-01-22 02:10:44 <etotheipi_> it's not a direct comparison
 82 2012-01-22 02:11:36 <etotheipi_> gmaxwell, all languages, and types of languages have ups and downs... personally, what you lose from not having a strongly typed language, I made up in spending 4 months developing instead of 12
 83 2012-01-22 02:12:32 <etotheipi_> sometimes I get bit by what you describe, but being able to write code at 3x speed helps me keep a train of thought and not get caught in minutae of the language
 84 2012-01-22 02:13:01 <seco> thats something which made up my interest on python: functional programming, altough im a bit dumb only having theoretical skills in that :p
 85 2012-01-22 02:13:07 <gmaxwell> ::nods:: Yea, I'm familar with the argument.. for a while I adopted a "my time is more valuable than the computer's I'll use python for all my one shot codes" but found that it was often so slow that it didn't pay for the development improvement. Of course, requirements diff.
 86 2012-01-22 02:13:23 <etotheipi_> seco, I don't do any direct comparisons, but I try to point out "look how easy this is!" you can fill in your own experiences for comparison
 87 2012-01-22 02:13:45 <gmaxwell> (I'm also not a very good python programmer, if you really know the language you can write faster code than otherwise.. e.g. things like using xrange instead of range.)
 88 2012-01-22 02:16:41 <etotheipi_> I actually can't call myself a "good" python programmer... but I know how to get stuff done very quickly and with few lines of code
 89 2012-01-22 02:17:16 <gmaxwell> etotheipi_: I overuse comprehensions, map/reduce, and lambda, because thats how I think... results in slow code though.
 90 2012-01-22 02:17:29 <sipa> gmaxwell: you should use Haskell then ;)
 91 2012-01-22 02:17:38 <Diablo-D3> fuck, gmaxwell thinks in lisp
 92 2012-01-22 02:17:45 <gmaxwell> some program I wrote had a single line implementation of Dijkstra in an inner loop.
 93 2012-01-22 02:17:47 <Diablo-D3> hes lost to us
 94 2012-01-22 02:18:10 <seco> something i miss on linux-os is guidesign, that was another reason why i looked into python a few weeks ago (already hacked me some kind script together which auths me automatically to gribble leaned on nanotubes one): im out to hack some gui fast together for customers as a working prorotype, but all i got to work atm is monodevelop with stetic *shame*
 95 2012-01-22 02:18:25 <gmaxwell> (or at least, thats how I think when I'm not thinking in C  writing in C in python is just stupid though)
 96 2012-01-22 02:19:19 <etotheipi_> python is slow, that's undeniable, but I don't feel like a Bitcoin client needs speed at all (except for blockchain processing, which is why I put it in C++)
 97 2012-01-22 02:19:26 <gmaxwell> sipa: I like the idea of Haskell mostly though I'm not too in love with pattern matching languages. Though I've never really had a chance to actually get over the initial learning curve with it.
 98 2012-01-22 02:19:47 <seco> lisp..something i know from studies :D
 99 2012-01-22 02:35:58 <k9quaint> everyone should be required to do at least one project in Lisp ;)
100 2012-01-22 02:36:56 <Diablo-D3> :3
101 2012-01-22 02:37:17 <sipa> (xkcd 297)
102 2012-01-22 02:37:18 <gmaxwell> Lisp is fine too.
103 2012-01-22 02:37:53 <etotheipi_> what's so great about lisp?  I've never used it
104 2012-01-22 02:38:02 <seco> undead
105 2012-01-22 02:38:09 <k9quaint> http://www.levenez.com/lang/lang_a4.pdf
106 2012-01-22 02:38:19 <k9quaint> cool chart that tracks all the evolution of programming languages
107 2012-01-22 02:38:51 <lianj> etotheipi_: recursion?
108 2012-01-22 02:38:58 <sipa> brackets
109 2012-01-22 02:40:20 <gmaxwell> etotheipi_: you can look as lisp as an assembly language for a very simple lisp abstract machine which, from within the confines of the language, can be brought up to very high level language capabilities through simple library code. Makes it fairly easy to understand the language at multiple levels.
110 2012-01-22 02:40:27 <sipa> i haven't used lisp myself, but judging from a course that taught the workings of an interpreter with it, my two largest objections are typelessness and parentheses :)
111 2012-01-22 02:41:21 <k9quaint> actually, lisp is very strongly typed
112 2012-01-22 02:41:26 <k9quaint> its just that there is only one ;)
113 2012-01-22 02:42:55 <k9quaint> nobody works down at that level anymore though, common lisp has abstracted the scary center of the language
114 2012-01-22 02:43:27 <gmaxwell> sipa: common lisp has types (e.g. part of CLOS, but feelings are mixed), and there are extensions for fancy rigorous type systems.
115 2012-01-22 02:44:30 <k9quaint> the best part of lisp is, if you don't like part of it you can rewrite it
116 2012-01-22 02:45:07 <k9quaint> like creating a domain specific language, just for the project you are working on
117 2012-01-22 02:45:41 <k9quaint> conditions and the REPL are <3 too
118 2012-01-22 02:47:06 <gmaxwell> Yea, you can basically write a basic subset-lisp interperter with a few hundred lines of C, and write the rest of the language as library code that runs on it. This isn't going to get you high performance... but nothing else has that kind of regularity.
119 2012-01-22 02:47:42 <k9quaint> when first exposed to lisp, most people balk on the look of the code, and the s-expressions
120 2012-01-22 02:48:20 <gmaxwell> This is a minimal lisp interperter (in lisp): http://lib.store.yahoo.net/lib/paulgraham/jmc.lisp
121 2012-01-22 02:48:22 <etotheipi_> k9quaint, like I just did when I looked it up on wikipedia... then calmly went back to coding in python
122 2012-01-22 02:48:29 <k9quaint> its not for the faint of heart
123 2012-01-22 02:49:00 <k9quaint> gmaxwell: hehe, yeah, I love that bit of code
124 2012-01-22 02:50:17 <gmaxwell> Its easier to get used to lisp if you use an RPN calculator. :)  I wonder if you plotted lisp popularity vs HP calculators if you could see a relationship.
125 2012-01-22 02:50:25 <k9quaint> I have
126 2012-01-22 02:50:35 <k9quaint> still got my 12c too
127 2012-01-22 02:50:42 <k9quaint> somewhere...
128 2012-01-22 02:51:08 <gmaxwell> Yea, I use an RPN calculator too. I've never done serious development in lisp but I've maintained code other people have written in it.
129 2012-01-22 02:51:49 <gmaxwell> including one wikipedia bot that was writen in a mixture of C, prolog, lisp, and python. Oy.
130 2012-01-22 02:52:01 <k9quaint> my current project is in lisp (and clojure for the stuff that runs on JVM)
131 2012-01-22 02:52:13 <seco> etotheipi_, just to support my lazyness: which ide to you use?
132 2012-01-22 02:52:25 <seco> do*
133 2012-01-22 02:52:38 <k9quaint> good ole reverse polish notation
134 2012-01-22 02:52:56 <etotheipi_> seco, I don't use one.  I do all my programming in vim
135 2012-01-22 02:53:07 <seco> -_-
136 2012-01-22 02:53:12 <etotheipi_> I have about 12 vim windows open at all times
137 2012-01-22 02:53:38 <k9quaint> i use vim when I am not writing in lisp (wierdly), otherwise I use emacs of course
138 2012-01-22 02:54:06 <gmaxwell> seco: asking someone about IDE's is sort of a revealing question, in fact! :)
139 2012-01-22 02:54:07 <k9quaint> of course, I call it vi because I am old like that
140 2012-01-22 02:54:11 <etotheipi_> actually... if I'm debugging something nasty... I break out eclipse
141 2012-01-22 02:54:23 <k9quaint> BLASPHEMER!
142 2012-01-22 02:54:29 <seco> ok, then id suggest to have a look into Eric.. just installed it a few weeks ago
143 2012-01-22 02:54:34 <etotheipi_> easy-eclipse is a nice little standalone IDE for stepping through python code
144 2012-01-22 02:54:50 <k9quaint> the repl is my ide baby!
145 2012-01-22 02:54:52 <etotheipi_> though it can be a pain to setup...
146 2012-01-22 02:56:39 <seco> well i dont hide...said above im interested in python, im just to lazy to google for some ide which supports autocomplete and such newbiehelps, and even guidesign but seems rare at the nix-world (except qt atm)...
147 2012-01-22 02:56:55 <seco> im afraid vim will be the right for me :x
148 2012-01-22 02:58:07 <etotheipi_> I do all my programming ,in all languages in vim... just like emacs, at some point you get good enough it's almost like converting thoughts directly into code changes
149 2012-01-22 02:59:41 <gmaxwell> etotheipi_++
150 2012-01-22 03:00:01 <seco> thats someting im missing as casual programmer: i always need apis :/
151 2012-01-22 03:00:25 <seco> while writing^
152 2012-01-22 03:00:35 <etotheipi_> well it's definitely an investment of time to learn vim or emacs... but luckily you can still be productive and learn it at the same time
153 2012-01-22 03:00:46 <gmaxwell> (I'm not a vim user  I use joe for casual editing and emacs but the point of IDE's not providing a lot resonates for me maybe if I used a bunch of crazy fancy oop things things like eclipse would be more helpful)
154 2012-01-22 03:01:24 <etotheipi_> you just learn the basics of it, and start doing coding in it... then gradually add one new feature every two days and try to integrate it into your coding patterns
155 2012-01-22 03:02:16 <seco> depends on the number of screen you have available while coding with eclipse :D
156 2012-01-22 03:02:22 <seco> screens*
157 2012-01-22 03:02:45 <etotheipi_> you'll be at 70% efficiency compared to a regular IDE, to start... but it gets above 100% within a month
158 2012-01-22 03:05:00 <seco> :p
159 2012-01-22 03:05:31 <seco> dont expect answers in the next months: its somewhere in the middle :-/
160 2012-01-22 03:08:45 <etotheipi_> I also like the fact that i can split screens in VIM very easily... I always keep my .h files on the left and .cpp on the right
161 2012-01-22 03:09:17 <roconnor> I chose vi over emacs when I couldn't get both help and backspace working at the same time in emacs.
162 2012-01-22 03:14:58 <luke-jr> if anyone could review the completeness of https://github.com/luke-jr/bitcoin/commit/6cd6788798f2b0637a730baba22b907b9ec51413 , I'd appreciate it
163 2012-01-22 03:15:14 <etotheipi_> I was about to saw how disappointing it is that I can't use VIM directly in MSVS... but it occurred to me I never looked
164 2012-01-22 03:15:32 <luke-jr> who would use MSVS?
165 2012-01-22 03:16:00 <etotheipi_> nothing beats MSVS for debugging
166 2012-01-22 03:16:29 <JFK911> seems emacs would fit it better
167 2012-01-22 03:16:32 <Diablo-D3> you mean msys?
168 2012-01-22 03:16:53 <etotheipi_> MS Visual Studio
169 2012-01-22 03:16:57 <Diablo-D3> oh
170 2012-01-22 03:17:01 <Diablo-D3> erm
171 2012-01-22 03:17:06 <JFK911> but emacs wont give you intellisense!!!
172 2012-01-22 03:17:09 <Diablo-D3> they have a plugin to use vim in vs
173 2012-01-22 03:17:14 <Diablo-D3> JFK911: yes it will
174 2012-01-22 03:17:16 <JFK911> really
175 2012-01-22 03:17:18 <Diablo-D3> and so will vim
176 2012-01-22 03:17:19 <JFK911> omg
177 2012-01-22 03:17:24 <JFK911> how did they do this
178 2012-01-22 03:17:31 <Diablo-D3> both emacs and vim have had intelligent auto complete before vis studio even existed
179 2012-01-22 03:17:49 <etotheipi_> yeah, vim would be a lot more challenging if it didn't have it
180 2012-01-22 03:17:51 <JFK911> hm im not sure how will vim or emacs know about say
181 2012-01-22 03:17:56 <JFK911> a function i defined in another file in my project
182 2012-01-22 03:18:06 <etotheipi_> JFK911, it actually does
183 2012-01-22 03:18:10 <JFK911> nice
184 2012-01-22 03:18:15 <etotheipi_> all my vim windows are aware of all the others
185 2012-01-22 03:18:15 <JFK911> i never saw them do this before
186 2012-01-22 03:18:21 <Diablo-D3> JFK911: it does
187 2012-01-22 03:18:26 <etotheipi_> when I do the autocomplete, it shows me all the options and even tells me what files they are in
188 2012-01-22 03:18:29 <Diablo-D3> infact, someone wrote a really neat script for vim
189 2012-01-22 03:18:34 <Diablo-D3> uses clang as an autocomplete source
190 2012-01-22 03:18:40 <Diablo-D3> cant beat a compiler.
191 2012-01-22 03:18:40 <JFK911> and fills in the whole prototype for you or just its name
192 2012-01-22 03:18:43 <JFK911> ?
193 2012-01-22 03:18:48 <Diablo-D3> JFK911: depends
194 2012-01-22 03:19:01 <etotheipi_> just the name... it's not language-specific autocomplete (though there may be a plugin for that)
195 2012-01-22 03:19:04 <Diablo-D3> vim is highly configurable
196 2012-01-22 03:19:16 <Diablo-D3> Ive seen people's vim do prototype completion
197 2012-01-22 03:20:11 <etotheipi_> I'm sure there's lots of cool stuff out there... this conversation may inspire me to look into more advanced stuff like that
198 2012-01-22 03:21:06 <Diablo-D3> heh, my .vim is on github
199 2012-01-22 03:21:22 <Diablo-D3> https://github.com/Diablo-D3/dot_vim
200 2012-01-22 03:21:22 <etotheipi_> mine is in dropbox and soft-linked on all my systems
201 2012-01-22 03:21:38 <JFK911> if you are stuck using windoze api the intellisense helps me remember all the api garbage that nobody should have to remember
202 2012-01-22 03:22:29 <etotheipi_> JFK911, I feel like it's similar to remembering phone numbers... people don't do it anymore because their phone holds everything
203 2012-01-22 03:22:47 <etotheipi_> but if you don't have such luxuries, you find it's actually not that hard to remember
204 2012-01-22 03:22:52 <etotheipi_> in fact, you pay more attention
205 2012-01-22 03:23:07 <etotheipi_> (then of course, I'm really good at memorizing numbers)
206 2012-01-22 03:23:53 <etotheipi_> but there's nothing wrong with using all those luxuries... I'm just saying it's not as bad as you think not having them
207 2012-01-22 03:24:04 <etotheipi_> and in the end... vim *does* have most of them
208 2012-01-22 03:24:18 <Diablo-D3> btw, syntastic and supertab are like fucking magic
209 2012-01-22 03:25:14 <etotheipi_> Diablo-D3, I'm looking at syntastic right now... looks great
210 2012-01-22 03:26:44 <Diablo-D3> I like vundle though
211 2012-01-22 03:26:58 <Diablo-D3> automatically downloads and updates modules from git
212 2012-01-22 03:27:16 <etotheipi_> heh, I've never actually known anyone else who uses vim, so I've never had any exposure to new stuff like this
213 2012-01-22 03:27:23 <JFK911> etotheipi_: well the windoze api and all its versions are just too much to rememeber.  standard c libs no problem
214 2012-01-22 03:27:27 <Diablo-D3> yeah, a lot of people are like
215 2012-01-22 03:27:29 <Diablo-D3> LOL VIM SUCKS
216 2012-01-22 03:27:33 <JFK911> i cant remember how to open a file on windoze
217 2012-01-22 03:27:35 <Diablo-D3> it sucks because you didnt configure it to your tastes.
218 2012-01-22 03:27:45 <JFK911> you have to use some special alias that picks the right fopen
219 2012-01-22 03:27:52 <JFK911> or something
220 2012-01-22 03:27:54 <etotheipi_> JFK911, you probably have a point w.r.t. windows API, but i've never used it
221 2012-01-22 03:28:06 <JFK911> or a different fopen if you need to support unicode filenames
222 2012-01-22 03:28:16 <JFK911> or a different fopen if you dont want a buffer overrun
223 2012-01-22 03:28:22 <etotheipi_> but I've spent thousands of hours developing in VIM and I've never missed any of the features of MSVS
224 2012-01-22 03:30:49 <Diablo-D3> argh wtf!
225 2012-01-22 03:30:50 <Diablo-D3> https://www.youtube.com/watch?v=5Wy5YKdbjZQ&feature=related
226 2012-01-22 03:30:52 <Diablo-D3> nein!
227 2012-01-22 03:32:51 <Diablo-D3> it gets worse after 1:25!
228 2012-01-22 03:32:56 <cjdelisle> nyan
229 2012-01-22 03:38:19 <Diablo-D3> sipa: I has a sad, I fixed it, it didnt make it faster :<
230 2012-01-22 03:41:10 <k9quaint> the guy spends all that time on modding the g15, but his website looks like a downsie from 1994 created it
231 2012-01-22 03:41:45 <Diablo-D3> yeah sadly
232 2012-01-22 04:45:03 <CIA-76> bitcoin: splatster * r3f4c061ef2d4 supybot-bitcoin-marketmonitor/OTCWebsite/otcstyle.css: Updated OTCWebsite/otcstyle.css to add rounded corners to header for CSS3 capable browsers. http://tinyurl.com/749t38o
233 2012-01-22 04:45:05 <CIA-76> bitcoin: nanotube * r3b76c6692cd1 supybot-bitcoin-marketmonitor/OTCWebsite/otcstyle.css: Merge pull request #24 from splatster/patch-1 http://tinyurl.com/6qj6rck
234 2012-01-22 05:20:19 <da2ce7> what is the channel for the development of the andriod bitcoin wallet?
235 2012-01-22 05:25:03 <CIA-76> bitcoin: Daniel Folkinshteyn * re29a8a2c544f supybot-bitcoin-marketmonitor/Market/plugin.py: Market: use full mtgox depth, cached, for asks and bids commands. http://tinyurl.com/7kre8zm
236 2012-01-22 05:29:06 <Joric> etotheipi_, are you still here?
237 2012-01-22 05:29:17 <etotheipi_> I am, but not for long
238 2012-01-22 05:29:36 <Joric> etotheipi_, i'm trying to write key decryption http://pastebin.com/raw.php?i=1Z3c8BCP
239 2012-01-22 05:30:10 <Joric> doesn't work so far, take a look )
240 2012-01-22 05:30:33 <etotheipi_> trying to decrypt the Satoshi wallet files?
241 2012-01-22 05:30:37 <Joric> yes
242 2012-01-22 05:31:13 <Joric> you was asked about nDeriveIterations they are actually stored in the wallet
243 2012-01-22 05:31:31 <etotheipi_> yeah, it would have to be
244 2012-01-22 05:31:36 <etotheipi_> I just didn't know where to find it
245 2012-01-22 05:32:53 <etotheipi_> btw
246 2012-01-22 05:33:01 <etotheipi_> the hash is SHA512
247 2012-01-22 05:33:07 <etotheipi_> and it may not be doubled
248 2012-01-22 05:33:15 <Joric> what
249 2012-01-22 05:33:47 <etotheipi_> it looks like you're using SHA256 for the KDF... but the wallet uses SHA512
250 2012-01-22 05:33:56 <gmaxwell> No it doesn't look like that.
251 2012-01-22 05:33:58 <Joric> no it's not
252 2012-01-22 05:33:59 <Joric> AES-256-decrypt the private keys, using the master key as the key and the (double-sha256-hash) PUBLIC part of the keypair as the initialization vector
253 2012-01-22 05:34:02 <gmaxwell> i = ssl.EVP_BytesToKey(ssl.EVP_aes_256_cbc(), ssl.EVP_sha512(),
254 2012-01-22 05:34:36 <etotheipi_> oh, I misread it, you're right
255 2012-01-22 05:35:11 <CIA-76> bitcoin: Con Kolivas * r0719d4070417 cgminer/ocl.c: Clean up on failure to load a binary kernel. http://tinyurl.com/7j95rkt
256 2012-01-22 05:35:12 <Joric> i took it from official client (which is obviously official :P
257 2012-01-22 05:35:51 <gmaxwell> Joric: the reference client, whic is obviously the reference. ;)
258 2012-01-22 05:36:46 <Joric> long story short the only thing left is to debug it and trace those keys on nature
259 2012-01-22 05:36:58 <etotheipi_> are you sure your endianness is right?
260 2012-01-22 05:37:07 <etotheipi_> have you used this code before, with private keys, etc
261 2012-01-22 05:37:12 <Joric> they are strings
262 2012-01-22 05:37:22 <Joric> etotheipi_, i wrote pywallet
263 2012-01-22 05:37:33 <etotheipi_> for instance, you have secr = '.....'
264 2012-01-22 05:37:41 <etotheipi_> okay, nm
265 2012-01-22 05:38:17 <etotheipi_> it's just when I see '....'.decode('hex'), endianness comes to mind
266 2012-01-22 05:38:32 <etotheipi_> since most systems decode in LE, but most key data needs to be BE
267 2012-01-22 05:39:13 <etotheipi_> but I suspect you know what you're doing :)
268 2012-01-22 05:39:26 <Joric> well they are all made from .encode('hex') i guess there's no LE issues
269 2012-01-22 05:39:38 <etotheipi_> (p.s. I did not match your IRC name with jackjack)
270 2012-01-22 05:40:09 <Joric> he's just a fork
271 2012-01-22 05:40:50 <Joric> https://github.com/jackjack-jj/pywallet/ forked from joric/pywallet
272 2012-01-22 05:41:11 <etotheipi_> oh, okay this makes more sense, now
273 2012-01-22 05:41:20 <Joric> can't say it went in the right direction )
274 2012-01-22 05:41:41 <Joric> i tried to get rid of all possible dependencies
275 2012-01-22 05:42:23 <etotheipi_> well I'm going to bed, but I'll help you look at this tomorrow
276 2012-01-22 05:43:05 <Joric> sadly you cant use pure aes ) it runs 1000 rounds a second, tops, here in this example we need 47135 rounds
277 2012-01-22 05:43:22 <Joric> *pure python
278 2012-01-22 05:43:51 <etotheipi_> that's why I offloaded that stuff to C++/SWIG
279 2012-01-22 05:44:12 <Joric> maybe there's a function similar to EVP_BytesToKey didn't check really
280 2012-01-22 05:44:32 <etotheipi_> again, we'll have to chat tomorrow
281 2012-01-22 05:47:21 <roconnor_> etotheipi_: I got amory to startup
282 2012-01-22 05:47:24 <roconnor_> now I'm going to bed
283 2012-01-22 05:47:28 <etotheipi_> wait, is AES part of the nDerivIterations?  I thought it was just 47135 applications of SHA512
284 2012-01-22 05:47:39 <etotheipi_> roconnor, fantastic!  I'm looking forward to hearing your thoughts on it
285 2012-01-22 05:47:57 <roconnor_> etotheipi_: I need to finish making a nix package
286 2012-01-22 05:48:05 <roconnor_> but it's almost done
287 2012-01-22 05:48:10 <Joric> etotheipi_, it's mostly rewritten cpp code, you pass nDerivIterations to EVP_BytesToKey
288 2012-01-22 05:48:41 <etotheipi_> Joric, I guess I've never looked at the specifics closely enough... I only knew that I had all the functions available in my library (AES CBC, SHA 512)
289 2012-01-22 05:48:57 <etotheipi_> roconnor_, I'll happily add it to the build-page
290 2012-01-22 05:51:12 <gmaxwell> Joric: 47135 rounds is pretty low.. the hard minimum the reference client will use is 25000 ... a reasonably powerful machine should have a few hundred thousand.
291 2012-01-22 05:51:44 <Joric> that's why i import dlls
292 2012-01-22 05:52:35 <Joric> there's pycrypto and shit not sure it's better this code is much closer to 'reference'
293 2012-01-22 05:52:44 <gmaxwell> (one of the harms of people in the extended bitcoin community using python and JS is that they keep making insecure key strenghtening code because their innerloops are insanely slow)
294 2012-01-22 05:54:10 <Diablo-D3> I should hop back to windows and test this new kernel
295 2012-01-22 05:54:20 <Joric> i hate python, actually, and hate js even more ) i mostly wrote games, as genjix
296 2012-01-22 05:54:55 <etotheipi_> is the insecurity due to not getting enough iterations, or something else?
297 2012-01-22 05:55:18 <gmaxwell> etotheipi_: yea, just using so few iterations that it was hardly worth iterating at all.
298 2012-01-22 05:56:02 <etotheipi_> well for reference, on my system, my KDF does about 500,000 SHA512 ops and uses 32 MB of RAM
299 2012-01-22 05:56:15 <etotheipi_> in 0.5s
300 2012-01-22 05:56:17 <gmaxwell> e.g. I saw some determinstic wallet stuff on the forum that did 500 SHA256 on a user provided password. Whoptie do.
301 2012-01-22 05:56:54 <gmaxwell> etotheipi_: sounds fine indeed.
302 2012-01-22 05:56:57 <etotheipi_> :)
303 2012-01-22 05:57:28 <etotheipi_> gmaxwell, I'm glad I have your approval :)
304 2012-01-22 05:57:31 <etotheipi_> now it's bedtime
305 2012-01-22 05:57:34 <etotheipi_> good night
306 2012-01-22 05:57:34 <Joric> i found sha256('Satoshi Nakamoto') in the blockchain, with 0.00000001 BTC
307 2012-01-22 05:57:39 <gmaxwell> It's all about the attacker-advantage if the user uses code that is super slow (because it's JS or something) then he really is in a poor position to give an attacker a hard time.
308 2012-01-22 05:57:49 <Diablo-D3> gmaxwell: this pisses me off
309 2012-01-22 05:57:49 <Joric> someone wiped it later, not me )
310 2012-01-22 05:58:06 <etotheipi_> (although I have thought about whether it would be worth doing stretching on a phone app)
311 2012-01-22 05:58:18 <Diablo-D3> I spent all day chasing down, hopefully, what would be an optimization
312 2012-01-22 05:58:19 <Diablo-D3> its not
313 2012-01-22 05:58:26 <Diablo-D3> and I dont win
314 2012-01-22 05:58:35 <Diablo-D3> it doesnt make it any slower, thankfully
315 2012-01-22 05:58:36 <etotheipi_> well, I mean... I would implement stretching on the phone app, but it might fall into the category you are talking about
316 2012-01-22 05:58:56 <Diablo-D3> and I think Ill commit it anyhow
317 2012-01-22 05:58:58 <gmaxwell> etotheipi_: if the implementation is reasonably efficient it should still be helpful.
318 2012-01-22 05:59:09 <Diablo-D3> because it gains like 0.5 mhash
319 2012-01-22 05:59:18 <Joric> Diablo-D3, don't worry, someone will make it faster after you )
320 2012-01-22 05:59:42 <Joric> Diablo-D3, is it the opencl innerloop?
321 2012-01-22 05:59:52 <Diablo-D3> I dont use the loop
322 2012-01-22 06:00:00 <etotheipi_> gmaxwell, strictly speaking, any stretching is better than nothing... and you only have to be good enough for a couple hours before you get home and sweep the phone wallet
323 2012-01-22 06:00:04 <Diablo-D3> I never could get it to work right without the compiler trying to unloop it
324 2012-01-22 06:00:59 <etotheipi_> (which is part of my long-term plan... support phone wallets that are monitored-but-locked by Armory, with a big red button that says "I LOST MY PHONE" which will unlock the keys and sweep it)
325 2012-01-22 06:04:15 <Joric> i fucking love multibit if only it was a little bit more advanced
326 2012-01-22 06:05:31 <gmaxwell> etotheipi_: Technically yes. But a few hundred rounds of sha256 don't really discourage someone performing a dictionary attack much. With that little he can easily burn through the most likely passwords with no trouble.
327 2012-01-22 06:06:16 <Joric> gmaxwell, i did a dictionary attack
328 2012-01-22 06:06:30 <gmaxwell> Getting up into the few hundred thousand round level you make it so he can't even attempt the most likely and so he won't try.
329 2012-01-22 06:07:04 <gmaxwell> If your hardware won't let you do that.. oh well. But it's a bit of a sin to fail to do that on hardware that technically can.
330 2012-01-22 06:07:09 <Joric> all i've got from 1.7m passwords - 'Satoshi Nakamoto' (0.00000001 BTC) and 'fuckyou' (0.025 BTC)
331 2012-01-22 06:07:44 <gmaxwell> Joric: sure, because most people aren't going to do idiotic things like send btc to passwords, regardless of the KDF.
332 2012-01-22 06:07:56 <Joric> didn't know it's raw data i'll try to load it entirely into memory, and rekey it the way i want
333 2012-01-22 06:08:29 <gmaxwell> there is a good chance you've just found a signficant fraction of all bitcoin sent to passwords with plain SHA256 as the KDF. :)
334 2012-01-22 06:09:08 <Joric> what's KDF?
335 2012-01-22 06:09:51 <gmaxwell> key derivation function.
336 2012-01-22 06:10:29 <Joric> gmaxwell, there's a shitload of casascius 22-char one round hashes but they are still 22-char long )
337 2012-01-22 06:10:57 <Joric> can't bruteforce those
338 2012-01-22 06:11:19 <gmaxwell> well, that not what I meant by 'password' not actually random sequences of decent length.
339 2012-01-22 06:17:02 <CIA-76> DiabloMiner: Patrick McFarland master * r5e3a2d6 / (2 files in 2 dirs): Increased speed 0.5%, added alt array more (-aa) - http://git.io/jn1jgw https://github.com/Diablo-D3/DiabloMiner/commit/5e3a2d63fc97da70030107a2608dda79fac51791
340 2012-01-22 06:20:05 <Joric> developing on windows is tough :D guru mode
341 2012-01-22 06:21:14 <Diablo-D3> well, to be fair, Im not developing on it
342 2012-01-22 06:21:19 <Diablo-D3> I'm merely using kernel analyzer
343 2012-01-22 06:23:41 <Diablo-D3> using 12.1
344 2012-01-22 06:23:56 <Diablo-D3> well, 12.1 preview
345 2012-01-22 06:25:27 <Joric> with all that mingw/msys stuff looks like some day windows will use sh/bash as a default command line ) i already have to use them more than cmd
346 2012-01-22 06:25:38 <Diablo-D3> dude, msys is old =P
347 2012-01-22 06:26:41 <Diablo-D3> newest diapolo: 1394 op, 66.90 cycles, 67 cf on 5870, 1687, 70.29, 66 on 6970
348 2012-01-22 06:28:13 <Diablo-D3> newest phatk: 1506, 75.22, and 74, 1780, 74.08, and 74
349 2012-01-22 06:30:11 <Diablo-D3> DM right before this one; 1507, 75.32, and 71, 1697, 70.69, and 70
350 2012-01-22 06:35:05 <Joric> how many mhashes?
351 2012-01-22 06:36:04 <Diablo-D3> cant test those
352 2012-01-22 06:43:47 <Diablo-D3> newest DM without -aa: same numbers
353 2012-01-22 06:45:24 <Diablo-D3> with -aa: same numbers =/
354 2012-01-22 06:48:06 <gmaxwell> Diablo-D3: sounds a bit odd that you can't measure a difference when it claims something like a 10% reduction in cyclecount.
355 2012-01-22 06:48:24 <Diablo-D3> gmaxwell: because I think kernel analyzer is broken shit
356 2012-01-22 07:15:12 <CIA-76> bitcoin: jedi95 * r301a24289839 Phoenix-Miner/Miner.py: Forgot to add Miner.py to staged changes http://tinyurl.com/6uyp54d
357 2012-01-22 07:35:10 <CIA-76> bitcoin: Kano * rec2c0b784f00 cgminer/ (README adl.c api.c main.c miner.h): Add API commands: config, switchpool, gpu settings, save http://tinyurl.com/8ypnfqz
358 2012-01-22 07:35:12 <CIA-76> bitcoin: Kano * r899897033f66 cgminer/README: Put back deleted option http://tinyurl.com/7dcxr6j
359 2012-01-22 07:35:13 <CIA-76> bitcoin: Con Kolivas * rfa220015990f cgminer/ (README adl.c api.c main.c miner.h): Merge pull request #86 from kanoi/master http://tinyurl.com/6oghebs
360 2012-01-22 08:05:25 <wumpus> sipa, kinlo: doxygen docs are at https://dev.visucore.com/bitcoin/doxygen
361 2012-01-22 08:25:11 <CIA-76> bitcoin: Kano * rbf5321cf0a51 cgminer/README: API 'save' command details http://tinyurl.com/7wlevfs
362 2012-01-22 08:25:12 <CIA-76> bitcoin: Con Kolivas * rda2dd9ef2e2a cgminer/README: Merge pull request #87 from kanoi/master http://tinyurl.com/78xxy4w
363 2012-01-22 08:45:15 <CIA-76> bitcoin: Midnight Magic * r21633b9bee19 cgminer/util.c: Bringing back TCP_NODELAY, but also ensuring it doesn't conflict with --net-delay : Nagle's may infact delay some packets longer than necessary.. http://tinyurl.com/6ttfv24
364 2012-01-22 08:45:16 <CIA-76> bitcoin: Con Kolivas * r8b6514493416 cgminer/util.c: Merge pull request #88 from midnightmagic/gimme_back_tcp_nodelay http://tinyurl.com/6tbqcfh
365 2012-01-22 08:45:18 <CIA-76> bitcoin: Con Kolivas * r6442c1aba074 cgminer/ (ocl.c util.c): Style police. http://tinyurl.com/865o37v
366 2012-01-22 08:45:19 <CIA-76> bitcoin: Con Kolivas * r91554b93c894 cgminer/NEWS: Update NEWS. http://tinyurl.com/7oqqjnn
367 2012-01-22 12:13:21 <dikidera> slush:just wanted to let you know that I imported the DB, had a little issue with the grants, but I fixed that. The next issue is that the block_ids and block_height order got screwed
368 2012-01-22 12:29:56 <slush> dikidera: how so? It should be fresh import of Abe to clean database...
369 2012-01-22 12:30:00 <slush> did you fix it somehow?
370 2012-01-22 12:33:49 <graingert> luke-jr: you seem to be voting against p2sh on http://blockchain.info/p2sh
371 2012-01-22 12:34:08 <graingert> I was of the understanding that votes could be for, or apathetic
372 2012-01-22 12:34:14 <graingert> not for or against
373 2012-01-22 12:35:49 <luke-jr> graingert: against BIP16 specifically
374 2012-01-22 12:38:46 <dikidera> slush:sadly, no
375 2012-01-22 12:39:55 <[Tycho]> Hello.
376 2012-01-22 12:40:51 <[Tycho]> What's that site ?
377 2012-01-22 12:41:18 <[Tycho]> Does it means that we should vote AGAINST it explicitly instead of just staying silent ?
378 2012-01-22 12:41:29 <dikidera> slush:for instance, take a look at this http://i.imgur.com/8P3VS.jpg
379 2012-01-22 12:42:40 <dikidera> it says block_id 160326 but it's actually block 159544, and it's likely when abe scans to the current block_id, it will stop
380 2012-01-22 12:43:35 <slush> dikidera: what's wrong with it?
381 2012-01-22 12:43:41 <dikidera> I don't know
382 2012-01-22 12:43:47 <slush> looks fine
383 2012-01-22 12:44:19 <dikidera> I assumed that block_id will be the same as block_height
384 2012-01-22 12:44:26 <slush> no
385 2012-01-22 12:45:12 <slush> dikidera: because of blockchain splits... there were much more blocks than current blockheight in existence
386 2012-01-22 12:45:38 <slush> about the p2sh support... I'm going to support p2sh on my pool in few days
387 2012-01-22 12:45:57 <[Tycho]> traitor...
388 2012-01-22 12:46:24 <graingert> as far as I can tell for p2pool is it's up to the individual miner
389 2012-01-22 12:46:28 <graingert> which is cool
390 2012-01-22 12:46:56 <dikidera> slush:Then one last image. http://i.imgur.com/cnPgl.jpg . Does it not seem odd how block_height goes from 159k to 122k?
391 2012-01-22 12:50:25 <luke-jr> [Tycho]: no technical difference between silence and against AFAIK, but just in case&
392 2012-01-22 12:51:07 <[Tycho]> luke-jr: yes, but that site shows it like there IS a difference.
393 2012-01-22 12:51:25 <luke-jr> hmm
394 2012-01-22 12:51:56 <luke-jr> slush: if you want to support P2SH, support BIP 17 instead
395 2012-01-22 16:14:26 <roconnor> etotheipi_: do you know what files need to be "installed"
396 2012-01-22 16:14:44 <etotheipi_> roconnor, what do yo umean?
397 2012-01-22 16:15:15 <roconnor> normally after a build step there is an install step that copies the relevent files to an install location
398 2012-01-22 16:15:25 <etotheipi_> nothing is installed right now
399 2012-01-22 16:15:31 <etotheipi_> the new cmake stuff will install it
400 2012-01-22 16:15:36 <roconnor> I noticed :)
401 2012-01-22 16:15:40 <roconnor> okay I'll wait for that
402 2012-01-22 16:15:45 <etotheipi_> but for now it just builds _CppBlockUtils.so into the root proj directory
403 2012-01-22 16:16:06 <etotheipi_> and then ArmoryQt.py imports the CppBlockUtils and armoryengine.py and runs in place
404 2012-01-22 16:16:29 <etotheipi_> it uses ~/.bitcoin/blk0001.dat and then creates ~/.armory/
405 2012-01-22 16:16:29 <roconnor> what about the twistedqt directory?
406 2012-01-22 16:16:43 <etotheipi_> twistedqt dir needs to be removed... it doesn't use anythign in there
407 2012-01-22 16:16:53 <etotheipi_> that was a temp dir I accidentally commited
408 2012-01-22 16:17:02 <etotheipi_> (I'll remove it right now)
409 2012-01-22 16:17:20 <roconnor> so if I copy _CppBlockUtils.so and *.py I should be good?
410 2012-01-22 16:17:42 <Graet> trying out some new pool software if anyone is able to help, details https://bitcointalk.org/index.php?topic=60719.0 cheers
411 2012-01-22 16:17:51 <etotheipi_> roconnor, I believe that is correct
412 2012-01-22 16:18:02 <etotheipi_> you don't even need ALL of the .py
413 2012-01-22 16:18:44 <etotheipi_> armoryengine, armorymodels, ArmoryQt, CppBlockUtils, qt4reactor, qtdialogs, qtdefines (okay, so that's actually most of them)
414 2012-01-22 16:18:44 <Mad7Scientist> bitcoin-qt has 56 threads open now
415 2012-01-22 16:20:18 <etotheipi_> I'm battling my last zero-conf bug... then Armory will become a TON more robust
416 2012-01-22 16:21:01 <etotheipi_> hopefully I'll resolve that today, and then have some time to look at the cmake stuff -- then it might be time for alpha release :)
417 2012-01-22 16:24:58 <Mad7Scientist> what the heck does status "t" in htop mean?
418 2012-01-22 16:25:06 <Mad7Scientist> I attached gdb to bitcoin
419 2012-01-22 16:25:22 <sipa> stopped?
420 2012-01-22 16:25:29 <Mad7Scientist> oh program received SIGSEGV
421 2012-01-22 16:25:45 <Mad7Scientist> I gues it didn't like being stopped and started again in gdb
422 2012-01-22 16:25:57 <Mad7Scientist> wele here we are. bitcoin-qt just crashed in gdb
423 2012-01-22 16:26:02 <Mad7Scientist> what do I do now
424 2012-01-22 16:27:24 <cjdelisle> type backtrace
425 2012-01-22 16:27:32 <cjdelisle> actually I don't know
426 2012-01-22 16:27:42 <Mad7Scientist> gmaxwell, http://dpaste.com/691863/
427 2012-01-22 16:28:09 <etotheipi_> heh,  "bt" gets you the callstack, and "frame X" takes you to the X level of the callstack... that's all I know about gdb
428 2012-01-22 16:28:35 <Mad7Scientist> http://dpaste.com/691864/
429 2012-01-22 16:30:36 <Mad7Scientist> Well I'll restart bitcoin. Seems a lot of debugging infromation is missing from that backtrace anyway
430 2012-01-22 16:30:51 <Mad7Scientist> But then there will be no way to fix this bug :/
431 2012-01-22 16:30:58 <Mad7Scientist> can I save a core dump?
432 2012-01-22 16:31:17 <Mad7Scientist> I'll leave it here crashed for a while gmaxwell
433 2012-01-22 16:31:59 <cjdelisle> leaving it open in gdb is a good plan
434 2012-01-22 16:32:35 <roconnor> etotheipi_: can you explain how you generate addresses?
435 2012-01-22 16:33:17 <etotheipi_> M = chaincode XOR hash256(pubkey) --->  PrivKey[i+1] = PrivKey[i] * M (mod N)
436 2012-01-22 16:33:47 <etotheipi_> (with the capability to use ECC-multiply(M * pubKey)
437 2012-01-22 16:34:25 <roconnor> do you store the largest i used?
438 2012-01-22 16:35:12 <etotheipi_> I keep track of the highest one that the user has seen
439 2012-01-22 16:35:37 <etotheipi_> and I have a method for importing wallets, which searches the blockchain for the highest one used (such as when restoring from paper backup)
440 2012-01-22 16:37:31 <etotheipi_> the default "gap" is 100 addresses:  I keep that many extra addresses in the pool beyond the highest used, so that I can catch other systems generating addresses for my wallet
441 2012-01-22 16:38:42 <etotheipi_> (i.e. I give you a watching-only wallet-copy for you to help me collect money, and you generate lots of addresses for people to send money to...as long as there's no gaps of more than 100 addresses, my wallet will find all of them)
442 2012-01-22 16:40:17 <onelineproof> bitcoin privkeys in the same wallet are deterministically related?
443 2012-01-22 16:40:31 <roconnor> etotheipi_: what I don't get is what if I give out 1000 address then I crash, and then I restore, how does the restored wallet know to look upto 1000?
444 2012-01-22 16:42:43 <etotheipi_> the wallet writes out ALL data before it gives it to the user...
445 2012-01-22 16:42:53 <etotheipi_> so if you generate 1000 addresses, it will be in the wallet, even if you crash
446 2012-01-22 16:43:24 <etotheipi_> if you're talking about multiple systems using the same wallet, then as long as there is one address within the highest-used that received money in the blockchain, it will then stretch out the next 100 and keep looking
447 2012-01-22 16:43:40 <roconnor> ah
448 2012-01-22 16:43:46 <etotheipi_> and in the worst-case scenario... some addresses might get re-used... oh well
449 2012-01-22 16:43:51 <roconnor> so as long as every 1 in 100 wallets appear in the chain somewhere
450 2012-01-22 16:43:55 <roconnor> I'm good
451 2012-01-22 16:44:46 <roconnor> I'm not worry about reuse, since I essentially don't believe that bitcoin is anonymous; I'm more concerned about haveing money assigned to me and losing it.
452 2012-01-22 16:45:06 <roconnor> all this said I fully agree that this system is much better than randomly generated addresses
453 2012-01-22 16:45:13 <roconnor> I just want to understand what the limits are
454 2012-01-22 16:45:59 <etotheipi_> I had considered (and maybe still will, in developer mode) provide a function for searching out further
455 2012-01-22 16:46:01 <sipa> it has one disadvantage (which probably doesn't always weigh up to the advantages): a stolen wallet doesn't get "unstolen" over time
456 2012-01-22 16:46:02 <roconnor> there is essentially no anonymity with this system
457 2012-01-22 16:46:13 <etotheipi_> roconnor, there is...
458 2012-01-22 16:46:28 <etotheipi_> the chaincode is pure entropy... someone needs the chaincode to be able to link your addresses
459 2012-01-22 16:46:51 <etotheipi_> so if someone steals your watching-only wallet, they can link your addresses together (but can't spend any of it)
460 2012-01-22 16:47:13 <etotheipi_> which is still an improvement over keeping all your private keys on the online-computer and having the attacker link your addresses *and* steal your money
461 2012-01-22 16:48:17 <roconnor> let's see, pubkey[i] = (privkey[i]* M) * G
462 2012-01-22 16:48:28 <roconnor> er
463 2012-01-22 16:48:31 <roconnor> let's see, pubkey[i] = (privkey[i]) * G
464 2012-01-22 16:49:01 <roconnor> let's see, pubkey[i+1] = (privkey[i]*M) * G = pubkey[i]*M
465 2012-01-22 16:49:17 <roconnor> so pubkey[i+1] = pubkey[i]*M
466 2012-01-22 16:49:30 <roconnor> so if I guess that two address are consecutive, then I can solve for M
467 2012-01-22 16:49:36 <roconnor> and then compute all public addresses
468 2012-01-22 16:49:55 <sipa> roconnor: how do you solve the discrete log problem?
469 2012-01-22 16:50:29 <roconnor> oh duh
470 2012-01-22 16:50:31 <roconnor> sorry
471 2012-01-22 16:51:07 <onelineproof> ya but the problem is that if M is found one time, you can find all the other corresponding addresses
472 2012-01-22 16:51:31 <sipa> somehow i'd feel slightly more safe with privkey[i+1] = privkey[i] * SHA256(chaincode | pubkey[i])
473 2012-01-22 16:51:44 <etotheipi_> plus M is not the same for every address...
474 2012-01-22 16:51:50 <onelineproof> so best is to distribute your bitcoins over multiple wallets
475 2012-01-22 16:51:55 <roconnor> etotheipi_: isn't it
476 2012-01-22 16:52:03 <roconnor> M = chaincode XOR hash256(pubkey)
477 2012-01-22 16:52:07 <onelineproof> so if there's a colllision or something, you're safe
478 2012-01-22 16:52:09 <etotheipi_> M is chaincode XOR hash256(pubkey)
479 2012-01-22 16:52:21 <roconnor> oh wait
480 2012-01-22 16:52:25 <roconnor> what is pubkey?
481 2012-01-22 16:52:25 <sipa> etotheipi_: pubkey[i] or pubkey?
482 2012-01-22 16:52:28 <etotheipi_> pubkey[i]
483 2012-01-22 16:52:31 <sipa> ooh
484 2012-01-22 16:52:32 <sipa> good
485 2012-01-22 16:52:42 <roconnor> might as well ask, what is chaincode?
486 2012-01-22 16:52:45 <etotheipi_> I did that to make the problem a little less linear
487 2012-01-22 16:52:48 <etotheipi_> "Linear"
488 2012-01-22 16:53:20 <etotheipi_> even though it should technically still be secure to use the same M for every address extension, I decided why not add a little (a lot) extra entropy to it
489 2012-01-22 16:53:30 <onelineproof> can I ask, why do the bitcoin clients choose to do this? Why not generate an independent privkey for each address?
490 2012-01-22 16:53:44 <sipa> onelineproof: the satoshi client does that
491 2012-01-22 16:53:55 <roconnor> onelineproof: backing up is easier for etotheipi_'s system.
492 2012-01-22 16:53:58 <onelineproof> ok, but 0.5.2?
493 2012-01-22 16:53:59 <etotheipi_> onelineproof, because when you create your wallet, you can print/save a backup of your wallet and it NEVER has to be done again
494 2012-01-22 16:54:02 <sipa> this has disadvantages, such as old backups becoming outdated
495 2012-01-22 16:54:18 <onelineproof> o ok...
496 2012-01-22 16:54:24 <etotheipi_> you can use 1 million addresses in this wallet, and the backup you made 2 years ago still works
497 2012-01-22 16:54:37 <roconnor> etotheipi_: if you used 1 out of 100 of those 1 million addresses
498 2012-01-22 16:54:56 <sipa> with the disadvantage that someone steeling your wallet without you knowing it, can use it 2 years in the future to steal all your money
499 2012-01-22 16:55:02 <etotheipi_> roconnor, that part is customizable
500 2012-01-22 16:55:05 <roconnor> though ya, with a user option you can still recover teh 1million addresses even if they aren't used.
501 2012-01-22 16:55:08 <roconnor> right
502 2012-01-22 16:55:10 <onelineproof> I think it's better to do a backup of each independent priv key.. in encrypted format and in paper format
503 2012-01-22 16:55:23 <onelineproof> like on QR for paper
504 2012-01-22 16:55:25 <sipa> onelineproof: possible, but inconvenient
505 2012-01-22 16:55:32 <etotheipi_> if you do enough transaction volume that you run the risk of giving out lots of addresses that won't actually receive money, you can increase it to 1/10000
506 2012-01-22 16:56:13 <etotheipi_> onelineproof, Armory does exactly that... but the individual key backup is really only for imported keys or exporting to a different client
507 2012-01-22 16:56:36 <etotheipi_> if you have the initial parameters of the wallet and you know the algorithm for it, there's no reason to backup the individual keys
508 2012-01-22 16:56:45 <onelineproof> i made my own program cwallet to qr code my private keys from my wallet.dat :)
509 2012-01-22 16:57:05 <roconnor> etotheipi_: will amory broadcast transactions that are unrelated to your wallet if I paste it in?
510 2012-01-22 16:57:13 <roconnor> *unrelated to my wallet
511 2012-01-22 16:57:14 <etotheipi_> yes
512 2012-01-22 16:57:18 <roconnor> ok
513 2012-01-22 16:57:42 <etotheipi_> the only problem is that I don't support hex/binary tx pasting yet... only BIP 0010 formatted transactions
514 2012-01-22 16:58:04 <etotheipi_> actaully, perhaps I'll add a little dialog in developer mode just for that
515 2012-01-22 16:58:05 <roconnor> I don't really see why that is a problem, but okay
516 2012-01-22 16:58:53 <etotheipi_> because some developers might be doing their-own-thing, generating transactions, and want to broadcast them to find out if they work (or are doing something creative offline)
517 2012-01-22 16:59:06 <etotheipi_> if they haven't implemented BIP 0010, then they can't do it
518 2012-01-22 16:59:13 <roconnor> can't they use BIP 0010?
519 2012-01-22 16:59:18 <roconnor> ah
520 2012-01-22 16:59:49 <etotheipi_> they can... but it's kind of silly when Armory will just convert the BIP 0010 tx back into binary to broadcast it anyway
521 2012-01-22 17:01:44 <etotheipi_> or I could just add a link to: http://bitsend.rowit.co.uk/
522 2012-01-22 17:02:05 <roconnor> does bitsend use BIP 0010?
523 2012-01-22 17:02:09 <etotheipi_> no
524 2012-01-22 17:02:24 <etotheipi_> Armory is the only system that uses it... when I proposed BIP 0010 I got a hard time about how it's pointless if no one is using it
525 2012-01-22 17:02:36 <etotheipi_> which I thought defeated the purpose of a "proposal"
526 2012-01-22 17:03:53 <etotheipi_> strangely, Gavin was the only one excited about BIP 0010, everyone else seems to just ignore it
527 2012-01-22 17:04:11 <sipa> etotheipi_: ignoring it doesn't mean not interested :)
528 2012-01-22 17:04:22 <roconnor> I think it is very nice; though I haven't read it in detail
529 2012-01-22 17:04:24 <etotheipi_> genjix even removed it from the BIPs
530 2012-01-22 17:04:33 <etotheipi_> I had to lobby him to add it back in
531 2012-01-22 17:05:36 <etotheipi_> gmaxwell, pointed out a way to make it more secure, so I'll have to update it... but hopefully Armory will demonstrate its power and it can be evolved to meet the needs of all interested parties
532 2012-01-22 17:05:47 <roconnor> etotheipi_: please do
533 2012-01-22 17:10:50 <etotheipi_> I think it would be great for anonymity, if a lot of different people implemented the bitsend functionality, but with SSL, and then it will, 90% of the time, forward your tx to another such website via SSL
534 2012-01-22 17:11:00 <etotheipi_> so there would be an average of 10, encrypted hops
535 2012-01-22 17:11:16 <sipa> aka tor?
536 2012-01-22 17:11:18 <etotheipi_> the tx would then appear on the network from a completely random location
537 2012-01-22 17:11:36 <etotheipi_> sipa, yes... but without needing tor support
538 2012-01-22 17:11:53 <etotheipi_> tor can raise all sorts of red flags... SSL is used everyday by everyone
539 2012-01-22 17:11:54 <sipa> etotheipi_: so, duplicating tor functionality, for a specific purpose only?
540 2012-01-22 17:12:38 <etotheipi_> then of course... making an SSL connection to one of these websites would probably raise the same red flags... so I guess it's pointless
541 2012-01-22 17:14:35 <sipa> phantomcircuit: http://www.cypherpunk.at/onioncat/wiki/GarliCat
542 2012-01-22 17:14:53 <sipa> phantomcircuit: seems there is an analogue of onioncat for i2p
543 2012-01-22 17:15:07 <phantomcircuit> sipa, not surprising
544 2012-01-22 17:15:22 <sipa> phantomcircuit: i wouldn't support it immediately, but making its ipv6 range routable at the same time ipv6 support is added, wouldn't harm, imho
545 2012-01-22 17:16:01 <phantomcircuit> etotheipi_, tor uses ssl, they are indistinguishable from one another without active probing
546 2012-01-22 17:16:11 <phantomcircuit> (or the use of a tor node list)
547 2012-01-22 17:16:32 <etotheipi_> oh, apparently I don't know much about tor
548 2012-01-22 17:17:04 <etotheipi_> I was under the impression that your connection to the tor network was obvious if someone is watching you
549 2012-01-22 17:17:20 <etotheipi_> or that it woudl be easy to detect such connections
550 2012-01-22 17:17:41 <sipa> phantomcircuit: bitcoind has a built-in base64 encoder and decoder, by the way
551 2012-01-22 17:17:50 <sipa> phantomcircuit: shouldn't be hard to adapt it to base32
552 2012-01-22 17:17:55 <phantomcircuit> sipa, yeah
553 2012-01-22 17:18:08 <phantomcircuit> that's just the kind of work i dont particularly enjoy :)
554 2012-01-22 17:19:19 <etotheipi_> roconnor, so did you ever get Armory running?
555 2012-01-22 17:25:04 <sipa> phantomcircuit: tor uses RFC 4648, right?
556 2012-01-22 17:28:43 <phantomcircuit> sipa, let me double check
557 2012-01-22 17:29:22 <phantomcircuit> i think so?
558 2012-01-22 17:30:30 <phantomcircuit> #define BASE32_CHARS "abcdefghijklmnopqrstuvwxyz234567"
559 2012-01-22 17:30:38 <BlueMatt> Joric: did you ever get an answer to Joric> BlueMatt, are you here? check out decryption am i doing it right? http://pastebin.com/raw.php?i=1Z3c8BCP
560 2012-01-22 17:31:53 <BlueMatt> sipa: is tx 70f7c15c6f62139cc41afa858894650344eda9975b46656d893ee59df8914a3d a compressed pubkey one?
561 2012-01-22 17:32:01 <BlueMatt> or some other non-standard pubkey encoding?
562 2012-01-22 17:33:34 <sipa> BlueMatt: looks very normal to me
563 2012-01-22 17:33:44 <BlueMatt> odd, oh well
564 2012-01-22 17:33:48 <sipa> its txin has a non-compressed pubkey
565 2012-01-22 17:33:55 <phantomcircuit> sipa, yes but without support for padding
566 2012-01-22 17:34:40 <Joric> BlueMatt, nope
567 2012-01-22 17:34:54 <phantomcircuit> wait maybe it does support padding
568 2012-01-22 17:34:59 <Joric> BlueMatt, i'm compiling 0.5.99 gonna trace down those keys
569 2012-01-22 17:35:15 <sipa> phantomcircuit: a tor address is what, 80 bits?
570 2012-01-22 17:35:27 <sipa> phantomcircuit: that would not require any padding in base32
571 2012-01-22 17:35:43 <phantomcircuit> sipa, correct
572 2012-01-22 17:36:06 <phantomcircuit> it's a base32 encoded string following rfc 4648 but without padding support because it fits perfect
573 2012-01-22 17:36:28 <sipa> phantomcircuit: let me do a clean-room implementation of rfc 4648
574 2012-01-22 17:37:54 <phantomcircuit> sipa, let you? by all means :)
575 2012-01-22 17:43:36 <phantomcircuit> sipa, btw i have been considering a few things
576 2012-01-22 17:44:14 <phantomcircuit> i realized that there is absolutely no reason to flush to disk when downloading and organizing the blockchain unless you encounter a transactions which interacts with your wallet
577 2012-01-22 17:44:33 <phantomcircuit> a change like that could significantly improve performance with minimal increased risk
578 2012-01-22 17:44:42 <phantomcircuit> BlueMatt, ^
579 2012-01-22 17:45:00 <sipa> phantomcircuit: not easily doable, i'm afraid
580 2012-01-22 17:45:16 <phantomcircuit> as it stands i tend to run bitcoind on my workstation on a tmpfs and dump the wallet.dat file to real disk periodically
581 2012-01-22 17:45:17 <sipa> the block verification algorithm relies on db transactions
582 2012-01-22 17:45:30 <phantomcircuit> sipa, ah
583 2012-01-22 17:45:33 <phantomcircuit> that's unfortunate
584 2012-01-22 17:46:24 <sipa> indeed
585 2012-01-22 17:46:34 <sipa> it could be changed, but it's not trivial at least
586 2012-01-22 17:48:15 <graingert> etotheipi_: could be worse
587 2012-01-22 17:48:23 <Joric> http://www.youtube.com/watch?v=-NyzDY7NUOo&gl=US 'Making Casascius coins' :D
588 2012-01-22 17:48:31 <graingert> arg stale scroll back
589 2012-01-22 17:48:37 <phantomcircuit> graingert, lol
590 2012-01-22 17:52:23 <roconnor> etotheipi_: ya, I'm trying to transfer some money to my Armory wallet now
591 2012-01-22 17:52:47 <roconnor> (on testnet)
592 2012-01-22 17:57:01 <etotheipi_> testnet has been a little frustrating for testing send/rcv transactions
593 2012-01-22 17:57:10 <roconnor> it works in bursts :D
594 2012-01-22 17:57:22 <etotheipi_> I should probably just set up my own miner... but I never spent the time to figure out how to switch my GPUs over
595 2012-01-22 17:57:40 <etotheipi_> btw, is anyone else heating their whole place with their miners?
596 2012-01-22 17:57:59 <etotheipi_> nothign makes me happier than the fact that it's 25 deg and I haven't turned on my heat once this winter
597 2012-01-22 17:58:02 <roconnor> I'm tempted to switch my winter heating to miner heating
598 2012-01-22 17:58:27 <etotheipi_> (running 10 GPUs in a 1200 sqft condo)
599 2012-01-22 17:58:41 <roconnor> but supposedly heat pump are more efficent
600 2012-01-22 17:58:52 <BlueMatt> phantomcircuit: its on my todo list for post-merge of cblockstore
601 2012-01-22 17:59:00 <BlueMatt> (as cblockstore will make it a bit easier)
602 2012-01-22 17:59:17 <nanotube> roconnor: yes but does a heatpump generate you bitcoins? :)
603 2012-01-22 17:59:22 <BlueMatt> (that and downloading headers before downloading blocks to avoid the fill-disk-with-orphan-blocks attack)
604 2012-01-22 18:00:17 <roconnor> you'd think the price of Bitcoin would fall during winter months :D
605 2012-01-22 18:01:06 <nanotube> no, you'd only think that difficulty would rise, for a given price :)
606 2012-01-22 18:02:20 <CIA-76> DiabloMiner: Patrick McFarland master * re799305 / src/main/java/com/diablominer/DiabloMiner/DiabloMiner.java : Fix ozco.in specific bug - http://git.io/rZ5h7A https://github.com/Diablo-D3/DiabloMiner/commit/e79930544910f3a1b7a7061cd213fb5191f53872
607 2012-01-22 18:02:36 <etotheipi_> my 24 year-old HVAC (heatpump) is ridiculously inefficient... not to mention the fact that heatpumps get extremely inefficient when the outside temp drops below freezing
608 2012-01-22 18:03:19 <BlueMatt> people should start mining more to heat their houses ;)
609 2012-01-22 18:03:26 <Diablo-D3> heat pumps are inefficient when your liquid freezes.
610 2012-01-22 18:04:22 <etotheipi_> though, my gf is not particularly please about my "queen" miner making noise in the corner of the bedroom :)
611 2012-01-22 18:04:27 <luke-jr> BlueMatt: too bad my miners are all low-heat now :/
612 2012-01-22 18:04:31 <etotheipi_> but she likes the heat, so she puts up with it
613 2012-01-22 18:04:52 <BlueMatt> luke-jr: heh, sucks for you I guess
614 2012-01-22 18:05:00 <BlueMatt> (unless you feel like saving money...)
615 2012-01-22 18:05:05 <etotheipi_> luke-jr, did you switch to FPGAs?
616 2012-01-22 18:05:46 <k9quaint> I prefer my miners out in the garage running at < 50degC :)
617 2012-01-22 18:05:51 <luke-jr> etotheipi_: yeah, pretty  much
618 2012-01-22 18:06:30 <roconnor> etotheipi_: presumably your heatpump is more effiecent than your miners (at heating)
619 2012-01-22 18:06:39 <etotheipi_> k9quaint, perhaps you can correct me if I'm wrong, but if the GPU is running below 75c I didn't think it really mattered (longevity-wise)
620 2012-01-22 18:06:52 <[Tycho]> luke-jr: you got many BFL units ? :)
621 2012-01-22 18:07:09 <etotheipi_> roconnor, heat pumps are pretty inefficient when it gets really cold
622 2012-01-22 18:08:06 <luke-jr> [Tycho]: I'm not disclosing my FPGA volume at this time.
623 2012-01-22 18:08:09 <etotheipi_> that's what "emergency heat" is for... below something like 20 deg F, the heatpump really just sucks energy without providing a ton of heat
624 2012-01-22 18:08:17 <nanotube> so iow, they only work well when you don't really need them, etotheipi_ ? :)
625 2012-01-22 18:08:28 <[Tycho]> Oh, well, just one is good too.
626 2012-01-22 18:08:42 <k9quaint> etotheipi_: it matters for efficiency
627 2012-01-22 18:09:18 <roconnor> etotheipi_: I can't imagine them dropping much below 100% efficency.
628 2012-01-22 18:09:33 <etotheipi_> on the other hand, the miners are 100% efficient at converting KW to heat year-round (maybe 99.5% if you consider the light and noise)
629 2012-01-22 18:11:05 <etotheipi_> roconnor, I'm pretty sure it does drop below 100%, or else you wouldn't need emergency heat
630 2012-01-22 18:11:15 <etotheipi_> and it's why heatpumps aren't really used in colder climates
631 2012-01-22 18:11:38 <Diablo-D3> https://github.com/katmagic/Shallot
632 2012-01-22 18:11:39 <Diablo-D3> OOH
633 2012-01-22 18:13:44 <gmaxwell> roconnor: The compressor is outside.
634 2012-01-22 18:13:47 <gmaxwell> (usually)
635 2012-01-22 18:13:49 <Joric> just built 0.5.99 bitcoin-qt with dependencies stated in docs oddly it refuses to launch, had to delete database
636 2012-01-22 18:13:56 <roconnor> gmaxwell: pfft
637 2012-01-22 18:14:01 <roconnor> is that cause it is noisy?
638 2012-01-22 18:14:08 <Joric> didn't help, still won't work
639 2012-01-22 18:14:20 <Joric> DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
640 2012-01-22 18:14:36 <Joric> db-4.8.30.NC
641 2012-01-22 18:14:48 <gmaxwell> roconnor: yes, and if you're running it in the other direction (to cool) you want the waste heat outside!
642 2012-01-22 18:14:58 <luke-jr> is db recovery automatable?
643 2012-01-22 18:15:26 <gmaxwell> Joric: thats what happen if you were previously running on db-5.x IIRC
644 2012-01-22 18:15:43 <roconnor> gmaxwell: okay, no wonder it is inefficent
645 2012-01-22 18:15:45 <Joric> i deleted bitcoin homedir completely, didn't help
646 2012-01-22 18:17:08 <Joric> latest qt + its own mingw (4.4), boost 1.47, openssl 1.0.0e
647 2012-01-22 18:18:40 <sipa> phantomcircuit: damn, base32 is harder than it looks :(
648 2012-01-22 18:18:47 <phantomcircuit> heh
649 2012-01-22 18:19:34 <Joric> does anyone by chance have qtgui_deps for 0.5.2+ old ones won't fit
650 2012-01-22 18:20:16 <CIA-76> bitcoin: p2k * r7b231dc6b35a ecoinpool/apps/ecoinpool/src/ecoinpool_rpc.erl: Added Support for Crappy Mining Software http://luke.dashjr.org/programs/bitcoin/w/ecoinpool.git/commitdiff/7b231dc6b35aac46839ecbae292a133c41800f32
651 2012-01-22 18:20:27 <gmaxwell> Joric: /window 218
652 2012-01-22 18:20:29 <gmaxwell> oops
653 2012-01-22 18:21:55 <Joric> have to built all dependencies from source maybe did something wrong
654 2012-01-22 18:22:24 <Joric> *had to build
655 2012-01-22 18:25:51 <Joric> 0.5.99 uses boost 1.47 (assign lib) but *.pro is linking to libboost_system-mgw44-mt-1_43.a and such
656 2012-01-22 18:27:07 <Joric> undefined reference to `CoInitialize@4' - had to add -lole32 -luuid
657 2012-01-22 18:33:20 <sipa> phantomcircuit: see my 'base32' branch, including unit tests :)
658 2012-01-22 18:40:59 <sipa> [Tycho]: if not enough /P2SH/ coinbases are seen, it won't be deployed; a /NOP2SH/ doesn't matter at all
659 2012-01-22 18:42:03 <[Tycho]> Yes, I just pointed that to piuk and then he added "no vote" field.
660 2012-01-22 18:42:30 <sipa> also, may i ask why you don't support it?
661 2012-01-22 18:45:41 <luke-jr> the better question is why anyone would support it
662 2012-01-22 18:45:54 <luke-jr> there used to be the "nothing better" argument. but now we have BIP 17
663 2012-01-22 18:46:19 <sipa> luke-jr: i knew your opinion already, thanks
664 2012-01-22 18:47:12 <luke-jr> the only argument for BIP 16 now seems to be "let's make Gavin a monarch"
665 2012-01-22 18:47:29 <gmaxwell> luke-jr: You discredit yourself with stupid arguments like that.
666 2012-01-22 18:47:49 <luke-jr> it's not stupid, it's the truth
667 2012-01-22 18:47:56 <gmaxwell> Just because you are enamored with your own arguments and are indifferent to the arguments for BIP 16 doesn't mean that other people don't see it differently.
668 2012-01-22 18:48:27 <luke-jr> if there are arguments for BIP 16, let's hear them
669 2012-01-22 18:49:03 <BlueMatt> [Tycho]: why dont you support bip 16, btw?
670 2012-01-22 18:49:33 <gmaxwell> luke-jr: Gavin gave a list of arguments between 16/17 that I thought were pretty good.
671 2012-01-22 18:49:39 <gmaxwell> luke-jr: https://bitcointalk.org/index.php?topic=60433.0
672 2012-01-22 18:49:50 <sipa> luke-jr: https://bitcointalk.org/index.php?topic=60433.0; quoting yourself "This is indeed a benefit, ... but I personally ..."
673 2012-01-22 18:49:58 <[Tycho]> sipa: first: I see that we don't have a consensus here, so I think that we should implement plain multisig and long-address multisigs first, and THEN progress to advanced things like pay-to-scripts.
674 2012-01-22 18:49:59 <phantomcircuit> sipa, you're going to cry when you see the tor base32 decode
675 2012-01-22 18:50:45 <[Tycho]> Gavin says that he rushes about P2SH because he wants to implement 2-factor auth. Ok, plain multisig and long-address multisig will both allow this and even escrow services.
676 2012-01-22 18:50:50 <luke-jr> sipa: OP_EVAL has the same benefit. so it's not specific to BIP 16. ;)
677 2012-01-22 18:51:14 <gmaxwell> luke-jr: Your argument consistes mostly of this "it's special casing magic"  and I can't get over this mental image of some autistic railroad geek being very insistant that his train timetables be laid out in a particular order.  All things equal, being less 'special case' is good because it makes for simpler code... but it's not a quality worth upholding in and of itself when it doesn't do that.
678 2012-01-22 18:51:28 <[Tycho]> I'm not yet supporting luke-jr's CHS too.
679 2012-01-22 18:51:38 <sipa> [Tycho]: agree, that's a reasonable argument
680 2012-01-22 18:52:05 <[Tycho]> I think that we don't really need to do in in such a hurry.
681 2012-01-22 18:52:10 <[Tycho]> *it
682 2012-01-22 18:52:29 <[Tycho]> This already resulted in compromised OP_EVAL implementation.
683 2012-01-22 18:52:49 <gmaxwell> [Tycho]: This 'hurry' meme is bullshit, Gavin started on the pay-to-script route in .. what.. october?
684 2012-01-22 18:53:13 <luke-jr> gmaxwell: Fine, let's go with OP_EVAL then.
685 2012-01-22 18:53:16 <sipa> phantomcircuit: how so?
686 2012-01-22 18:53:25 <luke-jr> OP_EVAL started in October. Not BIP 16.
687 2012-01-22 18:53:30 <phantomcircuit> sipa, it's about 5 loc
688 2012-01-22 18:53:32 <BlueMatt> by the time 0.6 comes out, bip 16 will have been implemented for like a month
689 2012-01-22 18:53:47 <luke-jr> BlueMatt: no, because it will not get majority miner support.
690 2012-01-22 18:54:03 <luke-jr> oh, you don't mean live-implemented
691 2012-01-22 18:54:05 <luke-jr> nm
692 2012-01-22 18:54:16 <gmaxwell> luke-jr: This road began in October. It's not gavin's fault that people keep blowing up the road in the last mine and causing detours, but it doesn't appear that there is any end in sight for that.
693 2012-01-22 18:54:34 <[Tycho]> We can implement normal multisigs and then, after coming up with good pay-to-script scheme they will be just moved into that script.
694 2012-01-22 18:54:35 <gmaxwell> s/last mine/last mile/
695 2012-01-22 18:55:09 <sipa> phantomcircuit: meh :)
696 2012-01-22 18:55:20 <luke-jr> gmaxwell: OP_EVAL is better than BIP 16
697 2012-01-22 18:55:37 <Joric> managed to build 0.5.1 with old deps archive, without miniupnpc :]
698 2012-01-22 18:55:42 <gmaxwell> luke-jr: as far as I can tell that unless someone draws a deadline this process will never converge because there will always be some NEXT guy who's great idea was left out who will obstruct progress unless it goes his way.
699 2012-01-22 18:55:43 <phantomcircuit> sipa, heh
700 2012-01-22 18:56:02 <[Tycho]> gmaxwell: I ported Gavin's OP_EVAL to my code in expected timeframe and started to "vote" for it before the decision-making date. So it wasn't we who delayed this.
701 2012-01-22 18:56:38 <[Tycho]> ...and then it was discovered to be exploitable.
702 2012-01-22 18:56:52 <luke-jr> gmaxwell: I don't mind a deadline. I don't mind OP_EVAL. I don't mind CHV. I do mind BIP 16.
703 2012-01-22 18:57:07 <sipa> luke-jr: that's your full right
704 2012-01-22 18:57:16 <sipa> luke-jr: but other may or may not mind other combinations
705 2012-01-22 18:57:23 <BlueMatt> what do you hate so much about bip 16, other than the special-case thing?
706 2012-01-22 18:57:25 <sipa> and we are trying to reach a consensus here
707 2012-01-22 18:57:33 <sipa> BlueMatt: he doesn't
708 2012-01-22 18:57:39 <luke-jr> BlueMatt: the special-case thing destroys Bitcoin's sanity.
709 2012-01-22 18:57:45 <sipa> oh come on please
710 2012-01-22 18:57:55 <sipa> there is nothing sane anymore about the scripting language itself
711 2012-01-22 18:57:59 <sipa> given its history
712 2012-01-22 18:58:11 <luke-jr> it's still a scripting language.
713 2012-01-22 18:58:11 <[Tycho]> sipa: as for the BIP16 specifically: 1) I don't like special cases. We should either have a normal scripting or just fixed signatures/keys without all this "OP_DUP" and so on. 2) I don't like serialized form of the script.
714 2012-01-22 18:58:20 <luke-jr> that is no longer true with BIP 16
715 2012-01-22 18:58:26 <gmaxwell> Worse, luke-jr offered to accept BIP16 so long as he was promised that other txn types would go away in Bitcoin 2.0.
716 2012-01-22 18:58:33 <gmaxwell> Which just shows how thin his opposition is.
717 2012-01-22 18:58:46 <Joric> where is 0.5.2 by the way? i don't see it in tags
718 2012-01-22 18:58:48 <luke-jr> gmaxwell: I don't consider that a fair representation of my suggestion there.
719 2012-01-22 18:58:51 <luke-jr> Joric: stable repo
720 2012-01-22 18:59:15 <sipa> [Tycho]: you don't like the serializer form? you mean the fact that it needs serialization, or the way it is serialized?
721 2012-01-22 18:59:25 <[Tycho]> sipa: the fact.
722 2012-01-22 18:59:40 <[Tycho]> But that is less important to me than "special-casing".
723 2012-01-22 19:00:19 <etotheipi_> for what it's worth, I disapprove of anything that isn't extraordinarily well-thought out and tested to hell, mainly because there is NO POINT to taking even the slightest risk when we already have multi-sig available to us without any of the new OP_EVAL/P2SH/etc (even if it is sub-optimal)
724 2012-01-22 19:00:50 <[Tycho]> To me it looks like we have a "C" programming language that can be compiled and run, but only if the program is either "Hello world" or factorial calculation, nothing else. Why bother with compilation then ? :)
725 2012-01-22 19:01:12 <sipa> i was initially against the special casing as well, until i started seeing it not as a scriptPubKey, but as a code in the transaction that says "actual script is in input instead of output"
726 2012-01-22 19:01:28 <etotheipi_> it's a $40 million *thing* that could come crashing down if a hole is found... I think consensus SHOULD be reached (at least about security, not about "best")
727 2012-01-22 19:01:30 <gmaxwell> [Tycho]: er, the executed script can be whatever.
728 2012-01-22 19:01:47 <BlueMatt> if you start from the idea that in the future every tx will be p2sh, then the special casing doesnt bother me as much...
729 2012-01-22 19:01:50 <phantomcircuit> a CAddress is a CService is a CNetAddr which defines explicit CNetAddr(const char *pszIp, bool fAllowLookup = false);
730 2012-01-22 19:01:57 <luke-jr> sipa: but that's not what BIP 16 says.
731 2012-01-22 19:02:13 <phantomcircuit> OOH dont have USE_IPV6 set
732 2012-01-22 19:02:21 <[Tycho]> etotheipi_: yes. The OP_EVAL exploit also shows that it wasn't tested well. And now we have even less mature proposal.
733 2012-01-22 19:02:29 <luke-jr> BlueMatt: BIP 16 does not recommend or encourage using P2SH for everything, either
734 2012-01-22 19:02:39 <[Tycho]> gmaxwell: No, I'm talking about parent script.
735 2012-01-22 19:02:41 <sipa> [Tycho]: but it has had about 10x as much discussion as OP_EVAL had
736 2012-01-22 19:02:56 <[Tycho]> It's not a discussion.
737 2012-01-22 19:03:03 <sipa> ?
738 2012-01-22 19:03:05 <BlueMatt> ???
739 2012-01-22 19:03:08 <[Tycho]> May be.
740 2012-01-22 19:03:15 <gmaxwell> BIP 16's implementation is a lot simpler than OP_EVAL, this is part of the argument for it.
741 2012-01-22 19:04:00 <[Tycho]> sipa: what about my proposal about implementing plain multisigs and long addresses first and moving them into p2s next time ?
742 2012-01-22 19:04:05 <luke-jr> the only discussion lately seems to be people objective to BIP 16, and Gavin ignoring the objections.
743 2012-01-22 19:04:09 <luke-jr> objecting*
744 2012-01-22 19:04:12 <sipa> [Tycho]: i wouldn't mind doing that
745 2012-01-22 19:04:31 <[Tycho]> This should allow us to use all 2f-auth and escrow and give more time to decide on the p2s system.
746 2012-01-22 19:04:32 <BlueMatt> luke-jr: no, you objecting making arguments that gavin has dismissed and you insisting he is ignoring you
747 2012-01-22 19:04:37 <luke-jr> gmaxwell: BIP 17's implementation is about 8 times simpler than BIP 16's
748 2012-01-22 19:04:41 <Joric> how much time it takes to rebuild blkindex.dat? it says downloading blocks hope it's not for real
749 2012-01-22 19:04:56 <luke-jr> BlueMatt: dismissing arguments doesn't make them non-arguments.
750 2012-01-22 19:05:03 <CIA-76> bitcoin: Daniel Folkinshteyn * r22adee021d36 supybot-bitcoin-marketmonitor/OTCOrderBook/ (plugin.py test.py): OTCOrderBook: make 'remove' require an orderid, to avoid people accidentally clobbering their entire book. http://tinyurl.com/8xt7y8v
751 2012-01-22 19:05:05 <CIA-76> bitcoin: Daniel Folkinshteyn * r34136f1f4dfe supybot-bitcoin-marketmonitor/OTCOrderBook/plugin.py: OTCOrderBook: stream also order removals to -otc-ticker http://tinyurl.com/6u37deb
752 2012-01-22 19:05:11 <BlueMatt> he has argued against them, though I see the point, you cant say he is ignoring you
753 2012-01-22 19:05:23 <sipa> luke-jr: you dismissing Gavin's argument also doesn't make them non-arguments
754 2012-01-22 19:05:49 <luke-jr> sipa: I don't dismiss them. I answer them, and explain why they aren't arguments.
755 2012-01-22 19:07:06 <sipa> in your opinion
756 2012-01-22 19:08:17 <luke-jr> a code in the transaction that says "actual script is in input instead of output" <-- that's an interpretation that has been rejected by the BIP
757 2012-01-22 19:09:55 <sipa> i see neither rejection nor suggestion in the BIP about that interpretation
758 2012-01-22 19:10:13 <sipa> it is my own, and it is why i personally do not feel the special case in BIP16 to be a problem
759 2012-01-22 19:12:23 <phantomcircuit> error: no matching function for call to ???CAddress::CAddress(const char [8])???
760 2012-01-22 19:12:46 <phantomcircuit> CAddress -> CService -> CNetAddr::CNetAddr(const char *pszIp, bool fAllowLookup = false);
761 2012-01-22 19:12:51 <phantomcircuit> or am i missing something here?
762 2012-01-22 19:16:20 <phantomcircuit> anybody :(
763 2012-01-22 19:16:30 <phantomcircuit> i swear i haven't lot my mind
764 2012-01-22 19:16:50 <sipa> phantomcircuit: sorry, i'm not familiar with all details of C++ automtatic type conversion
765 2012-01-22 19:17:01 <etotheipi_> along the lines of what [Tycho] said, I don't understand why regular multi-sig can't be implemented first (which enables everything we want), and then work out the OP_EVAL/P2SH stuff afterwards at a more-comfortable pace
766 2012-01-22 19:17:39 <sipa> phantomcircuit: try CAddress(&str[0]), or pass in a string instead of a const char [8] ?
767 2012-01-22 19:17:44 <etotheipi_> OP_MULTISIG is already part of the protocol, it's tested, it's secure, and it's pretty much ready to go... the only issues seems to be that it's suboptimal
768 2012-01-22 19:18:06 <phantomcircuit> sipa, i cast to (const char*) and it wasn't finding it
769 2012-01-22 19:18:12 <phantomcircuit> possibly something is brokeded
770 2012-01-22 19:18:27 <sipa> phantomcircuit: howhow, wait
771 2012-01-22 19:18:34 <sipa> phantomcircuit: constructors aren't inherited
772 2012-01-22 19:19:40 <phantomcircuit> oh
773 2012-01-22 19:19:54 <phantomcircuit> CAddress(CService("0.0.0.0",0))
774 2012-01-22 19:19:56 <phantomcircuit> heh
775 2012-01-22 19:20:11 <TuxBlackEdo> so how exactly do bitcoin script stacks work?
776 2012-01-22 19:20:19 <luke-jr> like normal stacks
777 2012-01-22 19:20:22 <luke-jr> &
778 2012-01-22 19:20:24 <lianj> ^^
779 2012-01-22 19:20:24 <sipa> TuxBlackEdo: you push things on them, and pop things from them
780 2012-01-22 19:20:26 <TuxBlackEdo> and why do all transactions have OP_DUP?
781 2012-01-22 19:20:32 <TuxBlackEdo> if OP_DUP doesnt do anything
782 2012-01-22 19:20:35 <sipa> it does
783 2012-01-22 19:20:41 <sipa> it duplicates the top item on the stack
784 2012-01-22 19:21:36 <luke-jr> TuxBlackEdo: if the stack was ["A", "B"], then OP_DUP makes it ["A", "B", "B"]
785 2012-01-22 19:22:58 <luke-jr> unless it's part of a BIP 16 script
786 2012-01-22 19:23:05 <luke-jr> then it's all special magic handling
787 2012-01-22 19:24:00 <sipa> BIP16 "magic" scripts don't contain OP_DUP
788 2012-01-22 19:24:16 <luke-jr> sipa: the scriptSig can
789 2012-01-22 19:24:27 <sipa> and that's a perfectly normal script...
790 2012-01-22 19:24:33 <luke-jr> nope
791 2012-01-22 19:24:38 <lianj> never know, with black magic
792 2012-01-22 19:24:41 <luke-jr> if it contains OP_DUP, it causes the transaction to fail
793 2012-01-22 19:25:11 <Joric> sipa does 0.5.99 support importing json wallets?
794 2012-01-22 19:25:32 <Joric> are there any specifications on that json
795 2012-01-22 19:27:49 <Eliel> luke-jr: it'd make no sense for BIP 16 to say anything about P2SH becoming the only payment method because that's not up to developers to decide. That's up to the users. If they'll stop using the old transaction types, then it'll happen, otherwise not.
796 2012-01-22 19:29:13 <luke-jr> Eliel: that's like saying protocol changes are up to the users.
797 2012-01-22 19:29:53 <gmaxwell> luke-jr: the difference is that if non-P2SH stopped working lots of people would be instantly screwed and would have to change stuff.
798 2012-01-22 19:30:45 <luke-jr> gmaxwell: nobody is suggesting non-P2SH stop working now. only that the recommendation be to not use it (this is called deprecation)
799 2012-01-22 19:31:31 <gmaxwell> luke-jr: I think lots of people here have said they thought that would be the direction it would go eventually assuming it was well adopted and issues didn't arise.
800 2012-01-22 19:31:39 <gmaxwell> Thats surely my assumption.
801 2012-01-22 19:32:08 <luke-jr> in any case, BIP 16 is not explicit about it, and BIP 17 is better
802 2012-01-22 19:32:17 <Eliel> so, adding "With this new transaction type, the old transaction type is considered deprecated and should not be used anymore where possible." to BIP16 would make it fine?
803 2012-01-22 19:32:55 <luke-jr> Eliel: if it were a little more specific, it would make BIP 16 remotely sane at least
804 2012-01-22 19:34:11 <luke-jr> ie, "This BIP deprecates scriptPubKey, replacing it with scriptHash. For compatibility, scriptHash must be stored as <HASH160 hash EQUALS> and any other value is to be interpreted as a legacy scriptPubKey"
805 2012-01-22 19:35:26 <luke-jr> maybe also "scriptSig is also now strictly PUSH-only, and the final value PUSHed is the new scriptPubKey which must hash to the correct value"
806 2012-01-22 19:35:52 <gmaxwell> Eliel: he's offered to not oppose BIP16 on that basis initially. I think his demand was understood as an impossible request, so nothing was done on it.
807 2012-01-22 19:36:11 <luke-jr> nothing impossible about it
808 2012-01-22 19:36:20 <gmaxwell> I said understood.
809 2012-01-22 19:36:27 <gmaxwell> Certantly what you're saying now sounds impossible.
810 2012-01-22 19:36:34 <luke-jr> nonsense
811 2012-01-22 19:36:55 <gmaxwell> luke-jr: "scriptSig is also now strictly PUSH-only,"   So great, if you correctly implement the BIP you must break bitcoin for all current users?
812 2012-01-22 19:37:16 <luke-jr> gmaxwell: current Bitcoin considers scriptSig standard only if it has PUSH
813 2012-01-22 19:37:37 <luke-jr> also, all 3 BIPs make formerly valid scripts invalid
814 2012-01-22 19:38:08 <luke-jr> finally, I'm pretty sure the ability to put non-PUSH in scriptSig is a security vulnerability
815 2012-01-22 19:38:40 <luke-jr> or at least it would seem likely
816 2012-01-22 19:40:23 <luke-jr> in any case, there'd be no real NEED to add that requirement. just a nice to have.
817 2012-01-22 19:41:14 <luke-jr> explicitly reforming the protocol is much saner than setting up some special rules that effectively do the same.
818 2012-01-22 19:42:29 <gmaxwell> In any case, we _can't_ immediately discourage the use of old addresses, not when it's not even viable yet to use the new ones.
819 2012-01-22 19:43:15 <luke-jr> that's why we just declare it deprecated. :p
820 2012-01-22 19:44:37 <luke-jr> or implement P2SH with BIP 17, and migrate to such an upgrade later
821 2012-01-22 19:45:54 <Eliel> how about "Once >x% of the mining power has updated, the old transaction types shall be considered deprecated."
822 2012-01-22 19:46:14 <gmaxwell> Eliel: the mining power isn't the only issue.
823 2012-01-22 19:46:28 <gmaxwell> Eliel: It needs users to have upgraded, sites to accept the new addresses, etc.
824 2012-01-22 19:46:40 <gmaxwell> Esp with BIP17 where old nodes won't even relay the spending transactions.
825 2012-01-22 19:46:57 <Eliel> many projects keep deprecated functionality around for ages.
826 2012-01-22 19:47:26 <phantomcircuit> mucking about in init.cpp is no fun
827 2012-01-22 19:47:30 <gmaxwell> Eliel: but we can't even tell people that its proper to not support the old addresses until this is true.
828 2012-01-22 19:47:32 <phantomcircuit> have to rebuild almost everything
829 2012-01-22 19:48:35 <Eliel> ok, then delayed deprecation? a year?
830 2012-01-22 19:48:48 <DrHaribo> Hm, do any miners support X-Roll-NTime with expire=x ?
831 2012-01-22 19:49:07 <luke-jr> Eliel: why delay?
832 2012-01-22 19:49:35 <luke-jr> gmaxwell: deprecation doesn't mean "don't support it"
833 2012-01-22 19:49:59 <luke-jr> gmaxwell: it means "don't use it for new stuff"
834 2012-01-22 19:50:12 <luke-jr> http://en.wikipedia.org/wiki/Deprecation
835 2012-01-22 19:50:21 <gmaxwell> yes, so I put up a new bitcoin business tomorrow. and I only accept addresses which are p2sh.  oops.
836 2012-01-22 19:50:32 <gmaxwell> That would be _bad_ and it's not what we want to encourage.
837 2012-01-22 19:50:34 <luke-jr> gmaxwell: no, because you want to support old stuff
838 2012-01-22 19:50:42 <luke-jr> read the wikipedia article :P
839 2012-01-22 19:51:00 <luke-jr> new stuff would be like (at this point) multisigs
840 2012-01-22 19:51:37 <luke-jr> so if scriptPubKey is deprecated, it would be improper to make long multisig addresses.
841 2012-01-22 19:51:53 <gmaxwell> I think most people would read deprecation in this context to mean only generate new addresses, and when you create new things its okay to only accept the new addresses.
842 2012-01-22 19:51:59 <luke-jr> it doesn't make it improper to support old pre-deprecation pubkey addresses
843 2012-01-22 19:52:18 <luke-jr> then be more specific in the BIP if that's a concern.
844 2012-01-22 19:52:21 <gmaxwell> So it would be better to just spell out what you mean rather than depending on everyone deciding the same implications for deprecation.
845 2012-01-22 19:52:38 <gmaxwell> OK.
846 2012-01-22 19:53:11 <luke-jr> "Note: this deprecation does not mean you should stop using and supporting old 1& addresses, just don't base new transaction types on scriptPubKey"
847 2012-01-22 19:57:38 <gmaxwell> I'd surely like to see what changes to the text (but not behavior) you'd feel would make BIP 16 acceptable.
848 2012-01-22 20:08:48 <etotheipi_> unrelated clarification:  if I don't have compressed public keys implemented in Armory yet, the client will still work on the network as long as no one tries to implement to import such an address, correct?  In other words, I have to create addresses based on compressed pubkeys in order to have to worry about them...?
849 2012-01-22 20:09:11 <Eliel> luke-jr: I think BIP 16b would be more proper name if you're not actually changing the implementation.
850 2012-01-22 20:09:32 <etotheipi_> (I plan to implement them in the near future, I just want to make sure I don't need to do it before the alpha release)
851 2012-01-22 20:09:47 <gmaxwell> etotheipi_: there are compressed public keys in the chain.
852 2012-01-22 20:09:57 <phantomcircuit> the difference between hardware and software watchpoints is huge
853 2012-01-22 20:10:04 <phantomcircuit> btw in case anybody is wondering
854 2012-01-22 20:10:15 <phantomcircuit> addrLocalHost is too large for a hardware watch
855 2012-01-22 20:10:35 <etotheipi_> gmaxwell, then I guess that means my statement is true:  they already exist and I'm doing fine
856 2012-01-22 20:13:40 <gmaxwell> etotheipi_: it means either you're failing to validate the chain, or you support them.
857 2012-01-22 20:13:52 <etotheipi_> gmaxwell, we already know I don't validate the chain
858 2012-01-22 20:14:07 <etotheipi_> the question is whether I can still process my own transactions and send them, without the support
859 2012-01-22 20:14:50 <gmaxwell> etotheipi_: well, I didn't completely know how little you validated it. :)
860 2012-01-22 20:15:07 <gmaxwell> etotheipi_: sure, it's irrelvant to you.
861 2012-01-22 20:15:21 <etotheipi_> gmaxwell, I do pretty much NO validation at all... I'm relying on the Satoshi client between me and the network to do all of it for me