1 2013-01-13 00:03:27 andytoshi has joined
  2 2013-01-13 00:11:11 rdponticelli has quit (Ping timeout: 276 seconds)
  3 2013-01-13 00:25:16 grau has joined
  4 2013-01-13 00:32:54 OneFixt has joined
  5 2013-01-13 00:32:57 <kuzetsa> Luke-Jr: windows NTFS has supported hard links for years :P
  6 2013-01-13 00:33:30 grau has quit (Ping timeout: 246 seconds)
  7 2013-01-13 00:35:15 swappermall has joined
  8 2013-01-13 00:38:53 debiantoruser has quit (Ping timeout: 272 seconds)
  9 2013-01-13 00:39:08 <sipa> kuzetsa: i think Luke-Jr was referring to the fact that the client doesn't support sharing the block file/database
 10 2013-01-13 00:40:30 RazielZ has quit (Ping timeout: 246 seconds)
 11 2013-01-13 00:40:37 debiantoruser has joined
 12 2013-01-13 00:55:46 webuser23232 has joined
 13 2013-01-13 00:59:54 toffoo has quit (Read error: Connection reset by peer)
 14 2013-01-13 01:00:03 toffoo has joined
 15 2013-01-13 01:23:11 Arnavion has quit (Quit: Arnavion)
 16 2013-01-13 01:24:18 maneye has joined
 17 2013-01-13 01:32:33 unknown45682 has joined
 18 2013-01-13 01:34:16 Arnavion has joined
 19 2013-01-13 01:42:20 AtashiCon has quit (Quit: AtashiCon)
 20 2013-01-13 01:48:59 andytoshi has quit (Quit: WeeChat 0.3.9.2)
 21 2013-01-13 01:50:34 btcven has joined
 22 2013-01-13 01:57:05 AtashiCon has joined
 23 2013-01-13 02:06:27 rdymac_ has joined
 24 2013-01-13 02:06:30 JZavala has joined
 25 2013-01-13 02:06:40 btcven has quit (Ping timeout: 255 seconds)
 26 2013-01-13 02:11:02 porquilho has quit ()
 27 2013-01-13 02:12:16 Impaler has joined
 28 2013-01-13 02:13:29 grau has joined
 29 2013-01-13 02:21:59 grau has quit (Ping timeout: 264 seconds)
 30 2013-01-13 02:37:20 maneye has quit ()
 31 2013-01-13 02:40:47 Diapolo has joined
 32 2013-01-13 02:43:18 rdymac_ is now known as rdymac
 33 2013-01-13 02:50:26 Garr255 has joined
 34 2013-01-13 02:53:54 paybitcoin has quit (Read error: Connection reset by peer)
 35 2013-01-13 02:55:54 <kuzetsa> sipa: I see... hmm. Speaking of data-deduplication (NOT hard links in this case) ---> have you messed with btrfs yet?
 36 2013-01-13 02:56:39 <gmaxwell> btrfs was previously a complete disaster with bitcoin, though perhaps its better with leveldb.
 37 2013-01-13 02:56:59 <gmaxwell> like.. turning a day of ibd into two weeks disaster.
 38 2013-01-13 02:57:19 <kuzetsa> gmaxwell: really? why would such a filesystem mess up bitcoin?
 39 2013-01-13 02:57:38 <kuzetsa> what's an idb?
 40 2013-01-13 02:57:51 <gmaxwell> initial block download.
 41 2013-01-13 02:57:55 <kuzetsa> oooh
 42 2013-01-13 02:57:57 anon^_^ has quit (Quit: Leaving)
 43 2013-01-13 02:58:03 <gmaxwell> Because btrfs has very poor handling of sync writes.
 44 2013-01-13 02:58:15 <kuzetsa> oh
 45 2013-01-13 02:58:18 <kuzetsa> wasn't aware of that.
 46 2013-01-13 02:58:23 <kuzetsa> :(
 47 2013-01-13 03:17:27 ForceMajeure has joined
 48 2013-01-13 03:22:34 andytoshi has joined
 49 2013-01-13 03:23:19 Diapolo has left ()
 50 2013-01-13 03:28:11 brwyatt is now known as Away!~brwyatt@brwyatt.net|brwyatt
 51 2013-01-13 03:29:51 webuser23232 has quit (Quit: Page closed)
 52 2013-01-13 03:33:36 B0g4r7 has joined
 53 2013-01-13 03:34:50 <wizkid057> i'm weeding out my TODO list... is there any actual interest in a "super blockchain compressor"?
 54 2013-01-13 03:35:04 <wizkid057> (ie: remove hashes, rehash data, compress, etc etc)
 55 2013-01-13 03:36:42 <gmaxwell> I started on one a while back, but getting the best compression requires infinite lookahead, and that was less exciting as it would mean an optimal tool would need too much memory to be pratical.
 56 2013-01-13 03:36:54 debiantoruser has quit (Ping timeout: 246 seconds)
 57 2013-01-13 03:37:22 <wizkid057> sure, but, doesnt have to be 100% perfect
 58 2013-01-13 03:37:29 <gmaxwell> e.g. there is some data better compressed front to back (txids in inputs), and some data that is best compressed back to front (addresses).
 59 2013-01-13 03:38:23 <wizkid057> well, at the very least, removing hashes and recreatable data would be a big step
 60 2013-01-13 03:38:42 <petertodd> estimate on % of space saved?
 61 2013-01-13 03:38:58 debiantoruser has joined
 62 2013-01-13 03:39:08 <petertodd> now that blocks are separated into 128MiB chunks it may be more practical
 63 2013-01-13 03:39:29 <gmaxwell> wizkid057: yea, what I'm saying is that some cases of removing recreatable data can only be done backwards, and some only forwards.
 64 2013-01-13 03:39:55 <wizkid057> oh, gotcha
 65 2013-01-13 03:39:57 <gmaxwell> petertodd: I don't see why yo usay that.
 66 2013-01-13 03:40:17 <wizkid057> so really just need a multipass setup
 67 2013-01-13 03:40:24 <petertodd> gmaxwell: because you could lazily compress them in the background, one at a time
 68 2013-01-13 03:40:26 <gmaxwell> We often have data in the chain, and then the same data hashed, so you can save a lot by not doing that.
 69 2013-01-13 03:40:49 <gmaxwell> petertodd: a compressor wouldn't be useful for a running node, as you need random access.
 70 2013-01-13 03:40:56 <gmaxwell> it would be useful for a bootstrap.dat download.
 71 2013-01-13 03:41:04 <wizkid057> thats what I was aiming for
 72 2013-01-13 03:41:23 <petertodd> good point, although it may be usable for flash
 73 2013-01-13 03:41:49 <wizkid057> for lets say when I get a buddy who wants to start bitcoining, I can dump and send him my blockchain
 74 2013-01-13 03:41:58 <wizkid057> and it wont be as big
 75 2013-01-13 03:41:58 <petertodd> if the periodic dictionary bits are sufficiently far apart from the rest
 76 2013-01-13 03:42:15 <wizkid057> or we can host periodic snapshots for people, or even an official one, without as much bandwidth hurt
 77 2013-01-13 03:42:35 <petertodd> one of the problems of running a node on ec2 is people downloading blockchains from you
 78 2013-01-13 03:42:54 <wizkid057> petertodd: disk I/O doesnt kill you on EC2?
 79 2013-01-13 03:42:56 <gmaxwell> petertodd: you can solve that problem by just not listening.
 80 2013-01-13 03:43:35 <petertodd> no actually, random disk I/O isn't a big deal on EC2 volumes
 81 2013-01-13 03:43:49 <wizkid057> petertodd: i mean, EC2 chargers per so many I/O ops
 82 2013-01-13 03:43:49 <petertodd> they're slow, over the network, but raided
 83 2013-01-13 03:44:11 <wizkid057> *charges
 84 2013-01-13 03:44:20 <petertodd> yeah, but at least it's not as important as bandwidth usage, looking at my logs
 85 2013-01-13 03:44:30 <wizkid057> probably not
 86 2013-01-13 03:44:35 <wizkid057> EC2 bandwidth is crazy expensive
 87 2013-01-13 03:44:56 <petertodd> gmaxwell: yes, still be better if you could leave listening on
 88 2013-01-13 03:45:20 <wizkid057> couldnt you mod the code to not send old blocks?
 89 2013-01-13 03:45:23 <petertodd> ec2 everything is a premium product, only glacier is cheap compared to the alternatives
 90 2013-01-13 03:46:10 <gmaxwell> wizkid057: and break the network? good job. Holy crud, just don't listen.
 91 2013-01-13 03:46:29 <wizkid057> gmaxwell: i meant for just his node :P
 92 2013-01-13 03:46:30 <gmaxwell> If you're not in a position where it's cheap to you to give away resources thats the obvious thing to do.
 93 2013-01-13 03:46:57 <petertodd> gmaxwell: personally I run my ec2 nodes with -connect...
 94 2013-01-13 03:47:51 <wizkid057> i just dont run bitcoind on my ec2 instances
 95 2013-01-13 03:47:53 <petertodd> gmaxwell: it'd be nice if ec2 made their availability zones thing a bit saner - within-zone transfers are free, but what zone is what is customer dependent, and it's not an IP thing
 96 2013-01-13 03:48:31 <gmaxwell> Thats a bummer.
 97 2013-01-13 03:49:48 <petertodd> yeah, if you could limit it, you'd be able to bind to the correct IP and offer extremely fast downloads for basically free, even on 0.7 you can sync from scratch in an hour or two by renting a high-mem disk and putting it on a ramdisk
 98 2013-01-13 03:50:01 <petertodd> s/disk/instance/
 99 2013-01-13 03:50:58 fiesh has quit (Ping timeout: 255 seconds)
100 2013-01-13 03:54:05 b4epoche has joined
101 2013-01-13 03:54:22 fiesh has joined
102 2013-01-13 04:01:00 k0rx has joined
103 2013-01-13 04:03:38 hahuang65 has quit (Quit: Textual IRC Client: http://www.textualapp.com/)
104 2013-01-13 04:06:56 rdymac has quit (Quit: This computer has gone to sleep)
105 2013-01-13 04:08:04 k0rx has left ()
106 2013-01-13 04:10:57 DamascusVG has quit (Quit: I Quit - http://www.youtube.com/watch?v=9p97zsQ51Rw)
107 2013-01-13 04:11:53 sgornick has quit (Quit: Ex-Chat)
108 2013-01-13 04:12:58 Impaler has quit (Ping timeout: 260 seconds)
109 2013-01-13 04:14:53 TheEslbear has joined
110 2013-01-13 04:15:36 paybitcoin has joined
111 2013-01-13 04:15:53 JDuke128 has joined
112 2013-01-13 04:18:33 paybitcoin has quit (Read error: Connection reset by peer)
113 2013-01-13 04:18:53 Eslbaer has quit (Ping timeout: 264 seconds)
114 2013-01-13 04:19:18 andytoshi has quit (Quit: WeeChat 0.3.9.2)
115 2013-01-13 04:23:51 paybitcoin has joined
116 2013-01-13 04:33:20 freakazoid has joined
117 2013-01-13 04:41:23 reizuki__ has joined
118 2013-01-13 04:44:55 alep has joined
119 2013-01-13 04:45:01 <alep> what a jerk, this gmaxwell
120 2013-01-13 04:45:07 <alep> why would anyone chat with him
121 2013-01-13 04:45:13 <alep> or do anything with him
122 2013-01-13 04:51:27 chiz has joined
123 2013-01-13 04:54:28 <yareyare> that's totally not what a jerk would say...
124 2013-01-13 05:00:06 D34TH has quit (Quit: Leaving)
125 2013-01-13 05:08:36 TheSeven has quit (Disconnected by services)
126 2013-01-13 05:08:46 [7] has joined
127 2013-01-13 05:13:27 _W_ has quit (Remote host closed the connection)
128 2013-01-13 05:15:05 _W_ has joined
129 2013-01-13 05:18:27 ShadowNET has joined
130 2013-01-13 05:20:38 quaggy has joined
131 2013-01-13 05:23:24 <owowo> lol
132 2013-01-13 05:24:05 ShadowNET has quit ()
133 2013-01-13 05:25:18 toffoo has quit ()
134 2013-01-13 05:26:11 skeledrew has quit (Ping timeout: 264 seconds)
135 2013-01-13 05:32:45 skeledrew has joined
136 2013-01-13 05:40:12 owowo has quit (Quit: sayonara)
137 2013-01-13 05:43:17 <gmaxwell> etotheipi_: where did you get 4k from?
138 2013-01-13 05:44:01 <etotheipi_> gmaxwell: I have no idea... many many months ago I checked the source code to determine the fee rules, and I somehow came up with 4 kB
139 2013-01-13 05:44:31 <etotheipi_> I guess I could check the revision history...
140 2013-01-13 05:44:36 <gmaxwell> I don't remember it ever being the rule.
141 2013-01-13 05:45:20 <etotheipi_> oh well.. I guess I'll update my code then...
142 2013-01-13 05:45:39 <etotheipi_> and it's allowfree up to 10 kB, and then it kicks in at 10*MIN_FEE, right?
143 2013-01-13 05:46:06 <etotheipi_> it's not like, MIN_FEE for every kB above 10...
144 2013-01-13 05:50:21 <stealth222> there are two different sets of rules
145 2013-01-13 05:50:27 <stealth222> for relay and for sending
146 2013-01-13 05:50:35 <stealth222> they differ in MIN_FEE
147 2013-01-13 05:50:57 <stealth222> the rules are more lax for relay
148 2013-01-13 05:51:37 <stealth222> relay rules are mostly concerned with preventing DoS - whereas sending rules are also concerned with not tying up txouts in transactions that never confirm
149 2013-01-13 05:52:22 <stealth222> I guess you're only interested in relay rules, etotheipi_
150 2013-01-13 05:52:33 <etotheipi_> stealth222: yeah, I understand that part
151 2013-01-13 05:52:45 <etotheipi_> I just got mixed up about the threshold for tx size
152 2013-01-13 05:53:50 <etotheipi_> gmaxwell: you're right, it never was
153 2013-01-13 05:54:01 <etotheipi_> but there's a commen above that line that says something about 4500bc
154 2013-01-13 05:54:20 <etotheipi_> that must be what I read and got mixed up about...
155 2013-01-13 05:54:35 <etotheipi_> because I remember thinking "4.something... I'll just make it 4.0 to be safe"
156 2013-01-13 05:55:43 jgarzik has quit (Read error: Operation timed out)
157 2013-01-13 05:56:01 jgarzik has joined
158 2013-01-13 05:56:21 brwyatt is now known as brwyatt|Away
159 2013-01-13 05:56:25 jgarzik is now known as Guest8324
160 2013-01-13 05:57:48 <etotheipi_> and as I look at my code... I definitely didn't do something right
161 2013-01-13 05:57:49 dvide has joined
162 2013-01-13 05:57:59 <etotheipi_> I've definitely been asking for way too much fee...
163 2013-01-13 06:02:02 Guest8324 has quit (Changing host)
164 2013-01-13 06:02:02 Guest8324 has joined
165 2013-01-13 06:02:06 Guest8324 is now known as jgarzik_
166 2013-01-13 06:11:59 debiantoruser has quit (Ping timeout: 248 seconds)
167 2013-01-13 06:13:50 debiantoruser has joined
168 2013-01-13 06:15:39 JDuke128 has quit (Quit: ["Textual IRC Client: www.textualapp.com"])
169 2013-01-13 06:17:29 nus has quit (Ping timeout: 276 seconds)
170 2013-01-13 06:29:11 Impaler has joined
171 2013-01-13 06:33:11 nus has joined
172 2013-01-13 06:35:33 andytoshi has joined
173 2013-01-13 06:53:52 JZavala has quit (Ping timeout: 265 seconds)
174 2013-01-13 07:07:57 freakazoid has quit (Ping timeout: 246 seconds)
175 2013-01-13 07:12:51 eoss has joined
176 2013-01-13 07:13:36 paraipan has quit (Quit: Saliendo)
177 2013-01-13 07:13:46 <stealth222> anyone here particularly skilled in debugging thread-related crashes?
178 2013-01-13 07:15:15 <andytoshi> i did such a thing, once
179 2013-01-13 07:15:29 <stealth222> lol - once
180 2013-01-13 07:16:21 <andytoshi> what language are you using? is 'const'ing everything a viable strategy
181 2013-01-13 07:16:55 <stealth222> C++, not sure what you mean by "const'ing" everything
182 2013-01-13 07:17:20 <andytoshi> basically, any data that is shared, make it read-only (and comment out code that changes things)
183 2013-01-13 07:17:29 <andytoshi> try to isolate the problem that way
184 2013-01-13 07:17:37 <andytoshi> to see what specific memory is being mis-shared
185 2013-01-13 07:17:59 <stealth222> that's probably not a viable thing here - it's a mutex issue
186 2013-01-13 07:19:47 <andytoshi> have you tried running in valgrind or gdb? i assume the problem doesn't occur..
187 2013-01-13 07:20:07 <stealth222> that's what I'm doing now - and yes, it crashes
188 2013-01-13 07:20:13 <stealth222> which is a good thing :)
189 2013-01-13 07:20:21 <stealth222> it would be frustrating if it didn't produce an error under valgrind
190 2013-01-13 07:20:36 <stealth222> it's probably something really stupid
191 2013-01-13 07:20:56 <andytoshi> i'm happy to play with your code, if you wanna email it to me or something
192 2013-01-13 07:21:07 <andytoshi> (or post a link here)
193 2013-01-13 07:21:30 <gmaxwell> stealth222: I am stupid with threading bugs, so I just try to bisect them out (in history or codespace, e.g. adding prints and debugging).  In theory tools like helgrind and tsan may help, but I'm not familar with them.
194 2013-01-13 07:21:52 <stealth222> yeah, I am also a big fan of sticking tracers everywhere
195 2013-01-13 07:22:03 <gmaxwell> also debugging them like memory problems (e.g. valgrind) can work if the ultimate result is a memory problem.
196 2013-01-13 07:22:28 <stealth222> I'm pretty sure it is
197 2013-01-13 07:23:22 <andytoshi> stealth222: if valgrind consistently gives a bad memory access, go to where it's allocated in gdb and put a watch on it
198 2013-01-13 07:23:41 <gmaxwell> also throwing locks all over can help, esp if youmake the lock try once and continue, and when it fails to acquire you break— the contention detection where you previously had no lock shows you when you would have bugged.
199 2013-01-13 07:24:04 <stealth222> yeah, good advice
200 2013-01-13 07:24:14 <stealth222> both of you
201 2013-01-13 07:25:23 <stealth222> oh well, I'll keep hacking away at it a bit longer - if I get too frustrated I'll push the code :p
202 2013-01-13 07:25:29 <stealth222> thanks for the help
203 2013-01-13 07:25:33 <andytoshi> haha, good luck
204 2013-01-13 07:33:33 dust-otc has joined
205 2013-01-13 07:38:20 grau has joined
206 2013-01-13 07:38:29 da2ce7 has joined
207 2013-01-13 07:44:25 da2ce7_d has joined
208 2013-01-13 07:44:35 da2ce7 has quit (Ping timeout: 276 seconds)
209 2013-01-13 07:45:01 luke-jr_ has joined
210 2013-01-13 07:45:14 Luke-Jr has quit (Read error: Connection reset by peer)
211 2013-01-13 07:58:56 skeledrew has quit (Read error: Connection reset by peer)
212 2013-01-13 08:00:46 skeledrew has joined
213 2013-01-13 08:06:24 b4epoche has quit (Ping timeout: 246 seconds)
214 2013-01-13 08:07:59 b4epoche has joined
215 2013-01-13 08:18:32 TD_ has joined
216 2013-01-13 08:26:30 eoss has quit (Remote host closed the connection)
217 2013-01-13 08:28:26 JWU42 has quit (Ping timeout: 276 seconds)
218 2013-01-13 08:29:23 skeledrew has quit (Read error: Connection reset by peer)
219 2013-01-13 08:35:40 Arnavion has quit (Quit: Arnavion)
220 2013-01-13 08:37:02 Arnavion has joined
221 2013-01-13 08:38:32 TD_ has quit (Quit: TD_)
222 2013-01-13 08:51:16 CodesInChaos has joined
223 2013-01-13 08:51:30 ovidiusoft has joined
224 2013-01-13 08:52:38 ovidiusoft has quit (Client Quit)
225 2013-01-13 08:53:45 ovidiusoft has joined
226 2013-01-13 09:00:23 MC1984 has quit (Ping timeout: 264 seconds)
227 2013-01-13 09:05:29 debiantoruser has quit (Ping timeout: 276 seconds)
228 2013-01-13 09:06:59 debiantoruser has joined
229 2013-01-13 09:07:25 TD_ has joined
230 2013-01-13 09:17:47 <stealth222> geeeezzz - whoever did the sync.h and sync.cpp stuff is a total masochist - I just spent the better part of the last while figuring out that they amount to nothing more than this: http://pastebin.com/gfaRrYj8
231 2013-01-13 09:18:45 <stealth222> shouldn't this at least be in the comments? I mean, I understand it's useful to have debugging macros - but seriously...it makes the code so fricking opaque that it almost negates any benefits when it comes to bringing new people up to speed
232 2013-01-13 09:22:02 <stealth222> rather than debug macros, it would be preferable to have a parser that performs inline substitutions according to rules so as not to disrupt the idiom of the language
233 2013-01-13 09:22:14 <stealth222> and keep the idiom
234 2013-01-13 09:22:22 skeledrew has joined
235 2013-01-13 09:23:00 <wumpus> LOCK and TRY_LOCK etc are your garden variety synchronization primitives, what's the problem with them?
236 2013-01-13 09:23:22 Doji has joined
237 2013-01-13 09:23:22 jdnavarro has joined
238 2013-01-13 09:23:26 <wumpus> but if you feel that they should be commented more, please add comments and submit a pull req
239 2013-01-13 09:24:35 <stealth222> actually, it's not so much that I have a problem with these macros - they're fine. It's that the definitions for them include a bunch of debugging stuff that has no functional implications on program behavior and it takes a while to see what it is
240 2013-01-13 09:24:43 <stealth222> the source code is difficult to read
241 2013-01-13 09:25:06 <stealth222> it would be far better to have "clean definitions" that exclude all the debugging stuff
242 2013-01-13 09:25:17 <stealth222> which developers can reference to understand what they do
243 2013-01-13 09:25:22 <wumpus> ok, please add some comments then, so others can be helped along
244 2013-01-13 09:25:31 TD_ has quit (Quit: TD_)
245 2013-01-13 09:25:32 <stealth222> I most certainly will
246 2013-01-13 09:26:19 <wumpus> if you've been working on it for a while it's hard to see through the eyes of someone new, though I also remember the bitcoin source is not one of those it's easy for a new person to get into
247 2013-01-13 09:26:40 CodesInChaos has quit (Read error: Connection reset by peer)
248 2013-01-13 09:29:10 Impaler has quit (Remote host closed the connection)
249 2013-01-13 09:30:56 Someguy123 has quit (Ping timeout: 248 seconds)
250 2013-01-13 09:32:40 <stealth222> if someone wants to review this to make sure it's what it means: http://pastebin.com/wfrx6iAx
251 2013-01-13 09:32:50 <stealth222> I'll put it onto comments or a README
252 2013-01-13 09:33:35 <stealth222> actually, could still be a little improved...
253 2013-01-13 09:33:39 <stealth222> I'll give it another shot
254 2013-01-13 09:37:22 <stealth222> http://pastebin.com/1D0sEtig
255 2013-01-13 09:43:18 <midnightmagic> wumpus: The original source was very easy to look through; short, to-the-point. Even the weird constructs made sense. These days, there are interlinked relationships that are difficult for the casual observer to fully track down. it's no longer so granular.
256 2013-01-13 09:44:36 <wumpus> stealth222: yes, I think those would be good to add as comments
257 2013-01-13 09:44:41 <SomeoneWeird> because the devs are silly
258 2013-01-13 09:44:42 <SomeoneWeird> >.>
259 2013-01-13 09:44:53 <stealth222> hehe, no kidding :)
260 2013-01-13 09:45:00 <wumpus> midnightmagic: well I don't agree, satoshi's code was kind of terrible
261 2013-01-13 09:45:11 <wumpus> a lot of time has been spent cleaning up after him
262 2013-01-13 09:45:17 <midnightmagic> wumpus: I found it easier to read. Of course I am speaking of myself..
263 2013-01-13 09:45:31 <midnightmagic> wumpus: Or.. rather, easier to modify.
264 2013-01-13 09:46:09 Gladamas has joined
265 2013-01-13 09:46:40 <wumpus> then again obviously it's still far from the ideal architecture, wherer the wallet, block chain, handling would be completely separated
266 2013-01-13 09:46:51 <wumpus> it started as a tangle of everything together
267 2013-01-13 09:46:59 <midnightmagic> wumpus: These days, it *appears* as though people are using augmented methods to write code, like autocomplete IDE or class viewers.. at least, constructs appear to be similarly-built to other augmented constructs I have seen in the past.
268 2013-01-13 09:47:48 <wumpus> rpc, block chain handling, wallet handling, even the gui was one interrelated tangle, there is some kind of split-up now int odifferent parts with different responsibilities
269 2013-01-13 09:47:50 <midnightmagic> wumpus: Not that I'm complaining..
270 2013-01-13 09:48:25 KimK_laptop_ has joined
271 2013-01-13 09:48:38 Doji has quit (Ping timeout: 272 seconds)
272 2013-01-13 09:49:24 <wumpus> and the locking is also still a mess, but improved a bit by using RAII, and some work is underway to maek clear which lock protects what and encapsulate that
273 2013-01-13 09:50:15 <wumpus> "augmented constructs"?
274 2013-01-13 09:50:48 <wumpus> never even heard of that term, and I've been a C++ developer for 15-ish years :P
275 2013-01-13 09:53:20 <midnightmagic> for example, constructs resulting from code writing tools such as classes spanning multi-directories and/or files. nearly impossible to visualize without a tool to collect the class methods and definitions into a single unified view.
276 2013-01-13 09:54:04 <wumpus> code-writing tools?
277 2013-01-13 09:54:27 <stealth222> doxygen isn't too bad - I've been using it a bit
278 2013-01-13 09:54:28 <midnightmagic> for php, for example, netbeans vs. joe or vi or emacs, minus macros.
279 2013-01-13 09:54:37 <wumpus> I don't think we have auto-generated code anywhere, at least in the repository
280 2013-01-13 09:55:24 <wumpus> sure the code is distributed over multiple directories, but the divide is very sensible (core source, json, gui, etc)
281 2013-01-13 09:55:25 <midnightmagic> not auto-generated. just visualisations that allow you to ignore the fact that a single class spans a half-dozen directories. in other words, making it difficult to ~impossible for a non-IDE user to follow the logic or make meaningful alterations, in the extreme case.
282 2013-01-13 09:55:38 <stealth222> http://blockhawk.net/bitcoindoc/html/
283 2013-01-13 09:55:58 <stealth222> makes very pretty graphs: http://blockhawk.net/bitcoindoc/html/checkpoints_8cpp.html
284 2013-01-13 09:56:36 Diapolo has joined
285 2013-01-13 09:56:42 <wumpus> big project always have that, try to understand the mozilla source in a day :)
286 2013-01-13 09:57:19 <stealth222> without stuff like http://blockhawk.net/bitcoindoc/html/main_8cpp.html#ad4caaecadb40a56e2595d322588579f8 it would be hopeless :p
287 2013-01-13 09:57:39 zapsoda has left ("Leaving")
288 2013-01-13 09:57:49 <wumpus> indeed, doxygen is very useful for code understanding
289 2013-01-13 09:58:07 <stealth222> and it requires only minimal configuration - super simple to set up
290 2013-01-13 09:58:41 <wumpus> yeah unlike DXR and friends...
291 2013-01-13 09:58:55 <Diapolo> wumpus: hey there :) had you got the time to take a look or to try the last Qt pull-reqs? and I'm interested in your oppinion on that stack-protector one.
292 2013-01-13 10:00:18 <wumpus> isn't the stack protected already enough? I get kind of dizzy of all the options you have to feed gcc to get a more and more secure executable :P
293 2013-01-13 10:01:41 <Diapolo> I'm not talking about large address aware, which we also should add :D. I meant CONFIG += static in the project file.
294 2013-01-13 10:03:43 <Diapolo> and I still wonder, why no core dev currently takes the time to merge all small and ACKed pulls, it seems a little slow these days (not talking about own pulls here)
295 2013-01-13 10:03:44 CodesInChaos has joined
296 2013-01-13 10:04:28 <midnightmagic> Diapolo: just time and effort i think.
297 2013-01-13 10:05:05 <Diapolo> well yeah, but it seems while creating the big things the smaller ones stay on the road...
298 2013-01-13 10:05:33 <wumpus> just cognitive effort, I think
299 2013-01-13 10:05:37 <midnightmagic> You could contribute them to forklines for more active testing.
300 2013-01-13 10:06:10 <wumpus> even for small pull requests it's not always trivial to judge correctness etc, unless it's a message/comment only change :)
301 2013-01-13 10:08:55 <wumpus> and if it affects only the GUI I'm also more inclined to just merge it
302 2013-01-13 10:09:18 jdnavarro has quit (Remote host closed the connection)
303 2013-01-13 10:09:38 <midnightmagic> some of us run next-test actively..
304 2013-01-13 10:09:42 <wumpus> but stack protection etc is really non-trivial stuff that can fail in a dozen different ways
305 2013-01-13 10:09:51 <midnightmagic> (alongside mainline aloneside releaselines)
306 2013-01-13 10:09:55 <Diapolo> wumpus: didn't mean Qt pulls as I know you are their merger :)
307 2013-01-13 10:11:24 <Diapolo> wumpus: I had a problem with QMAKE_LFLAGS *= -static as it crashes the RPCconsole when entering a command when throw JSONRPCError(RPC_METHOD_NOT_FOUND, "Method not found"); is reached I get an msvc++ runtime exception... I hope that is just because I have no static Qt, which WE have here
308 2013-01-13 10:11:49 <midnightmagic> wumpus: Are people still occasionally doing gitian builds?
309 2013-01-13 10:12:10 <Diapolo> I need to afk a little, sorry...
310 2013-01-13 10:12:26 <wumpus> Diapolo: -staic?
311 2013-01-13 10:12:37 <wumpus> so the build script forces a non-static build?
312 2013-01-13 10:12:43 <wumpus> ok, later
313 2013-01-13 10:12:52 <Diapolo> see https://github.com/bitcoin/bitcoin/pull/1674/files
314 2013-01-13 10:13:10 <Diapolo> that removes the dep on libspp-0.dll
315 2013-01-13 10:13:12 <wumpus> midnightmagic: yes, that's great, then the to-be-released version at least gets some testing :)
316 2013-01-13 10:13:13 <Diapolo> later... ^^
317 2013-01-13 10:13:37 <midnightmagic> wumpus: Can you tell me what you had to do to get gitian working? I had to disable part of the manifest-building which attempts to refresh the .deb cache. Did you too?
318 2013-01-13 10:13:44 <wumpus> and sure, people are still doing gitan builds
319 2013-01-13 10:14:01 <midnightmagic> wumpus: Is gitian an active part of every release still?
320 2013-01-13 10:14:09 <wumpus> no, I don't think I  had to do that, but it was a long time ago
321 2013-01-13 10:14:19 one_zero has quit ()
322 2013-01-13 10:14:22 <midnightmagic> wumpus: You're not part of the gitian consortium then?
323 2013-01-13 10:14:27 <midnightmagic> for lack of a better term
324 2013-01-13 10:14:35 <wumpus> I remember having some problems with the qemu stuff (it being unable to connect to the virtual machine etc) but not that
325 2013-01-13 10:14:57 <wumpus> yes gitian builds are still done every release
326 2013-01-13 10:15:15 <midnightmagic> okay thanks.
327 2013-01-13 10:15:16 <wumpus> I am part of that
328 2013-01-13 10:16:06 <midnightmagic> oh okay.
329 2013-01-13 10:16:27 <midnightmagic> bedtime, night wumpus!
330 2013-01-13 10:16:49 <wumpus> night!
331 2013-01-13 10:16:52 <midnightmagic> :)
332 2013-01-13 10:17:38 B0g4r7 has quit (Ping timeout: 276 seconds)
333 2013-01-13 10:22:13 B0g4r7 has joined
334 2013-01-13 10:35:32 Doji has joined
335 2013-01-13 10:40:42 larsig has joined
336 2013-01-13 10:41:25 <Diapolo> wumpus: I explained the crash from a few minutes ago in the pull (https://github.com/bitcoin/bitcoin/pull/1674) when you've got time it would be nice to read your ideas on that... my GF is pulling me out of the house now ^^
337 2013-01-13 10:42:08 <wumpus> ok ^^
338 2013-01-13 10:42:59 <sipa> wizkid057: if you want a transaction-based index to work, you can't do more than per-transaction compressing... maybe you can get 20% for that
339 2013-01-13 10:45:53 Diapolo has left ()
340 2013-01-13 10:46:04 rdponticelli has joined
341 2013-01-13 10:52:12 RazielZ has joined
342 2013-01-13 10:59:00 Hashdog has joined
343 2013-01-13 11:00:25 Hashdog has left ()
344 2013-01-13 11:06:10 Hashdog has joined
345 2013-01-13 11:07:36 b4epoche has quit (Quit: Computer has gone to sleep.)
346 2013-01-13 11:15:24 Doji has quit (Ping timeout: 272 seconds)
347 2013-01-13 11:17:48 Hashdog has left ("PING 1358074849")
348 2013-01-13 11:19:38 b4epoche has joined
349 2013-01-13 11:32:29 antix_ has quit (Quit: Lost terminal)
350 2013-01-13 11:51:44 d4de_ has joined
351 2013-01-13 11:51:56 d4de has quit (Ping timeout: 248 seconds)
352 2013-01-13 11:53:07 ircuser-6 has quit (Ping timeout: 252 seconds)
353 2013-01-13 11:58:23 debiantoruser has quit (Ping timeout: 265 seconds)
354 2013-01-13 12:00:15 debiantoruser has joined
355 2013-01-13 12:03:30 thex has joined
356 2013-01-13 12:05:59 Doji has joined
357 2013-01-13 12:09:17 WolfAlex_ has joined
358 2013-01-13 12:11:10 da2ce7 has joined
359 2013-01-13 12:12:05 TheEslbear has quit (Quit: bye.)
360 2013-01-13 12:12:08 WolfAlex has quit (Ping timeout: 240 seconds)
361 2013-01-13 12:12:18 Eslbaer has joined
362 2013-01-13 12:12:30 <sipa> midnightmagic: no offence, but if you found the original source more to-the-point, it must be because it was so contrived that it hid its complexity
363 2013-01-13 12:13:40 da2ce7_d has quit (Ping timeout: 272 seconds)
364 2013-01-13 12:14:36 X-Scale has quit ()
365 2013-01-13 12:14:46 <sipa> midnightmagic: for example, wallets (intermingled in main.cpp!) were informed that a key was in use, by a call from the low-level script verification code when it succesfully verified a signature using a wallet key
366 2013-01-13 12:15:00 <sipa> took me hours to understand how the code could ever work
367 2013-01-13 12:15:21 <sipa> *that code
368 2013-01-13 12:17:31 <sipa> wizkid057: if you wanted an "archive" form blockchain, with whole-file compression, i suppose you might get up to 40%
369 2013-01-13 12:18:24 da2ce7_d has joined
370 2013-01-13 12:19:14 da2ce7 has quit (Ping timeout: 260 seconds)
371 2013-01-13 12:24:31 da2ce7_d has quit (Ping timeout: 255 seconds)
372 2013-01-13 12:26:14 da2ce7 has joined
373 2013-01-13 12:29:34 da2ce7_d has joined
374 2013-01-13 12:31:54 da2ce7 has quit (Ping timeout: 276 seconds)
375 2013-01-13 12:32:39 da2ce7 has joined
376 2013-01-13 12:33:49 da2ce7_d has quit (Ping timeout: 246 seconds)
377 2013-01-13 12:33:50 MobiusL has quit (Excess Flood)
378 2013-01-13 12:35:35 MobiusL has joined
379 2013-01-13 12:37:31 da2ce7 has quit (Ping timeout: 256 seconds)
380 2013-01-13 12:39:33 da2ce7 has joined
381 2013-01-13 12:43:15 thex has left ()
382 2013-01-13 12:44:21 da2ce7_d has joined
383 2013-01-13 12:44:54 da2ce7 has quit (Ping timeout: 276 seconds)
384 2013-01-13 12:47:48 da2ce7 has joined
385 2013-01-13 12:49:08 da2ce7_d has quit (Ping timeout: 240 seconds)
386 2013-01-13 12:51:02 Doji has quit (Ping timeout: 272 seconds)
387 2013-01-13 12:51:23 larsig has quit (Read error: Connection reset by peer)
388 2013-01-13 12:52:35 da2ce7 has quit (Ping timeout: 264 seconds)
389 2013-01-13 12:53:59 larsig has joined
390 2013-01-13 12:55:02 ircuser-6 has joined
391 2013-01-13 12:58:47 Doji_ has joined
392 2013-01-13 13:01:48 skeledrew has quit (Ping timeout: 272 seconds)
393 2013-01-13 13:03:08 da2ce7 has joined
394 2013-01-13 13:03:45 GMP has quit (Read error: Connection reset by peer)
395 2013-01-13 13:04:56 skeledrew has joined
396 2013-01-13 13:08:22 JWU42 has joined
397 2013-01-13 13:10:31 tonikt has joined
398 2013-01-13 13:17:13 BTCOxygen has quit (Changing host)
399 2013-01-13 13:17:13 BTCOxygen has joined
400 2013-01-13 13:18:36 D34TH has joined
401 2013-01-13 13:23:28 yareyare has quit (Quit: zzzzzzzzz)
402 2013-01-13 13:27:33 piuk has joined
403 2013-01-13 13:28:17 piuk has quit (Client Quit)
404 2013-01-13 13:32:21 da2ce7_d has joined
405 2013-01-13 13:33:04 da2ce7 has quit (Ping timeout: 248 seconds)
406 2013-01-13 13:36:23 stealth222 has quit (Remote host closed the connection)
407 2013-01-13 13:40:13 luke-jr_ is now known as Luke-Jr
408 2013-01-13 13:43:14 rdymac has joined
409 2013-01-13 13:43:59 JDuke128 has joined
410 2013-01-13 13:47:29 JZavala has joined
411 2013-01-13 13:49:40 grau has quit (Remote host closed the connection)
412 2013-01-13 13:50:57 KimK_laptop_ has quit (Read error: Connection reset by peer)
413 2013-01-13 13:59:42 grau has joined
414 2013-01-13 14:00:49 rdymac has quit (Ping timeout: 256 seconds)
415 2013-01-13 14:01:14 rdymac has joined
416 2013-01-13 14:09:34 skeledrew has quit (Ping timeout: 272 seconds)
417 2013-01-13 14:09:52 Doji_ has quit (Ping timeout: 248 seconds)
418 2013-01-13 14:10:13 k0rx has joined
419 2013-01-13 14:12:42 skeledrew has joined
420 2013-01-13 14:12:56 Doji has joined
421 2013-01-13 14:18:04 da2ce7_d has quit (Ping timeout: 265 seconds)
422 2013-01-13 14:20:31 da2ce7 has joined
423 2013-01-13 14:23:49 Doji has quit (Remote host closed the connection)
424 2013-01-13 14:27:57 dvide has quit ()
425 2013-01-13 14:30:36 da2ce7_d has joined
426 2013-01-13 14:31:47 da2ce7 has quit (Ping timeout: 276 seconds)
427 2013-01-13 14:33:32 da2ce7 has joined
428 2013-01-13 14:34:21 k0rx has quit (Quit: Leaving.)
429 2013-01-13 14:34:56 da2ce7_d has quit (Ping timeout: 248 seconds)
430 2013-01-13 14:40:04 daybyter has joined
431 2013-01-13 14:56:50 debiantoruser has quit (Ping timeout: 252 seconds)
432 2013-01-13 14:58:35 debiantoruser has joined
433 2013-01-13 14:59:32 grau has quit (Remote host closed the connection)
434 2013-01-13 14:59:52 da2ce7_d has joined
435 2013-01-13 15:00:27 grau has joined
436 2013-01-13 15:00:36 da2ce7 has quit (Ping timeout: 265 seconds)
437 2013-01-13 15:14:16 da2ce7_d has quit (Read error: Connection reset by peer)
438 2013-01-13 15:15:12 da2ce7_d has joined
439 2013-01-13 15:21:33 paraipan has joined
440 2013-01-13 15:25:17 zooko has joined
441 2013-01-13 15:27:45 da2ce7 has joined
442 2013-01-13 15:29:36 da2ce7_d has quit (Ping timeout: 265 seconds)
443 2013-01-13 15:32:53 grau has quit (Remote host closed the connection)
444 2013-01-13 15:34:03 grau has joined
445 2013-01-13 15:34:12 b4epoche has quit (Ping timeout: 276 seconds)
446 2013-01-13 15:34:26 b4epoche has joined
447 2013-01-13 15:35:30 rdponticelli has quit (Ping timeout: 276 seconds)
448 2013-01-13 15:37:35 zooko` has joined
449 2013-01-13 15:38:16 zooko has quit (Ping timeout: 252 seconds)
450 2013-01-13 15:41:36 emryss has quit (Ping timeout: 248 seconds)
451 2013-01-13 15:43:45 JDuke128 has quit (Quit: ["Textual IRC Client: www.textualapp.com"])
452 2013-01-13 15:45:52 zooko`` has joined
453 2013-01-13 15:47:05 zooko` has quit (Ping timeout: 264 seconds)
454 2013-01-13 15:52:00 Joric has joined
455 2013-01-13 15:54:22 _flow_ has quit (Quit: WeeChat 0.3.9.1)
456 2013-01-13 15:55:55 rdponticelli has joined
457 2013-01-13 15:56:11 zooko`` has quit (Ping timeout: 265 seconds)
458 2013-01-13 15:57:27 _flow_ has joined
459 2013-01-13 16:01:31 emryss has joined
460 2013-01-13 16:04:14 rdymac has quit (Quit: Saliendo)
461 2013-01-13 16:11:56 GMP has joined
462 2013-01-13 16:14:25 pecket has quit (Read error: No route to host)
463 2013-01-13 16:19:18 pecket has joined
464 2013-01-13 16:19:58 grau has quit (Remote host closed the connection)
465 2013-01-13 16:30:08 da2ce7_d has joined
466 2013-01-13 16:32:03 grau has joined
467 2013-01-13 16:32:10 da2ce7 has quit (Ping timeout: 252 seconds)
468 2013-01-13 16:35:20 owowo has joined
469 2013-01-13 16:36:40 grau has quit (Ping timeout: 252 seconds)
470 2013-01-13 16:50:29 zooko has joined
471 2013-01-13 16:55:01 JDuke128 has joined
472 2013-01-13 16:58:35 JZavala has quit (Ping timeout: 255 seconds)
473 2013-01-13 17:00:38 daybyter has quit (Quit: Konversation terminated!)
474 2013-01-13 17:09:22 Joric has quit ()
475 2013-01-13 17:26:10 da2ce7_d has quit (Ping timeout: 252 seconds)
476 2013-01-13 17:29:13 freakazoid has joined
477 2013-01-13 17:40:06 grau has joined
478 2013-01-13 17:41:48 debiantoruser has quit (Ping timeout: 264 seconds)
479 2013-01-13 17:43:00 freakazoid has quit (Ping timeout: 272 seconds)
480 2013-01-13 17:43:31 debiantoruser has joined
481 2013-01-13 17:59:00 <gmaxwell> so... the validation stuff seems to have failed me. :(
482 2013-01-13 17:59:11 <quaggy> go screw you and GTFO
483 2013-01-13 17:59:48 <kjj> persistent little bugger, ain't he?
484 2013-01-13 18:00:05 <gmaxwell> sipa: I let a 0.8 node run out of space, which was previously corrupting the database...
485 2013-01-13 18:00:08 <gmaxwell> on restart:
486 2013-01-13 18:00:09 <gmaxwell> 2013-01-13 17:41:06 LoadBlockIndex(): last block file: CBlockFileInfo(blocks=384, size=66278278, heights=215978..216360, time=2013-01-10..2013-01-13)
487 2013-01-13 18:00:12 <gmaxwell> 2013-01-13 17:41:06 LoadBlockIndex(): hashBestChain=000000000000020968853285ef5d297b619d5b47768acd082031a6d4ef285c7b  height=216359 date=2013-01-13 11:40:47
488 2013-01-13 18:00:15 <gmaxwell> 2013-01-13 17:41:06 Verifying last 2500 blocks at level 3
489 2013-01-13 18:00:18 <gmaxwell> 2013-01-13 17:41:18 No coin database inconsistencies in last 155 blocks (56382 transactions)
490 2013-01-13 18:00:21 <gmaxwell> 2013-01-13 17:41:18  block index           14062ms
491 2013-01-13 18:00:22 <gmaxwell> 2013-01-13 17:41:23 InvalidChainFound: invalid block=000000000000034b30fc19ce2fa7ea30bbbb315dcf9b47733e1a4f3c20ac952a  height=216361  work=717816678152387149846  date=2013-01-13 11:50:46
492 2013-01-13 18:00:22 <muhoo> use bitcoinj or one of the bitcoin implementations that uses bounded disk and memory
493 2013-01-13 18:00:26 <gmaxwell> 2013-01-13 17:41:23 InvalidChainFound:  current best=000000000000020968853285ef5d297b619d5b47768acd082031a6d4ef285c7b  height=216359  work=717788764308071481624  date=2013-01-13 11:40:47
494 2013-01-13 18:00:40 <muhoo> there's one for c too, i don't remember who was writing it, someone in here
495 2013-01-13 18:00:53 <gmaxwell> muhoo: Who are you and why are you trolling?
496 2013-01-13 18:01:12 <gmaxwell> muhoo: I'm doing this _intentionally_. Perhaps you've missed it, but you are in the development channel?
497 2013-01-13 18:01:14 <muhoo> i'm not, i'm responding to the guy who was complaining about memory usage
498 2013-01-13 18:01:17 <sipa> i think muhoo just misses some context :)
499 2013-01-13 18:01:47 <sipa> gmaxwell: damn, that's bad news
500 2013-01-13 18:01:49 <muhoo> yeah, i'm doing bitcoin develompment too. i'm using bitcoinj because i need to run it on a vps with 512MB RAM :-)
501 2013-01-13 18:02:17 <muhoo> nice library, btw, if anyone here worked on it, thanks
502 2013-01-13 18:02:26 <sipa> muhoo: TD and BlueMatt
503 2013-01-13 18:02:36 <sipa> and probably others
504 2013-01-13 18:02:39 <gmaxwell> muhoo: whos complaining about memory usage?
505 2013-01-13 18:03:37 <gmaxwell> sipa: I'll let it happen again, and then snapshot it so the bad state is reproducable.
506 2013-01-13 18:03:52 <gmaxwell> I honestly expected the validation to work so I didn't bother.
507 2013-01-13 18:04:28 porquilho has joined
508 2013-01-13 18:05:07 valparaiso has quit (Quit: valparaiso)
509 2013-01-13 18:06:36 geb has quit (Excess Flood)
510 2013-01-13 18:06:51 <gmaxwell> muhoo: perhaps it doesn't matter to your usage, but you can run the reference client on a 512mb system too. You just need to limit the maximum connections (/disable listening) or turn the socktet buffers down. Thought it's probably not the best choice for a limited system.
511 2013-01-13 18:07:15 geb has joined
512 2013-01-13 18:07:16 geb has quit (Excess Flood)
513 2013-01-13 18:07:55 geb has joined
514 2013-01-13 18:08:00 <sipa> gmaxwell: does it report an actual error?
515 2013-01-13 18:08:21 <sipa> because maybe it just failed validation because it couldn't write to disk, and then marked the chain as invalid
516 2013-01-13 18:09:15 <gmaxwell> Nope no actual error. Just recieved / invalid.
517 2013-01-13 18:09:35 <sipa> then i think that's what happened
518 2013-01-13 18:10:01 <sipa> a failed write to the database shouldn't cause validation to report failure
519 2013-01-13 18:10:04 <sipa> it should just abort
520 2013-01-13 18:11:15 * Scrat is considering making a 16x16 sipa smiley face icon
521 2013-01-13 18:11:27 <sipa> ?
522 2013-01-13 18:11:34 <Scrat> github photo :D
523 2013-01-13 18:11:48 <gmaxwell> I wish leveldb could be made to preallocate.
524 2013-01-13 18:13:12 <sipa> gmaxwell: in txdb.cpp try changing a line to: pindexNew->nStatus        = diskindex.nStatus & ~BLOCK_FAILED_MASK;
525 2013-01-13 18:13:18 <sipa> (which line is obvious,i guess)
526 2013-01-13 18:14:27 <gmaxwell> k
527 2013-01-13 18:17:02 <gmaxwell> we should probably also trigger a shutdown if the the database write fails.
528 2013-01-13 18:17:50 <sipa> yes, that's what i mean by abort :)
529 2013-01-13 18:19:01 <jgarzik_> I'm sure leveldb can be made to do anything we want :)
530 2013-01-13 18:19:04 jgarzik_ is now known as jgarzik
531 2013-01-13 18:19:20 bitafterbit has joined
532 2013-01-13 18:19:29 <grau> gmaxwell: run the bitcoinj tests with bitsofproof and have a lots of observations, besides that I know bitsofproof does branching correctly
533 2013-01-13 18:19:55 geb has quit (Excess Flood)
534 2013-01-13 18:20:00 <sipa> gmaxwell: calculating a safe upper limit on the effect of a leveldb write shouldn't be that hard
535 2013-01-13 18:20:04 <jgarzik> "bitafterbit" sounds like a Bitcoin soap opera
536 2013-01-13 18:20:36 geb has joined
537 2013-01-13 18:20:44 <jgarzik> on leveldb: it creates files, and so preallocation would involve fsync()'ing some files into place
538 2013-01-13 18:21:04 <gmaxwell> sipa: well, thats not quite sufficient. because something else could use the space in between you measuring and writing.
539 2013-01-13 18:21:33 <sipa> gmaxwell: well, we should deal graciously with a failed db write in any case
540 2013-01-13 18:22:41 <bitafterbit> :-)
541 2013-01-13 18:22:57 <gmaxwell> well, hopefully leveldb survives them. I was thinking it didn't— but it seems that I don't yet have evidence of that.
542 2013-01-13 18:23:40 <jgarzik> In general, Google software of the past was written to crash upon any error, and they did not spend much time on recoverability, because that was handled at a higher level.
543 2013-01-13 18:23:54 <jgarzik> Not saying this leveldb implementation behaves that way, but it is something to watch for
544 2013-01-13 18:25:04 JZavala has joined
545 2013-01-13 18:27:27 <gmaxwell> Everyone's error cases are undertested, not just google. ... that why I'm testing stupid stuff like running it out of disk.
546 2013-01-13 18:29:17 geb has quit (Excess Flood)
547 2013-01-13 18:29:56 geb has joined
548 2013-01-13 18:29:56 geb has quit (Excess Flood)
549 2013-01-13 18:30:36 geb has joined
550 2013-01-13 18:30:36 geb has quit (Excess Flood)
551 2013-01-13 18:30:56 geb has joined
552 2013-01-13 18:30:56 geb has quit (Excess Flood)
553 2013-01-13 18:31:36 geb has joined
554 2013-01-13 18:31:37 geb has quit (Excess Flood)
555 2013-01-13 18:31:55 geb has joined
556 2013-01-13 18:31:59 <grau> bitcoinj and bitcoind accepts double spends in blocks shorter than the longest chain and only uncovers and rejects them as they move to longer chain. Checks are therefore more complex than they need to. Poor design.
557 2013-01-13 18:33:40 <sipa> you do full validation on every block, even those that are sure not to be part of the best chain?
558 2013-01-13 18:33:42 <jgarzik> Years ago (may have changed since then), Google wrote in their research papers that they made a high level that crashing upon anything abnormal was easier for them.  Higher level software would notice the crash and route around it.  Repeated crashes would get investigated with debugging, etc.
559 2013-01-13 18:33:58 <jgarzik> Nothing wrong with that logic, but it means the software itself is not written to be recoverable at a micro level
560 2013-01-13 18:34:05 <jgarzik> when handled at the macro level
561 2013-01-13 18:34:28 <grau> sipa: the bitcoinj blocktester clearly manages to store an orphan with double spend, that only gets rejected as it grows to be the longer path
562 2013-01-13 18:34:37 <phantomcircuit> jgarzik, that's basically the principle intersango was built to also
563 2013-01-13 18:34:45 <sipa> grau: that's completely expected
564 2013-01-13 18:35:01 <phantomcircuit> the main issue is external data sources change and things break... but that's better than the alternative usually
565 2013-01-13 18:35:31 <grau> sipa: the result is the same, but bitsofproof does this more eregantly, rejecting the double spending block even before it gets longer
566 2013-01-13 18:35:46 <grau> elegant i mean :)
567 2013-01-13 18:35:54 <sipa> grau: so, i can send you tons of side chains at very low difficulty, with very expensive checks
568 2013-01-13 18:36:07 <sipa> grau: and you'll spend CPU validating them
569 2013-01-13 18:36:14 <jgarzik> so, my main point is that we must be aware that Google-written software might be written in a way that is best for them, but not for us ;p
570 2013-01-13 18:36:27 <jgarzik> and the area of crashing is definitely one of those areas
571 2013-01-13 18:36:36 <sipa> grau: also, it requires you to be able to calculate the UTXO set at any point in history
572 2013-01-13 18:36:47 <grau> yes I do
573 2013-01-13 18:36:59 <sipa> grau: which is easy if you store the entire history, but a burden
574 2013-01-13 18:37:07 <sipa> and incompatible with pruning anyhow
575 2013-01-13 18:37:19 <grau> I do not store but able to imply UTXO at every time point
576 2013-01-13 18:37:51 <grau> The trick is I know UTXO at the longest chain and calculate the delta I need to walk to whatever branch point I want to
577 2013-01-13 18:38:32 <grau> usually I only walk 2 nodes back and forth to derive UTXO for a different branch
578 2013-01-13 18:38:33 <sipa> grau: is this delta for the entire UTXO set, or just for the txids in it that are requested?
579 2013-01-13 18:39:06 <grau> the entire UTXO is a single hashmap, the delta is a delta hash map on top of that
580 2013-01-13 18:39:48 <sipa> so, if i send you a block with branches off block 1000, let's say, you'd need to build a delta that rewinds everything?
581 2013-01-13 18:39:51 <sipa> in ram?
582 2013-01-13 18:40:22 <grau> well, I limit connecting more than 100 blocks back, but yes in principle I would build a big delta
583 2013-01-13 18:40:45 <sipa> right
584 2013-01-13 18:41:05 <sipa> you may consider it more elegant, but it's certainly more efficient to only validate things when they need to be validated
585 2013-01-13 18:41:37 <sipa> gmaxwell: ewwww :S
586 2013-01-13 18:42:00 <sipa> gmaxwell: i just tried building a 32-bit and 64-bit bitcoind (hal+parallel+leveldb17)
587 2013-01-13 18:42:08 <grau> elegant since it is easier to see and check that its correct, but yes I might rewert to bitcoind/j solution if performance forces me to do so
588 2013-01-13 18:42:24 <sipa> the 32-bit version is around 5x slower in verifying signatures
589 2013-01-13 18:42:32 <phantomcircuit> gmaxwell, you really cant reasonably run < 0.8 on a memory limited system
590 2013-01-13 18:42:48 <gmaxwell> phantomcircuit: sure you can.
591 2013-01-13 18:42:58 <phantomcircuit> you'll have 400 mb of resident memory which effectively means all io direct io
592 2013-01-13 18:43:08 <sipa> grau: i think you're exposing yourself to a lot of DoS attacks if you do checks eagerly
593 2013-01-13 18:43:11 <phantomcircuit> the disk ends up getting thrashed
594 2013-01-13 18:43:35 <phantomcircuit> sipa, eager checking isn't a bad idea as long as it's done with low priority
595 2013-01-13 18:43:37 <sipa> grau: bitcoind intentionally does verification in many stages, with the cheaper checks first
596 2013-01-13 18:43:38 <gmaxwell> phantomcircuit: I have it running on a 512m machine here fine.
597 2013-01-13 18:43:44 <grau> sipa: its a valid point I will think about it
598 2013-01-13 18:44:04 <phantomcircuit> gmaxwell, without anything else using disk time?
599 2013-01-13 18:44:07 <grau> sipa: I am into getting it right before optimizing
600 2013-01-13 18:45:00 <grau> I am targeting the server either, so performance can be adressed with hardware temporarily, what counts is that its correct and serves business
601 2013-01-13 18:45:25 <sipa> gmaxwell: 0.9ms/txin on 32 bit, 0.18ms/txin on 64 bit...
602 2013-01-13 18:45:30 <sipa> both with 8 threads
603 2013-01-13 18:45:39 <gmaxwell> sipa: seems odd.
604 2013-01-13 18:46:43 <sipa> single threaded: 2.5ms/txin vs 0.44ms/txin
605 2013-01-13 18:48:30 <sipa> perhaps the assembly-optimized EC code in OpenSSL is very different?
606 2013-01-13 18:50:49 rdymac has joined
607 2013-01-13 18:52:34 <grau> sipa: btw, I also do cheap check first, so to flood me with double spending orphans you would have to spend a lot of POW, that is pointless.
608 2013-01-13 18:52:44 <sipa> grau: good
609 2013-01-13 18:54:46 JDuke128 has quit (Quit: ["Textual IRC Client: www.textualapp.com"])
610 2013-01-13 18:56:28 Cory has quit (Ping timeout: 265 seconds)
611 2013-01-13 18:59:32 Cory has joined
612 2013-01-13 19:00:28 zooko has quit (Remote host closed the connection)
613 2013-01-13 19:01:13 sgornick has joined
614 2013-01-13 19:16:07 rdymac has quit (Quit: This computer has gone to sleep)
615 2013-01-13 19:17:12 BurtyBB has joined
616 2013-01-13 19:19:51 [7] has quit (Disconnected by services)
617 2013-01-13 19:20:00 TheSeven has joined
618 2013-01-13 19:21:37 Jouke_ has joined
619 2013-01-13 19:22:01 erska_ has joined
620 2013-01-13 19:22:03 phungus_ has joined
621 2013-01-13 19:22:22 topi`_ has joined
622 2013-01-13 19:25:41 Evilmax has joined
623 2013-01-13 19:26:47 <muhoo> by the way, it's basically "hello world" but it works: http://184.154.36.77
624 2013-01-13 19:27:21 zooko has joined
625 2013-01-13 19:28:36 rdponticelli has quit (Quit: No Ping reply in 180 seconds.)
626 2013-01-13 19:29:12 rdponticelli has joined
627 2013-01-13 19:29:36 Eliel has joined
628 2013-01-13 19:35:46 cheebydi has quit (Ping timeout: 245 seconds)
629 2013-01-13 19:38:33 cheebydi has joined
630 2013-01-13 19:40:57 <Luke-Jr> muhoo: huh?
631 2013-01-13 19:41:42 <muhoo> oh, duh, wrong link
632 2013-01-13 19:41:46 <muhoo> http://spazcoin.bamfic.com
633 2013-01-13 19:42:10 topi`_ is now known as topi`
634 2013-01-13 19:43:03 <muhoo> damn _ Host: dispatching in nginx not set up right yet :-)
635 2013-01-13 19:43:14 <Luke-Jr> muhoo: would be nice not to show it as "from" - that makes people think Bitcoin transactions have a from address :/
636 2013-01-13 19:43:42 <muhoo> that's the output of .toString on a Transaction object in bitcoinj. it's really crude
637 2013-01-13 19:44:00 <Luke-Jr> oh, TD[gone]'s fault then ;)
638 2013-01-13 19:45:27 <muhoo> huh, now i wonder what that "from" address really means
639 2013-01-13 19:46:50 <muhoo> i don't need that anyway. this will eventually be a storefront. i know they exist already, but this one will be mine (and written in clojure)
640 2013-01-13 19:47:36 b4epoche has quit (Ping timeout: 252 seconds)
641 2013-01-13 19:48:04 <muhoo> but that server is cranking along and hasn't gotten abouve 300MB RAM usage yet, so, this part of the experiment has been successful
642 2013-01-13 19:49:23 b4epoche has joined
643 2013-01-13 19:49:40 <Luke-Jr> muhoo: no doubt it's the address that received the coin last
644 2013-01-13 19:50:57 TD has joined
645 2013-01-13 19:53:54 Someguy1234 has joined
646 2013-01-13 19:55:09 novusordo has quit (Read error: Operation timed out)
647 2013-01-13 19:56:20 Diapolo has joined
648 2013-01-13 20:00:22 <Diapolo> sipa: what was the git command to rebase your sipa/leveldb17 branch with my local one?
649 2013-01-13 20:00:58 <sipa> ?
650 2013-01-13 20:01:23 <Diapolo> I have a remote called sipa, which points to your repo and have a local leveldb17 branch
651 2013-01-13 20:01:33 <Diapolo> how can I rebase in one command.... you helped the last time ^^
652 2013-01-13 20:01:36 <petertodd> my plan is to only make that by-pass happen at startup, although, you know that means if you can shift a node's time, then cause it to crash, you can deanon...
653 2013-01-13 20:02:22 <sipa> Diapolo: what do you want to rebase on top of what?
654 2013-01-13 20:02:59 <Diapolo> your updated leveldb17 that I fetched ontop of my local one
655 2013-01-13 20:03:15 <sipa> you shouldn't be rebasing my branches
656 2013-01-13 20:03:53 <sipa> do you want to update your local leveldb17 branch to be identical to my leveldb17 branch?
657 2013-01-13 20:04:04 <Diapolo> perhaps I'm unable to express what I want, I just need your recent branch in my local repo ^^
658 2013-01-13 20:04:08 <Diapolo> right
659 2013-01-13 20:04:10 <sipa> or do you have local changes on top of that that you want to rebase on top of it
660 2013-01-13 20:04:14 <Diapolo> what you said
661 2013-01-13 20:04:14 <sipa> oh
662 2013-01-13 20:04:26 <sipa> git fetch sipa; git checkout leveldb17; git reset --hard sipa/leveldb17
663 2013-01-13 20:04:38 <Diapolo> THAT'S IT, thanks :)
664 2013-01-13 20:07:16 <Diapolo> I always take a look at the latest changes in there and compile it
665 2013-01-13 20:07:22 grau has quit (Remote host closed the connection)
666 2013-01-13 20:07:25 EPiSKiNG- has quit (Ping timeout: 246 seconds)
667 2013-01-13 20:07:47 <Diapolo> sipa: btw. you are still using -DWINVER=0x0500 instead of -DWINVER=0x0501
668 2013-01-13 20:08:06 <sipa> is that a problem?
669 2013-01-13 20:09:02 <sipa> so the leveldb stuff can run on windows 2000
670 2013-01-13 20:10:06 <Diapolo> why should it, we require WinXP for the client anyway, as I said
671 2013-01-13 20:10:32 <Diapolo> sipa: see allocators.h for example
672 2013-01-13 20:12:36 <sipa> Diapolo: maybe if we ever want to push our changes to leveldb upstream
673 2013-01-13 20:12:38 <sipa> dunno
674 2013-01-13 20:12:58 <sipa> if there's nothing in 0x0501 we need, there's no need to require it
675 2013-01-13 20:14:23 <Diapolo> I thought it would be nice to leave out such a legacy support for SUCH an old OS...
676 2013-01-13 20:14:33 DamascusVG has joined
677 2013-01-13 20:14:33 DamascusVG has quit (Changing host)
678 2013-01-13 20:14:33 DamascusVG has joined
679 2013-01-13 20:14:48 <Diapolo> perhaps it get's faster with 0x0501 or uses later / newer / more robust APIs, dunno
680 2013-01-13 20:15:03 <sipa> no, it simply selects the requirements
681 2013-01-13 20:15:07 Evilmax has quit (Ping timeout: 246 seconds)
682 2013-01-13 20:15:15 <sipa> all windows APIs are backward compatible anyway
683 2013-01-13 20:16:47 <Diapolo> backward is true, but not forward... well no need to argue further, if you don't want to change it :)
684 2013-01-13 20:17:18 grau has joined
685 2013-01-13 20:18:03 reizuki__ has quit (Quit: Konversation terminated!)
686 2013-01-13 20:18:34 <Diapolo> I'm looking at your latest testbuild, libssp-0.dll dependency is gone, will now see if it works as expected
687 2013-01-13 20:21:11 <Diapolo> sipa: build is looking good, the error I had with my local build and the RPC console is not reproducible
688 2013-01-13 20:21:45 <etotheipi_> can someone answer a dumb question for me?  when you get data through a JSON-RPC call, is everything sent over the wire as strings?  like are integers like 12 encoded as binary integers, or just "12"?
689 2013-01-13 20:22:28 <etotheipi_> I mean, these libraries are coercing data types for me and I can't tell what's going in and coming out
690 2013-01-13 20:22:34 <sipa> etotheipi_: json is the encoding
691 2013-01-13 20:22:42 <sipa> etotheipi_: so over the wire it's a decimal string
692 2013-01-13 20:23:00 <etotheipi_> okay, that's what I thought
693 2013-01-13 20:23:03 <sipa> libraries convert it to/from a native number type if needed
694 2013-01-13 20:23:24 <sipa> and json doesn't even specify what the requirements/properties of that number type are
695 2013-01-13 20:23:55 <etotheipi_> so the code samples I have use decimal.Decimal, but I have my own coin2str and str2coin.... so there's no reason not to just pass a coin2str(amt) on one side and pull it out str2coin(recvd) on the other
696 2013-01-13 20:24:06 <etotheipi_> ...?
697 2013-01-13 20:24:45 <sipa> i have no idea what you're asking
698 2013-01-13 20:24:54 <etotheipi_> actually what I'm asking is:  it doesn't matter if I cram a python integer into the json structure, or a string
699 2013-01-13 20:24:57 <etotheipi_> ?
700 2013-01-13 20:25:02 <sipa> sure it does
701 2013-01-13 20:25:10 <sipa> if you send a string, it will send a string
702 2013-01-13 20:25:22 <sipa> i.e. "12" in the encoding, including the "
703 2013-01-13 20:25:31 <sipa> if you send a number, it will send a number
704 2013-01-13 20:25:34 grau has quit (Ping timeout: 244 seconds)
705 2013-01-13 20:25:34 twixed has joined
706 2013-01-13 20:25:38 <etotheipi_> so JSON distinguishes the two?
707 2013-01-13 20:25:41 <sipa> yes
708 2013-01-13 20:25:51 <etotheipi_> okay, so there's serialization fields I'm not seeing
709 2013-01-13 20:25:56 <sipa> JSON has bool, number, string, array, hash
710 2013-01-13 20:26:14 <sipa> well, s/hash/map/
711 2013-01-13 20:26:25 <sipa> they call it object, i think
712 2013-01-13 20:26:25 <etotheipi_> I wasn't sure if everything is just passed as raw strings and you have to figure it out on your own
713 2013-01-13 20:26:34 Someguy1234 is now known as Someguy123
714 2013-01-13 20:26:51 <BlueMatt> sipa: was your build at 1674 gitian?
715 2013-01-13 20:26:59 <sipa> BlueMatt: yes
716 2013-01-13 20:27:00 <etotheipi_> so I should be handing it floats?
717 2013-01-13 20:27:03 <BlueMatt> damn
718 2013-01-13 20:27:08 <sipa> BlueMatt: why?
719 2013-01-13 20:27:23 <BlueMatt> means i have more work to do on pull-tester
720 2013-01-13 20:27:23 <sipa> etotheipi_: probably, unfortunately
721 2013-01-13 20:27:35 ThomasV has joined
722 2013-01-13 20:27:42 <etotheipi_> sipa: thanks
723 2013-01-13 20:27:51 <etotheipi_> I'm a total networking/JSON retard
724 2013-01-13 20:28:06 <etotheipi_> up until a week ago, I don't think I'd ever used a JSON/RPC interface once
725 2013-01-13 20:28:31 datagutt has quit (Quit: kthxbai)
726 2013-01-13 20:28:59 <sipa> BlueMatt: -lQtTest missing?
727 2013-01-13 20:30:46 <Scrat> all numbers (even integers) are 64bit doubles in javascript
728 2013-01-13 20:30:50 <Scrat> ohhh JS is fun
729 2013-01-13 20:31:03 <sipa> Scrat: JSON doesn't specify that
730 2013-01-13 20:31:11 <sipa> it just says it's "numbers"
731 2013-01-13 20:34:02 Guest41620 has joined
732 2013-01-13 20:34:44 <Scrat> yeah I'm talking internally
733 2013-01-13 20:34:58 <Scrat> which is the rational for having just a "number" data type
734 2013-01-13 20:36:00 debiantoruser has quit (Ping timeout: 252 seconds)
735 2013-01-13 20:36:05 <TD> one of many reasons json is not excellent
736 2013-01-13 20:36:16 Guest41620 has quit (Remote host closed the connection)
737 2013-01-13 20:37:37 <Scrat> json done right: http://bsonspec.org/
738 2013-01-13 20:37:48 debiantoruser has joined
739 2013-01-13 20:38:06 copumpkin has quit (Ping timeout: 264 seconds)
740 2013-01-13 20:38:40 copumpkin has joined
741 2013-01-13 20:38:47 <sipa> Scrat: totally different purpose
742 2013-01-13 20:39:21 EPiSKiNG- has joined
743 2013-01-13 20:44:00 copumpkin has quit (Ping timeout: 248 seconds)
744 2013-01-13 20:44:42 copumpkin has joined
745 2013-01-13 20:48:28 BurtyBB is now known as BurtyB
746 2013-01-13 20:50:38 <etotheipi_> let's say someone has a bunch of code for talking to bitcoind and have already written scripts to process the return values.... can my interface add extra/new keys to the maps without breaking their stuff?
747 2013-01-13 20:51:07 <etotheipi_> I assume the intention was to pass back a bunch of named fields and the user uses what they want, correct?
748 2013-01-13 20:52:10 <etotheipi_> (though, I'm sure someone, somewhere decided that was too complicated and just converted them to a list and access by index)
749 2013-01-13 20:52:34 <sipa> adding fields is not a problem
750 2013-01-13 20:57:47 <etotheipi_> sipa: where are the bitcoind RPC commands specified?  I need to figure out some subtleties and I'm sure you don't want me flooding this chat with the questions
751 2013-01-13 20:58:47 <sipa> in the code, you mean?
752 2013-01-13 20:59:23 <etotheipi_> yeah... I want to see what it does in strange situations, like what "address" it uses if multiple addr in the wallet are receiving in the same command
753 2013-01-13 20:59:48 igetgames_ has joined
754 2013-01-13 21:00:23 <sipa> src/rpc*.cpp
755 2013-01-13 21:00:53 egecko has joined
756 2013-01-13 21:02:02 <etotheipi_> gah!  {..., "fee": -0.00050000000000000001,  ...}
757 2013-01-13 21:03:09 <sipa> a programmer once a had a problem; he decided to use floating point numbers to solve it; now he has 1.9999997 problems
758 2013-01-13 21:03:32 igetgames__ has joined
759 2013-01-13 21:03:39 igetgames_ has quit (Client Quit)
760 2013-01-13 21:03:42 igetgames__ has quit (Read error: Connection reset by peer)
761 2013-01-13 21:03:45 igetgames has quit (Ping timeout: 276 seconds)
762 2013-01-13 21:03:58 <etotheipi_> heh
763 2013-01-13 21:04:02 igetgames has joined
764 2013-01-13 21:04:12 <sipa> etotheipi_: altough in this case, 21M*10^8 is below 2^53, so a bitcoin amount expressed as a double always has enough precision
765 2013-01-13 21:04:41 <sipa> which is maybe a coincidence, and maybe the reason why there are exactly that amount of bitcoins max :p
766 2013-01-13 21:06:02 <etotheipi_> heh, I saw that post
767 2013-01-13 21:06:08 <etotheipi_> that was interesting
768 2013-01-13 21:06:46 <etotheipi_> is there a guarantee that it will actually be stored exactly?
769 2013-01-13 21:07:31 <gmaxwell> Yes.
770 2013-01-13 21:07:41 igetgames has quit (Read error: Connection reset by peer)
771 2013-01-13 21:07:48 <sipa> you can't store even 0.1 exactly in a 2-based floating point number
772 2013-01-13 21:07:55 <gmaxwell> — well, all software is broken, so, you know… only as much guarantee that you'll ever get.
773 2013-01-13 21:08:03 igetgames has joined
774 2013-01-13 21:08:22 <sipa> but there is always information enough to reconstruct the original, if you knew it was an exact multiple of 1e-8
775 2013-01-13 21:08:27 <etotheipi_> sipa: I meant, is there a guarantee that if I give it an integer between -21,000,000e8 and +21,000,000e8 that it will be stored exactly
776 2013-01-13 21:08:47 <sipa> yes
777 2013-01-13 21:08:52 <sipa> but that's not what you're doing
778 2013-01-13 21:08:56 <etotheipi_> understood
779 2013-01-13 21:09:22 <sipa> 10M satoshi will be stored as a double closest to 01
780 2013-01-13 21:09:25 <sipa> eh 0.1
781 2013-01-13 21:10:39 brwyatt is now known as Away!~brwyatt@brwyatt.net|brwyatt
782 2013-01-13 21:12:28 <TD> it doesn't make sense to ever represent bitcoin amounts as doubles
783 2013-01-13 21:12:33 <TD> that's like financial software 101
784 2013-01-13 21:12:43 <etotheipi_> I agree...
785 2013-01-13 21:12:50 <TD> especially it doesn't make sense in a system like bitcoin where the resolution is known ahead of time and fixed ....
786 2013-01-13 21:12:55 <etotheipi_> which was why I was just about to ask why we're passing values over json as doubles
787 2013-01-13 21:13:43 <etotheipi_> and is my "0.00050000000000001"  really just a display problem?  I mean, there's nothing I really do to "fix" this other than just round to the 8th decimal place before printing to screen... correct?
788 2013-01-13 21:14:12 CeidaFighter has joined
789 2013-01-13 21:14:24 <sipa> etotheipi_: that will not help
790 2013-01-13 21:14:48 <etotheipi_> sipa: yeah, I didn't mean "round" in float
791 2013-01-13 21:14:50 <sipa> 0.00050000000000001 is likely the closest double to the real number 0.0005
792 2013-01-13 21:15:07 <etotheipi_> I meant figuratively round
793 2013-01-13 21:15:21 RainbowDashh has joined
794 2013-01-13 21:15:22 <etotheipi_> which in this case I guess is just converting to 8 decimal places and truncating
795 2013-01-13 21:15:34 <etotheipi_> err... converting to string
796 2013-01-13 21:15:45 <sipa> just multiply by 100000000 and round to the nearest integer
797 2013-01-13 21:16:02 rdymac has joined
798 2013-01-13 21:16:11 <etotheipi_> that's what my str2coin(coin2str(amt)) will do
799 2013-01-13 21:16:36 <etotheipi_> okay, I got it
800 2013-01-13 21:16:44 <etotheipi_> I just wanted to make sure I understood
801 2013-01-13 21:17:18 Diapolo has left ()
802 2013-01-13 21:17:28 <etotheipi_> and I guess it's a little late to suggest we pass by long integers...
803 2013-01-13 21:17:45 <sipa> it's been proposed several times
804 2013-01-13 21:18:41 <sipa> and i'm still in favor of that, but together with a nice overhaul of all RPCs (uniform names, clear separation between wallet/blockchain/raw/network stuff, consistency...)
805 2013-01-13 21:18:58 <sipa> RPCv2
806 2013-01-13 21:20:44 <etotheipi_> oh, one question I don't know if I'll get from the RPC code... how are "accounts" determined?  is it whatever is used for "label" for the address in the GUI?  And if multiple address have the exact same label, they are the same "account"?  Or is it only an RPC thing?
807 2013-01-13 21:24:33 JZavala has quit (Ping timeout: 276 seconds)
808 2013-01-13 21:25:27 <andytoshi> etotheipi_: the accounts are a bookkeeping entity -- addresses associated to them update the account balance when money is received
809 2013-01-13 21:25:30 <andytoshi> but they exist independently
810 2013-01-13 21:25:53 <andytoshi> is that right, devs? i asked the same question a couple weeks ago and i think that's the answer i got
811 2013-01-13 21:26:51 <sipa> a receive to an address that has label X, will credit account X
812 2013-01-13 21:27:25 <sipa> for a send, you have to specify the debited account in the RPC; sendtoaddress always uses ""
813 2013-01-13 21:28:37 rlifchitz has quit (Ping timeout: 246 seconds)
814 2013-01-13 21:28:42 <etotheipi_> ack, that's annoying
815 2013-01-13 21:28:49 <sipa> how so?
816 2013-01-13 21:29:03 <etotheipi_> well, actually, this is all done programmatically, so I guess it isn't a real problem
817 2013-01-13 21:29:09 <Luke-Jr> etotheipi_: JSON doesn't have any such concept as doubles ;)
818 2013-01-13 21:29:33 <etotheipi_> I was just thinking about users having to remember (and having to not be lazy) to remember to specify which "account" they want to send from
819 2013-01-13 21:30:01 <sipa> i would suggest you do not implement accounts :)
820 2013-01-13 21:30:09 <etotheipi_> ooh, perfect
821 2013-01-13 21:30:13 <kjj> agreed.  accounts are more trouble than they are worth
822 2013-01-13 21:30:24 <etotheipi_> i was just sitting here planning out how to accommodate them
823 2013-01-13 21:30:25 <sipa> they are very useful for one specific purpose
824 2013-01-13 21:30:31 <etotheipi_> for now, I'll just use "wallet":  walletID
825 2013-01-13 21:30:31 <sipa> but confusing for every other use
826 2013-01-13 21:30:53 da2ce7 has joined
827 2013-01-13 21:33:46 <etotheipi_> and send amount apparently does not include fee...
828 2013-01-13 21:33:54 <etotheipi_> ?
829 2013-01-13 21:34:03 <etotheipi_> oh right ,I was going to go dig into rpc*.cpp
830 2013-01-13 21:38:47 da2ce7 has quit (Ping timeout: 260 seconds)
831 2013-01-13 21:39:11 da2ce7 has joined
832 2013-01-13 21:39:17 rlifchitz has joined
833 2013-01-13 21:39:18 rlifchitz has quit (Changing host)
834 2013-01-13 21:39:18 rlifchitz has joined
835 2013-01-13 21:41:53 <BlueMatt> sipa: actually its unwilling to admit that Qt* exists, but I havent found the time to really look too deeply
836 2013-01-13 21:45:25 novusordo has joined
837 2013-01-13 21:45:49 novusordo is now known as Guest67219
838 2013-01-13 21:47:18 larsig has quit (Ping timeout: 276 seconds)
839 2013-01-13 21:47:32 tonikt has quit (Quit: Leaving)
840 2013-01-13 21:50:13 Dyaheon has joined
841 2013-01-13 21:55:55 toffoo has joined
842 2013-01-13 22:02:02 rdymac has quit (Quit: This computer has gone to sleep)
843 2013-01-13 22:02:38 rdymac has joined
844 2013-01-13 22:03:52 grau has joined
845 2013-01-13 22:05:18 error4455 has joined
846 2013-01-13 22:06:21 Evilmax has joined
847 2013-01-13 22:06:23 Evilmax has quit (Changing host)
848 2013-01-13 22:06:23 Evilmax has joined
849 2013-01-13 22:07:11 rdymac has quit (Ping timeout: 255 seconds)
850 2013-01-13 22:08:12 Evilmax has left ()
851 2013-01-13 22:10:11 WolfAlex has joined
852 2013-01-13 22:10:11 WolfAlex_ has quit (Read error: Connection reset by peer)
853 2013-01-13 22:16:59 <etotheipi_> is there special treatment for sending your wallet passphrase over RPC?  it doesn't look like the passphrase is handled any differently than other data
854 2013-01-13 22:21:01 TD has quit (Quit: TD)
855 2013-01-13 22:21:06 ovidiusoft has quit (Ping timeout: 276 seconds)
856 2013-01-13 22:21:39 <etotheipi_> gmaxwell: ^^
857 2013-01-13 22:25:17 <sipa> etotheipi_: it's not
858 2013-01-13 22:27:03 <etotheipi_> even if you're on localhost, doesn't that open up a few more avenues for sniffing?
859 2013-01-13 22:27:42 <sipa> if the attacker has such access to your machine, he can likely sniff the crypto keys from memory too
860 2013-01-13 22:28:10 <etotheipi_> sipa: that's fine
861 2013-01-13 22:28:13 <sipa> or install a hacked bitcoind that sends the keys somewhere
862 2013-01-13 22:28:38 <etotheipi_> yeah yeah... I'm just trying to understand any incremental security details
863 2013-01-13 22:28:53 <etotheipi_> I mean, I was just reading the old discussion about permissions on bitcoin.conf
864 2013-01-13 22:29:21 <etotheipi_> and how at least if the person only is able to get access via some system process (not as you or root), they can't see the credentials
865 2013-01-13 22:29:55 <etotheipi_> I'm wondering if they can still see network traffic from your processes, though
866 2013-01-13 22:31:41 <grau> a better solution is not to have wallet and the p2p engine in the same process, the p2p  process should only receive signed transactions to relay
867 2013-01-13 22:32:12 <sipa> agree
868 2013-01-13 22:34:58 <grau> for that however you need a feed of validated transactions and chain events to the wallet process. I do that through a message bus that is both way authenticated.
869 2013-01-13 22:35:07 rdymac has joined
870 2013-01-13 22:36:07 zooko` has joined
871 2013-01-13 22:36:38 <sipa> the solution i'd like to see is have the wallet process function as an SPV client, and have it either connect to a (perhaps self spawned) validation node, or to the network directly
872 2013-01-13 22:37:53 zooko has quit (Ping timeout: 255 seconds)
873 2013-01-13 22:37:53 <andytoshi> agreed, i'd like to see the blockchain/validation split off and have no knowledge of privkeys
874 2013-01-13 22:38:12 <andytoshi> that would also make alternate clients less frightening to develop, since the blockchain is the Hard Part
875 2013-01-13 22:39:31 <grau> Wallet process as SPV is the proper solution for a smartphone. It would be an overkill if the Wallet can authenticate to the server and vica versa since both are owned by the same person (merchant)
876 2013-01-13 22:40:06 <sipa> it does mean you can easily choose and switch security level (and contribution to the network)
877 2013-01-13 22:40:44 <grau> yes, thats my saying. we need choice of configurations
878 2013-01-13 22:40:52 zooko`` has joined
879 2013-01-13 22:41:11 <sipa> if the wallet is SPV on itself, it can either function with or without the full validation
880 2013-01-13 22:41:47 <sipa> sure, it's a slight duplication - the block headers get processed twice
881 2013-01-13 22:41:54 <sipa> but compared to block validation that is tiny
882 2013-01-13 22:42:12 <sipa> but there are tons of other configurations possible of course
883 2013-01-13 22:42:17 <grau> There are added functions possible with authenticated channel that are not part of the P2P protocol
884 2013-01-13 22:42:24 zooko` has quit (Ping timeout: 264 seconds)
885 2013-01-13 22:42:32 <sipa> such as?
886 2013-01-13 22:43:10 <sipa> you could query the UTXO set, to optimize some wallet operations
887 2013-01-13 22:43:13 <grau> Query account balance e.g.
888 2013-01-13 22:43:33 <sipa> but those are things a wallet can perfectly track by itself
889 2013-01-13 22:45:00 <grau> For its own accounts yes, but eben there it needs lead time if was offline for a while
890 2013-01-13 22:45:07 <sipa> true
891 2013-01-13 22:45:31 <sipa> that's what bip37 is for
892 2013-01-13 22:45:41 one_zero has joined
893 2013-01-13 22:45:44 ThomasV has quit (Ping timeout: 272 seconds)
894 2013-01-13 22:45:51 <sipa> but yes, if you have rich indexes on your block chain data, and can trust those, you can speed things uup
895 2013-01-13 22:46:13 <sipa> that's what electrum uses, actually
896 2013-01-13 22:49:29 <grau> Authenticated channels and reduction of the p2p process to what it really need to be enables creating further services without touching the core in general. This is what I want to enable.
897 2013-01-13 22:51:54 zooko`` has quit (Read error: Operation timed out)
898 2013-01-13 22:52:05 zooko``` has joined
899 2013-01-13 22:52:13 d4de_ is now known as register
900 2013-01-13 22:52:20 register is now known as d4de
901 2013-01-13 22:52:54 Impaler has joined
902 2013-01-13 22:53:25 <grau> Assume I accept bitcoin for my services. How would you nowdays get the payments into your accounting ?
903 2013-01-13 22:56:58 <grau> sipa: How does in your opinion wordpress gets an incoming bitcoin payment into their SAP accounting ?
904 2013-01-13 22:58:12 <sipa> grau: i have no clue about business stuff
905 2013-01-13 22:58:25 <Cusipzzz> they get usd via bitpay
906 2013-01-13 22:58:30 ThomasV has joined
907 2013-01-13 22:59:12 <grau> sipa: I claim that for bitcoin to grow we need solutions for this, not just byassuming bitpay does it for them.
908 2013-01-13 22:59:25 <grau> and this is I work on.
909 2013-01-13 22:59:58 RazielZ has quit (Ping timeout: 246 seconds)
910 2013-01-13 23:00:05 <sipa> but for that you mostly need a powerful wallet - not so much a validation node
911 2013-01-13 23:00:38 <sipa> but yes, there is a lot of work to do on that front
912 2013-01-13 23:00:48 <grau> You need a validation code that is open for to interface into. It needs to broadcase verified transactions instead of asking me to poll
913 2013-01-13 23:01:03 <grau> *broadcast
914 2013-01-13 23:01:22 <grau> You need a store for transactions you can audit
915 2013-01-13 23:01:48 <grau> I am not doing a pointless reimplementation, please believe me
916 2013-01-13 23:02:41 <grau> It is sexy to deal with crypthography and performance, but that is not enough to get this economy growing
917 2013-01-13 23:03:21 <sipa> i focus on the stuff i'm confortable with - i'm sure others will do the same :)
918 2013-01-13 23:03:40 <sipa> and i don't think a reiplementation is pointless
919 2013-01-13 23:04:01 <grau> I do not argue, you do what you do best, just as I try
920 2013-01-13 23:04:08 rdymac has quit (Ping timeout: 252 seconds)
921 2013-01-13 23:05:36 <sipa> but if you want to enable business purposes, i don't think you need a full reimplementation
922 2013-01-13 23:06:26 <grau> I think that the bitcoind code is hopless.
923 2013-01-13 23:07:05 <sipa> well, that's the kind of reaction i expect from someone who isn't familiar enough with it
924 2013-01-13 23:07:20 <sipa> and sure, it's ugly code
925 2013-01-13 23:07:42 rdymac has joined
926 2013-01-13 23:07:50 <sipa> but it does work, and it has had to deal with tons of issues you won't think about when reimplementing
927 2013-01-13 23:08:18 <sipa> and we're improving it, bit by bit, albeit slowly
928 2013-01-13 23:08:50 da2ce7 has quit (Ping timeout: 244 seconds)
929 2013-01-13 23:08:59 <grau> It is a great proof of concept, and you do a great work on it.
930 2013-01-13 23:10:13 <grau> I believe it seriously hinders innovation since it fails to separate functions that are sensitive from those that should be configurable.
931 2013-01-13 23:10:38 error4455 has left ()
932 2013-01-13 23:11:38 zooko``` is now known as zooko
933 2013-01-13 23:13:15 <andytoshi> grau, a lot of work has been done in that direction over the last few years
934 2013-01-13 23:13:38 <andytoshi> modularity is good for everything, code-wise, and it is a design goal
935 2013-01-13 23:13:38 <grau> no doubt
936 2013-01-13 23:13:41 <andytoshi> at least implicitly
937 2013-01-13 23:13:58 CeidaFighter has quit (Quit: ["Textual IRC Client: www.textualapp.com"])
938 2013-01-13 23:14:32 <grau> modularity is the first priority I followed by creating my implementation
939 2013-01-13 23:15:19 <andytoshi> yeah, you've mentioned..can you give a quick summary of your implementation for me?
940 2013-01-13 23:15:28 <andytoshi> what language, state of development, links, etc
941 2013-01-13 23:15:56 <grau> https://github.com/bitsofproof/supernode
942 2013-01-13 23:16:03 <andytoshi> thx
943 2013-01-13 23:16:43 <grau> In summary it is Java, fully spring configurable, so you can plug in a relational database or leveldb for store just by configuration
944 2013-01-13 23:17:14 <grau> It separates p2p engine from all the rest using an authenticated message bus and RMI
945 2013-01-13 23:17:35 <andytoshi> cool, i like the concept
946 2013-01-13 23:17:36 <andytoshi> not a fan of java though
947 2013-01-13 23:17:47 <andytoshi> i'd like to see such a beast written in smalltalk
948 2013-01-13 23:17:50 <grau> it has a high level business oriented API not RPC for hacker
949 2013-01-13 23:18:10 <grau> My next one is in scala
950 2013-01-13 23:18:12 <grau> :)
951 2013-01-13 23:18:26 <andytoshi> haha, RPC is easy enough to translate, though i do with bitcoind would make that swappable
952 2013-01-13 23:18:32 * andytoshi goes to check out scala
953 2013-01-13 23:18:44 <andytoshi> wish*
954 2013-01-13 23:19:14 <grau> http://www.scala-lang.org
955 2013-01-13 23:20:32 <andytoshi> neato
956 2013-01-13 23:21:04 freakazoid has joined
957 2013-01-13 23:23:06 twixed is now known as fear_hardcore
958 2013-01-13 23:24:41 grau has quit (Remote host closed the connection)
959 2013-01-13 23:28:07 fear_hardcore has quit (Quit: Leaving)
960 2013-01-13 23:28:26 twixed has joined
961 2013-01-13 23:29:12 CodesInChaos has quit (Ping timeout: 264 seconds)
962 2013-01-13 23:34:12 debiantoruser has quit (Ping timeout: 252 seconds)
963 2013-01-13 23:34:41 <andytoshi> regarding smalltalk, i just found this lovely thing
964 2013-01-13 23:34:43 <andytoshi> https://github.com/sl4m/gnu_smalltalk_koans
965 2013-01-13 23:35:10 <andytoshi> you run 'script/run', and it goes through a series of small programs which fail, telling you to fix them
966 2013-01-13 23:35:14 <andytoshi> and you learn the language that way
967 2013-01-13 23:36:07 debiantoruser has joined
968 2013-01-13 23:38:29 <Cusipzzz> ;;tslb
969 2013-01-13 23:38:32 <gribble> Time since last block: 3 minutes and 38 seconds
970 2013-01-13 23:41:52 GMP has joined
971 2013-01-13 23:42:16 Impaler has quit (Read error: Connection reset by peer)
972 2013-01-13 23:44:26 Impaler has joined
973 2013-01-13 23:46:52 da2ce7 has joined
974 2013-01-13 23:47:27 TD[gone] has quit (Ping timeout: 245 seconds)