1 2012-04-22 01:29:33 <etotheipi_> gmaxwell, sipa, luke-jr:  for URI-parsing, I went looking at the "percent-encoding" scheme for guidance on reserved characters; it suggests that '-' is a reserved char, but one of the examples on the BIP page has "Luke-Jr" as a label.
  2 2012-04-22 01:30:03 <etotheipi_> are the Bitcoin URIs not strictly following percent-encoding?  or is that an error on the BIP page?
  3 2012-04-22 01:34:18 <luke-jr> etotheipi_: '-' is not reserved&
  4 2012-04-22 01:44:01 <etotheipi_> luke-jr: oh crap, I was looking at the "percent-encoding arbitrary data" section
  5 2012-04-22 01:44:49 <etotheipi_> luke-jr: sorry for the false alarm.  so to be clear, I should be following the "Precent-encoding reserved characters", correct?  (http://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_reserved_characters)
  6 2012-04-22 01:45:11 <luke-jr> etotheipi_: rather, you should be reading the actual RFC :p
  7 2012-04-22 01:45:44 <etotheipi_> well, okay... RFC 3986?
  8 2012-04-22 01:47:42 <etotheipi_> so are newlines allowed?
  9 2012-04-22 01:55:48 <etotheipi_> so is there a hex-form of the amount?
 10 2012-04-22 01:55:57 <etotheipi_> there's only decimal forms in the examples
 11 2012-04-22 01:58:41 <sipa> etotheipi_: those were removed in BIP 21
 12 2012-04-22 01:58:45 <sipa> no?
 13 2012-04-22 01:59:33 <etotheipi_> it's still listed in the BNF grammar rules:  https://en.bitcoin.it/wiki/URI_Scheme
 14 2012-04-22 01:59:50 <etotheipi_> s/rules/list/g
 15 2012-04-22 02:01:28 <sipa> why is there a copy of an outdated BIP on the wiki?
 16 2012-04-22 02:01:38 <splatster> [Tycho]: Will Deepbit -ever- start using sendmany?
 17 2012-04-22 02:01:55 <sipa> it even says that it's outdated and wrong
 18 2012-04-22 02:02:03 <sipa> please just delete it
 19 2012-04-22 02:02:11 <etotheipi_> sipa: SOB
 20 2012-04-22 02:02:20 <sipa> sob?
 21 2012-04-22 02:02:22 <etotheipi_> alright, looking at the correct one now
 22 2012-04-22 02:02:28 <etotheipi_> sipa: not you...
 23 2012-04-22 02:02:37 <etotheipi_> I'm just swearing because I have been digging through the wrong one for an hour
 24 2012-04-22 02:03:38 <splatster> Can we patch the client to not include 1vaynert TXs in the memory pool?
 25 2012-04-22 02:04:03 <splatster> And I'm actually completely serious.
 26 2012-04-22 02:04:05 <etotheipi_> who is that vaynert guy, anyway?
 27 2012-04-22 02:04:25 <splatster> etotheipi_: The 1Vaynert addy is that of deepbit
 28 2012-04-22 02:04:50 <splatster> and they refuse to change their code to use sendmany instead of taking up 27% of all the TXs in the network.
 29 2012-04-22 02:08:02 <splatster> etotheipi_: Small excerpt from #bitcoin-watch of their most recent payout: http://pastie.org/pastes/3831739/text
 30 2012-04-22 02:17:41 <etotheipi_> so there is no longer exponents used in any amounts in the URIs?
 31 2012-04-22 02:39:03 <luke-jr> etotheipi_: BIP 20 is the correct one. BIP 21 is just a poor attempt at trolling.
 32 2012-04-22 02:54:01 <etotheipi_> any reason you couldn't pass 50kB of data through a URI?
 33 2012-04-22 02:56:53 <deoxxa> it's silly?
 34 2012-04-22 02:58:15 <etotheipi_> I'm pondering if it would be possible to do signature collecting via URIs... but that could require moving a LOT of data through them
 35 2012-04-22 02:59:39 <gmaxwell> IE has a 64k limit on URLs IIRC.
 36 2012-04-22 03:00:26 <etotheipi_> user create new multi-sig-spend tx, signs it, then creates a BIP10 packet and encodes it into a URI "bitcoin:message=signthis&tx=<shitloadofdata>"
 37 2012-04-22 03:00:27 <gmaxwell> (I wanted to do some horrible thing involving embedding downloadable code in an HTML rendering of an RFC using datauris.. and it almost worked except for IE's size limit)
 38 2012-04-22 03:00:53 <etotheipi_> gmaxwell: you have experience with everything
 39 2012-04-22 03:01:01 <etotheipi_> thanks for being so resourceful! :)
 40 2012-04-22 03:01:38 <etotheipi_> actually... it might still work ,as long as it's simple multisig with only a few inputs
 41 2012-04-22 03:01:44 <gmaxwell> I think it might actually work for what you're suggesting, but you could potentially run into unpredictable falures when you had a lot of data.
 42 2012-04-22 03:01:55 <gmaxwell> yea... I was thinking basically the same thing.
 43 2012-04-22 03:02:27 <etotheipi_> but basically you click on the URI, the user is presented with the details of the multi-sig, then they sign it and it spits out another URI with their extra sig:  they copy it into a reply email
 44 2012-04-22 03:03:15 <gmaxwell> Instead it should embed the data in pictures of cats, and then the users can just forward around the cat pictures. This better matches the typical internet operational expirence.
 45 2012-04-22 03:03:26 <etotheipi_> gmaxwell: lol
 46 2012-04-22 03:03:35 <etotheipi_> steganography has its limits
 47 2012-04-22 03:03:44 <etotheipi_> at least if you want to maintain the cuteness of the feline pictures
 48 2012-04-22 03:04:45 <gmaxwell> just send REALLY BIG pictures.
 49 2012-04-22 03:05:16 <gmaxwell> "Thats not a 10gigapixel cat picture, thats my wallet!"
 50 2012-04-22 03:06:05 <etotheipi_> well, there's always plenty of space in 100 hours of Nyan cat:  http://www.youtube.com/watch?v=AA5DsLzSVrk
 51 2012-04-22 03:07:10 <ThomasV> nyan cat can be compressed
 52 2012-04-22 03:07:55 <gmaxwell> Hm. How does one go about convincing a major modern art gallery to put Nyan cat on display?
 53 2012-04-22 03:25:06 <TuxBlackEdo> gmaxwell++
 54 2012-04-22 03:26:38 <TuxBlackEdo> etotheipi_, there's nothing like nyan cat rave http://www.youtube.com/watch?v=DpBHsAFMyow
 55 2012-04-22 03:32:40 <gribble> New news from bitcoinrss: jgarzik opened issue 1132 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/issues/1132>
 56 2012-04-22 04:30:29 <jgarzik> w00t.  Got -Wall warning count down to 3.  The sign comparison beast has been slain.  And only two bugs that just barely missed being remotely exploitable.
 57 2012-04-22 04:31:06 <jgarzik> atoi(http Content-Length" header) for one, sigh
 58 2012-04-22 07:21:39 <wumpus> jgarzik: great!
 59 2012-04-22 10:53:56 <occulta> anyone fancy mining on testnet for 10minutes?
 60 2012-04-22 11:04:34 <gribble> New news from bitcoinrss: sipa opened pull request 1133 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1133>
 61 2012-04-22 11:24:33 <occulta> Hi, i am trying to run bitcoind -testnet -daemon, but getting this error
 62 2012-04-22 11:24:41 <occulta> terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >'
 63 2012-04-22 11:24:44 <occulta> what():  Address already in use
 64 2012-04-22 11:28:52 <sipa> occulta: that means another bitcoin instance is already running
 65 2012-04-22 11:29:29 <occulta> its not though, but it might be because i set rpcport in .conf and used -testnet
 66 2012-04-22 11:29:34 <sipa> what did you set rpcport to?
 67 2012-04-22 11:29:40 <occulta> i am trying to mine on testnet with cgminer, but cant get it to work
 68 2012-04-22 11:29:56 <occulta> testnet one,  1833 or w.e
 69 2012-04-22 11:30:54 <sipa> 18333 ?
 70 2012-04-22 11:31:35 <occulta> do i need to place bitcoin.conf in another folder?
 71 2012-04-22 11:31:59 <sipa> that's the p2p port
 72 2012-04-22 11:32:13 <occulta> o right
 73 2012-04-22 11:32:19 <sipa> it won't work if you set the rpc port and p2p port to the same thing
 74 2012-04-22 11:32:25 <occulta> so, what should i be doing, editing bitcoin.conf to have rpcuser / rpcpass / rpcport ?
 75 2012-04-22 11:32:29 <sipa> you just need rpcuser and rpcpass
 76 2012-04-22 11:32:33 <sipa> and start with -testnet
 77 2012-04-22 11:32:45 <sipa> shouldn't need to change anything else
 78 2012-04-22 11:32:48 <occulta> ok
 79 2012-04-22 11:32:58 <occulta> then cgminer i just do   ./cgminer -user= -pass= and i guess port?
 80 2012-04-22 11:33:19 <sipa> rpc port is 8332 by default, both for testnet and mainnet
 81 2012-04-22 11:33:33 <sipa> wait, sec
 82 2012-04-22 11:33:53 <sipa> yes, indeed
 83 2012-04-22 11:34:08 <occulta> hm
 84 2012-04-22 11:35:39 <sipa> so really the only thing you should change at all, is pass -testnet to bitcoind
 85 2012-04-22 11:36:04 <occulta> cgminer looks for pools? at a url
 86 2012-04-22 11:36:12 <occulta> i need to run like  127.0.0.1 ?
 87 2012-04-22 11:36:18 <sipa> yes
 88 2012-04-22 11:36:34 <occulta> ok let me test that
 89 2012-04-22 11:38:54 <occulta> thankyou sipa, i got it working
 90 2012-04-22 11:39:11 <occulta> Connected to http://127.0.0.1:8332 without LP as user testnet
 91 2012-04-22 11:39:34 <occulta> takes time for GPU to get upto speed?
 92 2012-04-22 11:39:41 <sipa> no
 93 2012-04-22 11:39:54 <occulta> only 69% for me
 94 2012-04-22 11:40:00 <sipa> 69% of wat?
 95 2012-04-22 11:40:02 <occulta> 158mhs
 96 2012-04-22 11:40:13 <occulta> GPU 0:  67.0C  70%    | 157.7/158.4Mh/s | A:1 R:0 HW:0 U:0.60/m I: 2
 97 2012-04-22 11:40:42 <sipa> ah, no idea about cgminer's output
 98 2012-04-22 11:41:08 <sipa> that number could well be its fan speed
 99 2012-04-22 11:41:10 <occulta> ah, im just comparing to hashcat dont know why lol
100 2012-04-22 11:41:20 <occulta> that gets a bit faster as it heats up
101 2012-04-22 11:41:28 <sipa> what's hashcat?
102 2012-04-22 11:41:33 <occulta> nominally runs @ about 70%
103 2012-04-22 11:41:41 <sipa> ah
104 2012-04-22 11:41:43 <occulta> hash cracking app, probably the fastest
105 2012-04-22 11:42:17 <sipa> ok
106 2012-04-22 11:42:19 <occulta> thanks tho, much faster than my CPU lol!
107 2012-04-22 11:42:26 <setkeh> hey guys im kinda new to bitcoin and programming for it can someone please point me in the write direction fo making a page simaler to this http://bitcoin.clarkmoody.com/ticker/ i heave read the wiki articles on IO.Sock but couldent make much of them ideas would be great thanks
108 2012-04-22 11:43:05 <occulta> pretty sure thats just using gox API setkeh
109 2012-04-22 11:43:41 <setkeh> occulta: i have a key but im not 100% sure where to start the coding and what lang
110 2012-04-22 11:44:15 <sipa> setkeh: what languages do you know?
111 2012-04-22 11:44:22 <occulta> https://en.bitcoin.it/wiki/MtGox/API/HTTP/v1
112 2012-04-22 11:44:24 <occulta> HTTP
113 2012-04-22 11:44:36 <occulta> this is for the websocket
114 2012-04-22 11:44:37 <occulta> https://en.bitcoin.it/wiki/MtGox/API/Streaming
115 2012-04-22 11:45:41 <setkeh> sipa: a little bit pf php quite good at html/css
116 2012-04-22 11:45:52 <setkeh> bit of php*
117 2012-04-22 11:46:10 <occulta> there is a PHP snippet at the bottom of that HTTP link
118 2012-04-22 11:47:22 <setkeh> ty dude ill read them again :D
119 2012-04-22 11:58:26 <setkeh> occulta: do you know of a working example of the streaming that displays the ticker so i can better understand how it works ??
120 2012-04-22 11:58:41 <luke-jr> gmaxwell: btw, turns out that i0coin crash I kept seeing is caused by DNS failures looking up pool.ntp.org - apparently i0coin gets its time from NTP rather than from the network >_<
121 2012-04-22 12:13:06 <setkeh> sipa: do you know of a working example of the streaming that displays the ticker so i can better understand how it works ??
122 2012-04-22 12:16:53 <sipa> setkeh: not really, sorry
123 2012-04-22 12:18:51 <setkeh> sipa: np ty
124 2012-04-22 12:37:20 <gribble> New news from bitcoinrss: Diapolo opened pull request 1134 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1134>
125 2012-04-22 12:47:45 <gribble> New news from bitcoinrss: luke-jr opened pull request 1135 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1135>
126 2012-04-22 12:48:37 <sipa> luke-jr: quite sure any optimizing compiler prevents the temporaries from being created in the first place
127 2012-04-22 12:48:53 <sipa> at least for primitive types
128 2012-04-22 12:49:11 <luke-jr> sipa: maybe, but even if so, still best to cleanup the code :p
129 2012-04-22 12:49:26 <luke-jr> surprisingly, there were some real object types being post-incremented
130 2012-04-22 12:51:19 <sipa> i don't think it makes any difference in the generated object code
131 2012-04-22 12:52:03 <luke-jr> good idea
132 2012-04-22 12:52:36 <sipa> (quite sure i wondered about that myself some 10 years ago, and compared the generated code for pre and postincrement in a C program)
133 2012-04-22 12:52:46 <gribble> New news from bitcoinrss: Diapolo opened pull request 1136 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1136>
134 2012-04-22 12:56:15 <sipa> in fact, i expect that writing T a = b; ++b;, and not using a anywhere else also gets removed by an optimizer, unless the copy constructor of T had side effects
135 2012-04-22 12:59:40 <luke-jr> changes addrman, bitcoinrpc, db, guiutil, keystore, main, net, script, wallet, walletdb
136 2012-04-22 13:10:02 <sipa> luke-jr: can you paste the objdump diff?
137 2012-04-22 13:11:38 <wumpus> pre or post increment only makes a different for overloaded operators
138 2012-04-22 13:12:08 <wumpus> (efficiency-wise)... not for built-in types in the most common case
139 2012-04-22 13:13:16 <wumpus> I'm not sure it warrants changing all over the code, unless you can show it really makes things faster
140 2012-04-22 13:14:34 <luke-jr> http://luke.dashjr.org/tmp/code/preinc.bin.diff.bz2
141 2012-04-22 13:15:06 <luke-jr> wumpus: most code cleanup has no effect at all, but that's the purpose of 0.6.1&
142 2012-04-22 13:16:21 <wumpus> yes, I tend to use preincrement by habit
143 2012-04-22 13:16:53 <sipa> i don't consider changing postincrement into preincrement really a code cleanup, more like a personal preference or coding style
144 2012-04-22 13:17:04 <sipa> unless of course you can show that there's a real difference
145 2012-04-22 13:18:35 <gribble> New news from bitcoinrss: Diapolo opened issue 1137 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/issues/1137>
146 2012-04-22 13:19:01 <wumpus> yeah... we're going too far into bikeshedding territory
147 2012-04-22 13:19:28 <luke-jr> sipa: using postincrement except when you actually need it, is like having unused variables sitting around IMO
148 2012-04-22 13:19:29 <wumpus> like diapolo with his 'lets remove a space'... :/
149 2012-04-22 13:19:35 <luke-jr> XD
150 2012-04-22 13:19:51 <wumpus> btw why do we have this braindead loop() macro
151 2012-04-22 13:20:00 <wumpus> isn't C++ syntax enough?
152 2012-04-22 13:20:03 <sipa> wumpus: no idea, never used it
153 2012-04-22 13:20:22 <wumpus> it's defined as for(;;)... which is the same as while(true)..
154 2012-04-22 13:20:29 <wumpus> anyway, there's lots of ways to express it
155 2012-04-22 13:20:46 <luke-jr> http://www.qtcentre.org/threads/21722-why-Qt-s-forever-macro-is-for(-)-rather-than-while(true)
156 2012-04-22 13:21:10 <wumpus> we can't use a qt statement in core code luke-jr
157 2012-04-22 13:21:18 <wumpus> at least that's some kind of standard
158 2012-04-22 13:21:46 <luke-jr> true
159 2012-04-22 13:21:51 <sipa> nothing an ifndef/define can't solve, but i don't think it's really necessary
160 2012-04-22 13:21:55 <wumpus> and compilers really do optimize the logic in while(true) away
161 2012-04-22 13:22:09 <wumpus> so there is no efficiency reason to simply use it
162 2012-04-22 13:22:13 <wumpus> +not
163 2012-04-22 13:44:13 <gribble> New news from bitcoinrss: luke-jr opened issue 1138 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/issues/1138>
164 2012-04-22 13:49:18 <gribble> New news from bitcoinrss: Diapolo opened pull request 1139 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1139>
165 2012-04-22 13:52:37 <etotheipi_> gmaxwell: http://support.microsoft.com/kb/208427
166 2012-04-22 13:54:27 <etotheipi_> gmaxwell, do you think this size actually matters if it's using a custom URI handler?  I mean there's no limit on the command line
167 2012-04-22 13:54:48 <etotheipi_> perhaps it's only relevant if IE is expected to open the link
168 2012-04-22 13:55:58 <wumpus> well if you see how much data:... URLs are used these days I think the maximum URL size is huge in modern browsers
169 2012-04-22 13:56:32 <etotheipi_> wumpus, yesterday I had the idea that URIs could be used to do signature collection
170 2012-04-22 13:56:39 <gmaxwell> etotheipi_: odd.. I'm pretty sure that I found that the largest data uri that worked was about 64k.. so perhaps there are multiple limits.
171 2012-04-22 13:56:46 <wumpus> limited to 32Kb is IE8
172 2012-04-22 13:57:08 <wumpus> but not in IE9+
173 2012-04-22 13:57:10 <etotheipi_> you jam 10 kB into an email URL that includes the tx, script and a list of signatures. click on it and it pops up in your browser
174 2012-04-22 13:57:21 <etotheipi_> s/browser/bitcoin client/g
175 2012-04-22 13:57:36 <etotheipi_> then you sign it and it spits out a new URL to copy into another email
176 2012-04-22 13:58:20 <wumpus> 10kB should work, although I'm not sure for an external handler... to be sure it would need thorough testing with many browsers and OSes...
177 2012-04-22 13:58:29 <luke-jr> except email lines are limited to 77 chars ;)
178 2012-04-22 13:59:02 <etotheipi_> luke-jr: what do you mean?  You can surely use URLs in email links that are longer than 77 chars
179 2012-04-22 13:59:16 <wumpus> sure, if you use html mail
180 2012-04-22 13:59:22 <luke-jr> etotheipi_: email best practices are no longer than 77 characters per line
181 2012-04-22 13:59:42 <luke-jr> oh, html mail
182 2012-04-22 13:59:44 <wumpus> in plain text mail it'd be painful
183 2012-04-22 13:59:46 <jgarzik> [WTS] Several bitcoin-related, forex-related domains - https://bitcointalk.org/index.php?topic=77684.0
184 2012-04-22 14:00:03 <etotheipi_> true.  if this happened to hit a non-html mail server the user would be overwhelmed
185 2012-04-22 14:00:37 <TheSeven> "However, the POST method is not limited by the size of the URL for submitting name/value pairs. These pairs are transferred in the header and not in the URL." - aha. they seem to know what they're talking about.
186 2012-04-22 14:02:04 <wumpus> can't post to external URL handlers though :/
187 2012-04-22 14:02:35 <etotheipi_> this is where I'm confused:  if you register your app with the OS, doesn't all the data in the URI essentially get passed via command line?
188 2012-04-22 14:02:55 <etotheipi_> I guess maybe testing would be the best way to answer the questions
189 2012-04-22 14:03:26 <wumpus> yes, the URL is passed on the command line, but there may be (intended or unintended) limits in varous places along the way
190 2012-04-22 14:03:43 <wumpus> it is the only way
191 2012-04-22 14:04:05 <etotheipi_> it might be worth the testing ... I like the elegance of being able to send sig-collection emails with clickable link
192 2012-04-22 14:06:15 <etotheipi_> thunderbird gives me the option of sending emails in both  plaintext and html form
193 2012-04-22 14:06:40 <etotheipi_> does that mean that I could include the link in the html version, and a nonlink (+warning) in the plaintext version?  I don't know how email headers work
194 2012-04-22 14:07:04 <wumpus> yes, the html and text version are separate MIME attachments to the mail
195 2012-04-22 14:07:09 <wumpus> they can be completely different
196 2012-04-22 14:07:51 <sipa> i often get mails "Your e-mail client cannot handle HTML mail, go to [url] to read this.", just because it shows the text version by default
197 2012-04-22 14:08:06 <wumpus> so the text version could contain a "copy paste this" and the html a clickable link..
198 2012-04-22 14:09:10 <etotheipi_> well for 10kB+ of data, I don't think it should ever show up in the non-html version
199 2012-04-22 14:09:16 <wumpus> yeah, most clients show the  html version by default
200 2012-04-22 14:10:13 <luke-jr> s/most clients/Microsoft clients/
201 2012-04-22 14:10:36 <sipa> most clients in general
202 2012-04-22 14:10:44 <wumpus> webmail clients such as gmail/hotmail as well
203 2012-04-22 14:11:04 <sipa> most graphical client, i might add
204 2012-04-22 14:11:07 <sipa> +s
205 2012-04-22 14:32:33 <Joric> gmaxwell, https://bitcointalk.org/index.php?topic=77587.0
206 2012-04-22 14:37:31 <Joric> etotheipi_, hope you don't have anything against javascript implementation? i wrote it just for fun
207 2012-04-22 14:45:08 <etotheipi_> Joric: what did you write?
208 2012-04-22 14:45:18 <etotheipi_> did you write the brainwallet website?
209 2012-04-22 14:45:42 <Joric> etotheipi_, https://github.com/brainwallet/brainwallet.github.com/blob/master/js/armory.js
210 2012-04-22 14:46:22 <Joric> i don't really like GPL3 and see no reason for relicensing js made from scratch
211 2012-04-22 14:46:52 <etotheipi_> so that is yours?
212 2012-04-22 14:46:55 <Joric> yep
213 2012-04-22 14:47:00 <etotheipi_> ahh, I was wondering
214 2012-04-22 14:47:22 <etotheipi_> I have no experience with JS, besides some stuff I did with it when I was 12 trying to make a shitty webpage
215 2012-04-22 14:47:38 <Joric> me too
216 2012-04-22 14:51:35 <Joric> thought github supports ssl pages but it doesn't so it become a really bad idea
217 2012-04-22 14:57:10 <wumpus> yes it doesn't, it's a pity
218 2012-04-22 14:58:24 <Eliel> ssl unfortunately requires a different certificate and IP address for each subdomain it's used on.
219 2012-04-22 14:58:54 <wumpus> that only applies to top-level domains though, you can have wildcard certs
220 2012-04-22 14:58:58 <wumpus> for subdomains...
221 2012-04-22 14:59:07 <gmaxwell> Eliel: for subdomains you can happily use wildcard certs these days.
222 2012-04-22 14:59:20 <gmaxwell> Browsers old enough to not support them won't run most modern sites regardless.
223 2012-04-22 15:00:23 <wumpus> google does that with .appspot for example
224 2012-04-22 15:00:50 <Eliel> wumpus: ah, that's good to know.
225 2012-04-22 15:01:03 <Eliel> wumpus: I guess that means they can all run from the same IP-address as well?
226 2012-04-22 15:01:20 <wumpus> would be great if SNI was adopted quicker though...
227 2012-04-22 15:01:30 <wumpus> yes, they could
228 2012-04-22 15:03:28 <luke-jr> Joric: what about GPL3?
229 2012-04-22 15:06:33 <Joric> luke-jr, why bitcoin is not GPL3?
230 2012-04-22 15:07:08 <luke-jr> Joric: because GPLv3 would be an ugly license for something like bitcoind
231 2012-04-22 15:07:20 <luke-jr> Joric: libbitcoin is AGPLv3 tho
232 2012-04-22 15:07:40 <gmaxwell> The official bitcoin client is a reference implementation. I'd much rather people copy code from it than implement it incorrectly because they were only motivated to rewrite parts for licensing reasons.
233 2012-04-22 15:08:31 <etotheipi_> gmaxwell: that's where I'm headed, I think
234 2012-04-22 15:08:45 <luke-jr> Joric: even GNU admits that more liberal copylefts are better for stuff that needs to gain wide adoption
235 2012-04-22 15:09:22 <etotheipi_> I could spend months writing the networking engine, and in the end I'll only have a buggy, insecure, blockchain-forking implementation
236 2012-04-22 15:09:38 <etotheipi_> (well, if I spent months, I'd hope it wouldn't be that bad...)
237 2012-04-22 15:10:11 <gmaxwell> Well, I do very much do want people to reimplement bitcoin but it should be because they want to, and because they're going to put in the work required to get it right.
238 2012-04-22 15:10:25 <gmaxwell> And right, if you spent months on it you'd get it right.
239 2012-04-22 15:10:41 <etotheipi_> gmaxwell: it actually sounds very interesting, but I have so many other priorities, and taking months to reimplementing that part is not one of them
240 2012-04-22 15:11:21 <gmaxwell> ::nods:: In any case, thats why you can copy the code: if you don't have the time or interest to write it correctly yourself, by all means copy.
241 2012-04-22 15:12:19 <etotheipi_> well I was looking more towards libcoin which *sounds* more modularized/appropriate for this kind of isolated-component-extraction
242 2012-04-22 15:12:29 <etotheipi_> but I haven't looked enough at either codebase to know for sure
243 2012-04-22 15:13:44 <luke-jr> I like Gavin's blockchain-feeder node idea
244 2012-04-22 15:14:37 <luke-jr> connect to it, get a bunch of blocks both valid and invalid
245 2012-04-22 15:17:46 <Joric> gmaxwell, it's getting kind of monstrous http://img802.imageshack.us/img802/4180/30768852.png
246 2012-04-22 15:18:15 <Joric> have to make it easier )
247 2012-04-22 15:22:02 <Joric> there are 20 frames in the each slot the next step is probably take base20( H(R+R2) ) but it already looks scary
248 2012-04-22 15:22:24 <Yeah> Hi, any chance armory be the default bitcoin client?
249 2012-04-22 15:23:41 <Joric> or maybe use H(R + R2 + frame1), H(R + R2 + frame2), H(R + R2 + frame3)
250 2012-04-22 15:24:06 <luke-jr> Joric: stick to hex&
251 2012-04-22 15:24:26 <luke-jr> Joric: might also be handy to give the user the commands they can use to verify results
252 2012-04-22 15:26:23 <gmaxwell> Joric: H(R + R2 + frame1) has the problem that you can't disclose R until you're done using it.
253 2012-04-22 15:28:43 <devrandom> gmaxwell: luke-jr: LXC support for gitian... https://github.com/devrandom/gitian-builder
254 2012-04-22 15:30:19 <luke-jr> devrandom: how about ruby-free? <.<
255 2012-04-22 15:30:42 <devrandom> luke-jr: you are the only one asking for that... ;)
256 2012-04-22 15:30:45 <luke-jr> gmaxwell: you can disclose H(R)
257 2012-04-22 15:31:01 <gmaxwell> Sure. You must disclose H(R) before the user tells you R2.
258 2012-04-22 15:31:20 <gmaxwell> Otherwise you can choose R such that it gives spins which are bad for the user.
259 2012-04-22 15:32:31 <luke-jr> devrandom: would be nice if you could just configure LXC vs KVM in one place
260 2012-04-22 15:33:02 <devrandom> luke-jr: after you build the base vms, you just set USE_LXC=1 in env, and that's it
261 2012-04-22 15:33:14 <luke-jr> devrandom: every boot& :p
262 2012-04-22 15:35:07 <Joric> it comes to base20 anyway or i should change the scheme
263 2012-04-22 15:35:51 <etotheipi_> Yeah: I hope so :)  but there's lots of work left to be done before then
264 2012-04-22 15:36:34 <devrandom> luke-jr: I'd like to try to eliminate all the sudo calls.  recent distributions allow lxc-start for non-root users
265 2012-04-22 15:37:35 <devrandom> not sure how to handle copying of the guest rootfs without sudo
266 2012-04-22 15:37:58 <luke-jr> devrandom: btw, this is the line I replaced the cp with:
267 2012-04-22 15:38:01 <luke-jr> 
268 2012-04-22 15:38:11 <Yeah> etotheipi_: great. i just don't understand why you want reimplement the network. why not just use bitcoin network implementation?
269 2012-04-22 15:38:34 <luke-jr> Yeah: which one?
270 2012-04-22 15:39:01 <luke-jr> Yeah: also, see https://github.com/bitcoin/bitcoin.org/pull/32
271 2012-04-22 15:39:19 <Yeah> armory need bitcoin client to work
272 2012-04-22 15:39:26 <devrandom> luke-jr: I'll put that in.  lxc takes an directory rather than an image file, so can't copy without root.  but maybe I can mount an image using loop device.
273 2012-04-22 15:39:51 <luke-jr> devrandom: maybe
274 2012-04-22 15:42:39 <Vitas> hello guys anybody wants to point me to some tutorial on compiling wallet and daemon for win32? :)
275 2012-04-22 15:43:35 <luke-jr> Vitas: first step is install Ubuntu
276 2012-04-22 15:44:23 <Vitas> ok and now a serious answer please ;)
277 2012-04-22 15:44:37 <luke-jr> that is
278 2012-04-22 15:44:39 <devrandom> Vitas: he is serious
279 2012-04-22 15:44:42 <luke-jr> Win32 binaries are built on Ubuntu
280 2012-04-22 15:44:58 <luke-jr> I have an Ubuntu VM just for that purpose
281 2012-04-22 15:45:25 <devrandom> cross compiling using mingw32
282 2012-04-22 15:46:14 <Vitas> aha. OK so is it just a matter of installing few libraries and a few commands then?
283 2012-04-22 15:46:32 <luke-jr> Vitas: IIRC it's *possible* to build binaries on Windows, but nobody does it much (so it's not regularly tested), and they won't match the signed binaries
284 2012-04-22 15:46:59 <luke-jr> Vitas: https://github.com/devrandom/gitian-builder/blob/master/README.md
285 2012-04-22 15:47:22 <Vitas> thx
286 2012-04-22 15:47:59 <Vitas> what about compiling litecoin wallet and daemon. Does this apply too?
287 2012-04-22 15:48:10 <luke-jr> I don't assist with scams, sorry.
288 2012-04-22 15:48:57 <Vitas> so that's the problem...
289 2012-04-22 15:49:49 <etotheipi_> Yeah: I never said I *want* to reimplement the networking... but there's a lot of issues to resolve: mainly interleaving complicated libraries and licensing issues.  And I've got ideas for blockchain compression and/or lite nodes:  no current codebase would help
290 2012-04-22 15:51:09 <etotheipi_> Yeah: for now I will probably try to integrate an existing library for "standard" client behavior... then take my time to modify it to do fancier stuff
291 2012-04-22 15:51:33 <Yeah> ok, thanks etotheipi_
292 2012-04-22 16:06:23 <jgarzik> sipa, gmaxwell: dc589c5 in pull #1140 addresses an ugly, though obscure, issue
293 2012-04-22 16:08:04 <gribble> New news from bitcoinrss: jgarzik opened pull request 1140 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1140>
294 2012-04-22 16:08:06 <TuxBlackEdo> i have a question, if the irc bootstap servers were down would there be absolutely no way to connect to the network (other then manually adding nodes)?
295 2012-04-22 16:08:19 <TuxBlackEdo> (for a new user)
296 2012-04-22 16:08:24 <gmaxwell> TuxBlackEdo: No. Where did you get that idea?
297 2012-04-22 16:08:41 <TuxBlackEdo> i mean for a new user
298 2012-04-22 16:08:47 <gmaxwell> We don't even use IRC anymore in current versions (it's still there but disabled by default).
299 2012-04-22 16:08:50 <luke-jr> TuxBlackEdo: 0.6.0 doesn't even use IRC by default
300 2012-04-22 16:09:02 <TuxBlackEdo> really?
301 2012-04-22 16:09:19 <TuxBlackEdo> so bitcoin has hardcoded nodes?
302 2012-04-22 16:09:26 <luke-jr> TuxBlackEdo: that's a last resort.
303 2012-04-22 16:09:41 <luke-jr> TuxBlackEdo: first, it uses nodes you remember from prior sessions
304 2012-04-22 16:09:44 <luke-jr> then, it tries DNS
305 2012-04-22 16:09:47 <gmaxwell> The primary mechenism for initilization is dnsseed, failing that there is a list of 500 nodes.
306 2012-04-22 16:10:01 <TuxBlackEdo> what is dnsseed?
307 2012-04-22 16:10:15 <gmaxwell> jgarzik: ugh.
308 2012-04-22 16:10:37 <gmaxwell> At least its 'just' IsStandard rules...
309 2012-04-22 16:11:32 <TuxBlackEdo> oh wow
310 2012-04-22 16:12:16 <gmaxwell> TuxBlackEdo: a simple way of getting a list of peers from a domain name. There are several independantly run ones that bitcoin queries.
311 2012-04-22 16:13:30 <TuxBlackEdo> ok so these subdomain names have like 500 A records?
312 2012-04-22 16:14:02 <TuxBlackEdo> "dnsseed.bitcoin.dashjr.org"?
313 2012-04-22 16:14:11 <gmaxwell> TuxBlackEdo: kinda e.g. sipa's is a custom DNS server that spiders the bitcoin network and automatically gives a random set of reliable nodes.
314 2012-04-22 16:14:19 <luke-jr> jgarzik: I think it isn't a problem unless someone removes the IsStandard check in the first place?
315 2012-04-22 16:14:25 <TuxBlackEdo> oh very nice sipa
316 2012-04-22 16:14:26 <DiabloD3> incoming paste time
317 2012-04-22 16:14:28 <DiabloD3> [02:10:30] <a11nikek> Yo i saw that my computer connected to your bitcoin pool without me connecting to it, so i guess someone is connecting through my computer to farm
318 2012-04-22 16:14:29 <DiabloD3> [02:11:27] <DiabloD3> luke-jr cant do anything for you until you file a police report
319 2012-04-22 16:14:31 <DiabloD3> [02:12:37] <DiabloD3> people have been trying to catch botnet owners, but the cops and the fbi wont do jack shit
320 2012-04-22 16:14:34 <DiabloD3> [02:13:10] <a11nikek> ah well not located in the us and i dont think the swedish police would care  :/
321 2012-04-22 16:14:36 <DiabloD3> [02:13:30] * DiabloD3 shrugs
322 2012-04-22 16:14:38 <DiabloD3> [02:13:37] <DiabloD3> reinstall windows while you're at it, btw
323 2012-04-22 16:14:40 <DiabloD3> [02:13:43] <DiabloD3> blocking the connection wont stop the bot
324 2012-04-22 16:14:42 <DiabloD3> [02:13:46] <a11nikek> the weird thing is that the first time it started was when i downloaded gpu tweak from asus : <
325 2012-04-22 16:14:45 <DiabloD3> paste end
326 2012-04-22 16:14:51 <DiabloD3> thats from #eligius
327 2012-04-22 16:15:11 <luke-jr> someone kick him? -.-
328 2012-04-22 16:15:18 <gmaxwell> TuxBlackEdo: (I think luke is also running sipa's code, bluematt has his own implementation)
329 2012-04-22 16:15:18 <TuxBlackEdo> gpu tweak from asus?
330 2012-04-22 16:15:33 <DiabloD3> is asus distributing a bot virus to gpu mine using their own cards?
331 2012-04-22 16:15:39 <TuxBlackEdo> gmaxwell, i understand, that is way better then irc bootstrapping
332 2012-04-22 16:15:46 <gmaxwell> Would be kinda funny if some hardware maker's drivers included a bonus.
333 2012-04-22 16:16:17 <TuxBlackEdo> DiabloD3, does this guy have a link to this gpu tweak software
334 2012-04-22 16:16:20 <gmaxwell> TuxBlackEdo: well, it's light weight so it can query many places vs a single centeralized IRC network... and it can always give good results, vs IRC where most hosts weren't listening.
335 2012-04-22 16:16:25 <DiabloD3> TuxBlackEdo: join #eligius and ask
336 2012-04-22 16:16:57 <luke-jr> it probably ran in CPU mining mode until something upgraded his driver with OCL
337 2012-04-22 16:17:06 <luke-jr> Asus just enabled OpenCL or smth I bet
338 2012-04-22 16:18:04 <luke-jr> DiabloD3: in the future, note this isn't #bitcoin-police, and that #Eligius is a private channel so logs require permission from participants
339 2012-04-22 16:18:23 <DiabloD3> luke-jr: oh shuddup
340 2012-04-22 16:18:33 <DiabloD3> its the implication of an asus tool doing this that piqued my interest
341 2012-04-22 16:18:41 <gmaxwell> then investigate it.
342 2012-04-22 16:18:43 <DiabloD3> no one cares about your damned pool
343 2012-04-22 16:18:48 <gmaxwell> This isn't #security-rumors either. :)
344 2012-04-22 16:18:50 <DiabloD3> gmaxwell: I dont use windows
345 2012-04-22 16:20:54 <DiabloD3> http://eligius.st/~artefact2/7/13j5XQEnXzgTi3ihJLLi3DctDZbU26KJ16
346 2012-04-22 16:20:56 <DiabloD3> thats the botnet
347 2012-04-22 16:21:37 <Joric> it's probably the most ridiculous use of the botnet, ever
348 2012-04-22 16:21:51 <DiabloD3> jesus, 5 ghash
349 2012-04-22 16:21:54 <DiabloD3> so delicious
350 2012-04-22 16:22:02 <DiabloD3> do want
351 2012-04-22 16:22:52 <TuxBlackEdo> btw
352 2012-04-22 16:22:56 <TuxBlackEdo> i wanna go on record
353 2012-04-22 16:23:01 <TuxBlackEdo> and this channel is logged
354 2012-04-22 16:23:19 <TuxBlackEdo> that luke-jr is allowing a botnet to mine on his pool
355 2012-04-22 16:23:20 <TuxBlackEdo> http://eligius.st/~artefact2/7/13j5XQEnXzgTi3ihJLLi3DctDZbU26KJ16
356 2012-04-22 16:23:30 <TuxBlackEdo> obvious botnet is obvious.
357 2012-04-22 16:23:33 <DiabloD3> I just mentioned it
358 2012-04-22 16:23:47 <DiabloD3> thats so botnet it hurts
359 2012-04-22 16:23:56 <DiabloD3> Im jelly
360 2012-04-22 16:25:07 <luke-jr> TuxBlackEdo: you can go on record with whatever slander you want, but that won't make it true
361 2012-04-22 16:27:25 <TuxBlackEdo> luke-jr, you do know when you act like this it make you look super weak, right?
362 2012-04-22 16:28:36 <TuxBlackEdo> "TuxBlackEdo: you can go on record with whatever slander you want, but that won't make it true" <- weak, that's not even a rebuttal
363 2012-04-22 16:29:10 <gmaxwell> TuxBlackEdo: .. er why do you think that looks like a botnet?
364 2012-04-22 16:29:29 <luke-jr> gmaxwell: it's wavey! :p
365 2012-04-22 16:29:55 <luke-jr> too bad TuxBlackEdo has never heard of different electric pricing by time of day, eh?
366 2012-04-22 16:30:09 <gmaxwell> sunwhateverhisnameis mined like that
367 2012-04-22 16:30:22 <TuxBlackEdo> no
368 2012-04-22 16:30:26 <gmaxwell> because his setup is all aircooled and adjusts the clocks based on temp.
369 2012-04-22 16:30:40 <DiabloD3> gmaxwell: oh thats swift
370 2012-04-22 16:30:40 <TuxBlackEdo> let's take a poll
371 2012-04-22 16:31:07 <TuxBlackEdo> [Tycho], is this a botnet? http://eligius.st/~artefact2/7/13j5XQEnXzgTi3ihJLLi3DctDZbU26KJ16
372 2012-04-22 16:32:00 <luke-jr> http://eligius.st/~artefact2/7/13q2MtmDwa5SDq35dYmYcWNiJqirfYemYu looks just as suspicious imo
373 2012-04-22 16:32:09 <luke-jr> and http://eligius.st/~artefact2/7/1HkJnteXo5b8aFFa9zEipYtwHASD9rYyXM
374 2012-04-22 16:32:23 <luke-jr> http://eligius.st/~artefact2/7/1QEt3y8BHkCM8vKmWv6u9rg9yrUGQt1EHf too
375 2012-04-22 16:32:35 <luke-jr> surely these can't all be botnets
376 2012-04-22 16:32:50 <TuxBlackEdo> first one isnt
377 2012-04-22 16:33:06 <TuxBlackEdo> second one isnt
378 2012-04-22 16:33:20 <TuxBlackEdo> third one isnt either
379 2012-04-22 16:33:39 <TuxBlackEdo> http://eligius.st/~artefact2/7/13j5XQEnXzgTi3ihJLLi3DctDZbU26KJ16 <- is a botnet
380 2012-04-22 16:33:49 <TuxBlackEdo> 100btc says that's a botnet
381 2012-04-22 16:34:21 <TuxBlackEdo> it's such an obvious botnet too
382 2012-04-22 16:34:42 <gmaxwell> I wouldn't take that bet but I can't see why you're so sure of this.
383 2012-04-22 16:35:11 <DiabloD3> first is botnet
384 2012-04-22 16:35:19 <DiabloD3> second is botnet
385 2012-04-22 16:35:24 <DiabloD3> third is botnet!
386 2012-04-22 16:35:28 <DiabloD3> ALL BOTNET!
387 2012-04-22 16:35:48 <TuxBlackEdo> luke-jr, also why dont you come back with how many ips are connecting to your pool using this address http://eligius.st/~artefact2/7/13j5XQEnXzgTi3ihJLLi3DctDZbU26KJ16
388 2012-04-22 16:36:07 <luke-jr> TuxBlackEdo: I'd be glad to provide all that nice info to the police.
389 2012-04-22 16:36:18 <TuxBlackEdo> i am asking for a number
390 2012-04-22 16:36:23 <TuxBlackEdo> not individual ips
391 2012-04-22 16:36:26 <TuxBlackEdo> i am asking
392 2012-04-22 16:36:32 <TuxBlackEdo> like is 1 ip using that bitcoin address
393 2012-04-22 16:36:34 <TuxBlackEdo> or 1000?
394 2012-04-22 16:36:50 <luke-jr> write me a query&
395 2012-04-22 16:37:00 <DiabloD3> gmaxwell: yes, my 600 mhash botnet :<
396 2012-04-22 16:37:46 <luke-jr> TuxBlackEdo: 1456 ever. I don't have a way to see how many are active.
397 2012-04-22 16:37:58 <TuxBlackEdo> whoa
398 2012-04-22 16:38:07 <TuxBlackEdo> luke-jr, it's an obvious botnet, you should shut it down and keep the funds.
399 2012-04-22 16:38:13 <DiabloD3> give me the funs :<
400 2012-04-22 16:38:18 <DiabloD3> funds
401 2012-04-22 16:38:25 <luke-jr> TuxBlackEdo: that'd be illegal
402 2012-04-22 16:38:30 <DiabloD3> so is botnetting
403 2012-04-22 16:38:40 <TuxBlackEdo> no it's illegal to pay a person running a botnet
404 2012-04-22 16:38:42 <gmaxwell> luke-jr: if you have timestamps add a where timestamp>  and grab the last week.
405 2012-04-22 16:38:44 <luke-jr> DiabloD3: doesn't justify me
406 2012-04-22 16:38:52 <luke-jr> gmaxwell: I don't have timestamps for hosts
407 2012-04-22 16:38:59 <TuxBlackEdo> luke-jr, it is illegal to pay a person running a botnet
408 2012-04-22 16:39:04 <TuxBlackEdo> which is what you are doing
409 2012-04-22 16:39:53 <gmaxwell> TuxBlackEdo: surely there are many more botnets on deebit, why aren't you nagging them? :)
410 2012-04-22 16:40:44 <gmaxwell> 5gh from only a most of 1400 IPs is pretty impressive.
411 2012-04-22 16:40:45 <TuxBlackEdo> i am sure tycho doesn't ask for a police report and he does the right thing
412 2012-04-22 16:41:01 <DiabloD3> tycho runs his own botnet anyhow
413 2012-04-22 16:41:03 <luke-jr> SELECT hosts.id, 'time' FROM (SELECT hosts JOIN shares ON (rem_host_id = hosts.id) WHERE hosts.user_id = 8759 ORDER BY shares.time DESC) GROUP BY hosts.id <-- what's wrong with this?
414 2012-04-22 16:41:05 <DiabloD3> er
415 2012-04-22 16:41:10 <DiabloD3> forget I said anything
416 2012-04-22 16:41:35 <TuxBlackEdo> yeah i am suspecting to believe all pool operators run a botnet/used to run a botnet
417 2012-04-22 16:41:45 <TuxBlackEdo> beginning to believe*
418 2012-04-22 16:41:46 <gmaxwell> the inner query is not returning time?
419 2012-04-22 16:41:56 <luke-jr> gmaxwell: I get some error
420 2012-04-22 16:42:01 <luke-jr> ERROR: syntax error at or near "JOIN"
421 2012-04-22 16:42:16 <gmaxwell> oh no from ..
422 2012-04-22 16:42:24 <gmaxwell> what table are you pulling from?
423 2012-04-22 16:43:02 <gmaxwell> select hosts from shares join hosts on rem_host_id = hosts.id
424 2012-04-22 16:43:20 <luke-jr> I want to get the last share submit by each host
425 2012-04-22 16:44:07 <luke-jr> http://eligius.st/wiki/index.php/PostgreSQL_Schema
426 2012-04-22 16:45:55 <gmaxwell> select hosts.id,max(time) from hosts join shares on (rem_host_id = hosts.id) group by hosts.id
427 2012-04-22 16:46:46 <gmaxwell> At one point I was a SQL ninja but I've apparently become a bit rusty. :)
428 2012-04-22 17:03:29 <sturles> If there are a lot, it would be interesting to know if they all belong to the same netblock or not.  (E.g. some academical institution.)
429 2012-04-22 17:03:55 <luke-jr> gmaxwell's query is still running
430 2012-04-22 17:04:00 <luke-jr> 1000 seconds and counting
431 2012-04-22 17:04:01 <sturles> Note to self: Scroll down before answering..
432 2012-04-22 17:15:21 <tcatm> luke-jr: Why would preincrement be "the right way" when everyone is used to writing postincrements? Changing them all could easily break patches and confuse other developers and I'm pretty sure we'll end up with lots of postincrements after a while again.
433 2012-04-22 17:16:04 <luke-jr> tcatm: seasoned C++ developers are mostly used to writing preincrements, AFAICT
434 2012-04-22 17:16:29 <luke-jr> they're the right way, because they don't demand you do work that gets discarded
435 2012-04-22 17:16:41 <luke-jr> (whether at runtime or compiletime, postincrement has more work)
436 2012-04-22 17:17:48 <dwon> in the total absense of compiler optimizations, maybe
437 2012-04-22 17:18:17 <tcatm> Even -O0 produced the same code when compiling my simple for loop (that I constructed in a way it can't be unrolled easily).
438 2012-04-22 17:19:12 <dwon> When I started writing C code, I used preincrements (because I knew about the INC instruction), but I switched to using postincrements because that's what every other C programmer does.
439 2012-04-22 17:19:27 <tcatm> preincrements were faster a few decades ago when compilers were basically large regex scripts translating the code.
440 2012-04-22 17:19:58 <dwon> I don't think C compilers were ever large regex scripts.
441 2012-04-22 17:20:12 <DiabloD3> eh, you'd be surprised
442 2012-04-22 17:20:21 <DiabloD3> early C compilers, 20 years ago, were just fancy macro asssemblers
443 2012-04-22 17:20:45 <midnightmagic> the dragon book was published in 1977. are you talking earlier than that :-)
444 2012-04-22 17:21:05 <tcatm> Nowadays, intermediate languages are used where ++i and i++ will look exactly the same and then the compilers will notice that it might use a fetch-and-increment instruction to save time on specific architectures.
445 2012-04-22 17:21:06 <dwon> 20 years ago == 1992
446 2012-04-22 17:21:23 <dwon> Hell, *I* was programming before then.
447 2012-04-22 17:21:30 <DiabloD3> well, 20-30
448 2012-04-22 17:21:46 <dwon> 1982?  The Amiga was released in 1985...
449 2012-04-22 17:21:53 <DiabloD3> 40?
450 2012-04-22 17:21:53 <dwon> You're making stuff up.
451 2012-04-22 17:22:14 <DiabloD3> no, Ive just been programming for so long, compilers sucking seems like yesterday
452 2012-04-22 17:22:57 <DiabloD3> wait, what am I talking about, they STILL suck
453 2012-04-22 17:22:59 <DiabloD3> dohohohohohoho
454 2012-04-22 17:23:28 <DiabloD3> you mean rubyscript
455 2012-04-22 17:23:29 <DiabloD3> lawlz
456 2012-04-22 17:23:39 <dwon> potato potato
457 2012-04-22 17:23:58 <dwon> that expression doesn't work nearly as well in writing
458 2012-04-22 17:24:18 <DiabloD3> yes, but is it bad I read that in glados's voice?
459 2012-04-22 17:24:35 <midnightmagic> i'm pretty sure almost nobody says potahto anymore.
460 2012-04-22 17:24:51 <dwon> what do brits say?
461 2012-04-22 17:24:59 <midnightmagic> they don't count
462 2012-04-22 17:25:00 <DiabloD3> chips.
463 2012-04-22 17:25:04 <dwon> fair enough
464 2012-04-22 17:25:12 <midnightmagic> :-)
465 2012-04-22 17:25:36 <dwon> anyway, bbl
466 2012-04-22 17:27:51 <gmaxwell> tcatm: the C++ pre/post increment reason is different. If you're using fancy objects with constructors that have side effects you really do get different behavior that the complier can't optimize away.
467 2012-04-22 17:28:00 <gmaxwell> So there is this whole C++ religion about pre vs post increment.
468 2012-04-22 17:28:11 <gmaxwell> My solution is mostly to not use C++.  :)
469 2012-04-22 17:28:53 <gmaxwell> I'd guess that there are probably only a couple of places in all the bitcoin code where this actually matters. (go look for increments of types that are based on the secure allocator)
470 2012-04-22 17:29:12 <tcatm> gmaxwell: Yep, that's true but luke's pull request isn't modifying any such iterators (and I'm not sure we are using them anyway).
471 2012-04-22 17:29:28 <DiabloD3> gmaxwell: yeah, I was wondering why I never see preincrement in C
472 2012-04-22 17:29:43 <DiabloD3> well, rarely
473 2012-04-22 17:30:14 <tcatm> I just verified g++ will produce exactly the same code when iterating over vectors using post and preincrements.
474 2012-04-22 17:31:09 <jgarzik> tcatm: unsurprising
475 2012-04-22 17:31:32 <gmaxwell> DiabloD3: people whine when you actually use both of them in ways that depend on the behavior. (because it makes the code require more careful reading to understand)
476 2012-04-22 17:32:25 <tcatm> jgarzik: Indeed. I was still curious whether that's actually the case :)
477 2012-04-22 17:33:46 <DiabloD3> gmaxwell: exactly, when shit is complex, thinking is bad
478 2012-04-22 17:33:50 <DiabloD3> it just distracts the programmer
479 2012-04-22 17:34:08 <DiabloD3> a good programmer's brain is essentially one large regex engine
480 2012-04-22 17:34:15 <DiabloD3> this should scare more people than it really does
481 2012-04-22 17:34:55 <luke-jr> tcatm: in fact, the binaries do change from it++ to ++it in that pullreq
482 2012-04-22 17:36:24 <tcatm> luke-jr: Does the assembly change much, too?
483 2012-04-22 17:37:12 <tcatm> I've noticed the compiler decides to shuffle some jmps around when changing complex loops but it's not touching the actual increment code.
484 2012-04-22 17:37:43 <luke-jr> tcatm: it seems to, but the stupid addresses make a huge diff
485 2012-04-22 17:37:50 <devrandom> ;;later tell BlueMatt I implemented LXC support for gitian.  See https://github.com/devrandom/gitian-builder
486 2012-04-22 17:37:50 <gribble> The operation succeeded.
487 2012-04-22 17:38:06 <luke-jr> devrandom: btw, I presume you confirmed the results match?
488 2012-04-22 17:38:50 <devrandom> I confirmed they are repeatable.  Will check if they match qemu in a bit.
489 2012-04-22 17:39:27 <BlueMatt> devrandom: awesome
490 2012-04-22 17:39:35 <devrandom> oh, you are here
491 2012-04-22 17:39:54 <BlueMatt> Im always here ;)
492 2012-04-22 17:40:05 <luke-jr> BlueMatt: except when you're not even on IRC :P
493 2012-04-22 17:40:14 <BlueMatt> well, Im still "here"
494 2012-04-22 17:40:37 <devrandom> one gotcha is that there is no access to the outside world.  so any git-clone has to be done outside and provided in inputs/
495 2012-04-22 17:40:59 <BlueMatt> meh, not a huge deal...
496 2012-04-22 17:41:15 <luke-jr> devrandom: tbh, that's probably better
497 2012-04-22 17:41:18 <BlueMatt> I kinda prefer that anyway, less chance of some build script being sneaky and downloading something form the internet
498 2012-04-22 17:41:18 <luke-jr> even for KVM
499 2012-04-22 17:41:33 <devrandom> (except for the gitian built-in git clone, which I changed to happen outside)
500 2012-04-22 17:41:35 <BlueMatt> though thats so unlikely anayway...
501 2012-04-22 17:41:44 <devrandom> exactly
502 2012-04-22 17:43:26 <luke-jr> dunno, I'd like to be able to gitian-build code I don't trust&
503 2012-04-22 17:43:49 <BlueMatt> well, thats true too
504 2012-04-22 17:45:21 <devrandom> nothing prevents you from doing that?
505 2012-04-22 17:46:42 <gmaxwell> luke-jr: I'm kinda surprised that no one has build an asm comparing program that will ignore things like minor register allocation differences.
506 2012-04-22 17:47:08 <devrandom> you can safely git-clone stuff outside the container and pass it in as input, so I don't see the problem with untrusted code
507 2012-04-22 17:47:18 <gmaxwell> It's annoying to step through just to validate that there is no chance of functioal change when it just swapped two registers.
508 2012-04-22 17:47:19 <devrandom> bbl
509 2012-04-22 17:50:06 <Joric> oh gawd https://github.com/farbrausch/fr_public
510 2012-04-22 17:50:17 <DiabloD3> you just noticed that Joric?
511 2012-04-22 17:50:37 <Joric> yes
512 2012-04-22 17:50:57 <DiabloD3> old news, read moar hn
513 2012-04-22 18:05:36 <splatster> Deepbit has 886 transactions from the past 12 or so hours alone, why not use sendmany?
514 2012-04-22 18:06:25 <JFK911> gmaxwell: you described ida-pro's "flirt" mechanism, congratulations.
515 2012-04-22 18:06:36 <JFK911> a/k/a simpsons already did it
516 2012-04-22 18:07:24 <copumpkin> doesn't bindiff also have a feature like that?
517 2012-04-22 18:07:26 <gmaxwell> JFK911: crap in ida pro doesn't let me create a precommit hook that validates if the changes change the execution of the software or not.
518 2012-04-22 18:07:27 <copumpkin> or am I confused
519 2012-04-22 18:08:02 <gmaxwell> copumpkin: you can diff objdump output, but gcc will sometimes change register allocations in response to trivial code reordering, and that throws it off.
520 2012-04-22 18:08:05 <copumpkin> I haven't actually ever used bindiff, but I thought it did :)
521 2012-04-22 18:08:05 <JFK911> no, but you can check it out on a built binary or library component.
522 2012-04-22 18:08:18 <splatster> Is using sendmany -that- hard?
523 2012-04-22 18:08:20 <copumpkin> gmaxwell: I mean bindiff the fancy IDA plugin for copmaring binaries
524 2012-04-22 18:08:48 <copumpkin> (http://www.zynamics.com/bindiff.html)
525 2012-04-22 18:09:14 <copumpkin> it's apparently a pretty good tool
526 2012-04-22 18:09:16 <JFK911> also, you can compare p-codes
527 2012-04-22 18:09:17 <copumpkin> but not applicable here
528 2012-04-22 18:09:32 <JFK911> turn both comparison objects into p-code and compare them.
529 2012-04-22 18:09:49 <splatster> gmaxwell: Would it be reasonably easy to make a patch which prevented 1vaynert TXs from being added to the memory pool?
530 2012-04-22 18:10:06 <JFK911> but if you arent a licensed idapro user how do you use those results without admitting that you stole some stupid expensive commercial app?
531 2012-04-22 18:10:22 <copumpkin> I did buy it :P
532 2012-04-22 18:10:54 <copumpkin> back when I was a student, I got a hefty academic discount, and I used it a lot more back then
533 2012-04-22 18:11:08 <JFK911> oh so your version is free now
534 2012-04-22 18:11:13 <copumpkin> yeah
535 2012-04-22 18:11:24 <copumpkin> well, the last one I could get was 5.4
536 2012-04-22 18:11:27 <JFK911> ilfak is not friendly to individuals seeking to purchase his product
537 2012-04-22 18:11:29 <copumpkin> I assume that's all free now
538 2012-04-22 18:11:36 <copumpkin> I know, but I can understand his point of view, too
539 2012-04-22 18:12:00 <luke-jr> devrandom: I don't want untrusted code to have network access
540 2012-04-22 18:12:19 <copumpkin> I'm not a fan of the sense of entitlement buyers seem to feel due to this ingrained "customer is king" attitude everyone has
541 2012-04-22 18:12:28 <copumpkin> a seller has every right not to sell to you :P
542 2012-04-22 18:12:28 <splatster> luke-jr: Would it be reasonably easy to make a patch which prevented 1vaynert TXs from being added to the memory pool?
543 2012-04-22 18:12:40 <luke-jr> splatster: yes
544 2012-04-22 18:12:55 <JFK911> well, i believe it should be impossible to steal what's impossible to buy
545 2012-04-22 18:13:20 <copumpkin> it's not impossible to buy though
546 2012-04-22 18:13:28 <splatster> luke-jr: Do you think people would accept such a patch boycotting their TXs until they start using sendmany?
547 2012-04-22 18:13:31 <copumpkin> several of my fellow hackers have legitimate copies :)
548 2012-04-22 18:13:42 <luke-jr> splatster: maybe.
549 2012-04-22 18:13:44 <splatster> (I know they'd just put their TXs in their own blocks)
550 2012-04-22 18:13:45 <copumpkin> you just need to try to avoid looking "nefarious"
551 2012-04-22 18:13:52 <copumpkin> where that's admittedly a loosely defined term
552 2012-04-22 18:14:32 <copumpkin> it's a hard market to sell to though, if you want to avoid cracks, since the target audience is exactly the set of people who is best able to crack your programs
553 2012-04-22 18:14:54 <JFK911> lots of corps and governments buy it for security research
554 2012-04-22 18:14:55 <copumpkin> his watermarking scheme is fancy, but if two copies leak it'll be pretty bad
555 2012-04-22 18:14:59 <copumpkin> yeah, I know
556 2012-04-22 18:15:13 <devrandom> luke-jr: right, the lxc container is configured not to have access
557 2012-04-22 18:15:27 <luke-jr> devrandom: I'm saying it'd be nice if KVM was the same
558 2012-04-22 18:15:30 <devrandom> which is why git-clone has to be run on the host
559 2012-04-22 18:15:52 <devrandom> oh, good point, I think it's just a flag to kvm
560 2012-04-22 18:23:19 <devrandom> luke-jr: BlueMatt: build matches lxc <-> kvm
561 2012-04-22 18:23:39 <BlueMatt> nice!
562 2012-04-22 18:24:31 <sipa> devrandom: will git cloning now happen on host os?
563 2012-04-22 18:28:44 <devrandom> sipa: yes
564 2012-04-22 18:29:45 <sipa> nice... but does it need a separate clone, instead of say, just a git tag and a local repository?
565 2012-04-22 18:30:49 <devrandom> if the directory exists, it does a git fetch instead
566 2012-04-22 18:31:04 <devrandom> the container will do a git checkout <hash>
567 2012-04-22 18:31:41 <luke-jr> devrandom: what sipa means, I think, is that it would be nice to point gitian at a local repository, and not have to publish one online ;)
568 2012-04-22 18:32:00 <devrandom> a git url can just be a local dir
569 2012-04-22 18:32:10 <devrandom> well, now it can be, since the clone is on the host
570 2012-04-22 18:32:45 <sipa> oh, of course
571 2012-04-22 18:32:58 <sipa> i always forget git is decentral
572 2012-04-22 18:33:23 <sipa> well, not forget, but i rarely use it that way
573 2012-04-22 18:36:11 <devrandom> cool... two improvements with one change (prevent untrusted code from dialing out, support local filesystem repos)
574 2012-04-22 18:36:15 <jgarzik> wait until the git repo is 500MB... then you'll remember :)
575 2012-04-22 18:36:43 <jgarzik> [jgarzik@bd linux]$ du -ks .git
576 2012-04-22 18:37:03 <devrandom> git-gc? :)
577 2012-04-22 18:37:34 <luke-jr> my local linux git is 837 MB
578 2012-04-22 18:37:58 <BlueMatt> how do you have a bigger linux git than a kernel dev???
579 2012-04-22 18:38:16 <BlueMatt> s/dev/maint/
580 2012-04-22 18:38:34 <luke-jr> BlueMatt: I presume he does git gc often :P
581 2012-04-22 18:38:41 <luke-jr> also, I dabble more than you might think
582 2012-04-22 18:39:04 <luke-jr> for a while, I was working on porting Linux to Nokia N810
583 2012-04-22 18:39:12 <luke-jr> I also have a git repo that is 16 GB FWIW :p
584 2012-04-22 18:39:25 <jgarzik> devrandom: that is with a regular 'git gc --aggressive'
585 2012-04-22 18:39:41 <jgarzik> most pulls pull down compressed packs (not individual objects) anyway
586 2012-04-22 18:40:19 <devrandom> ok
587 2012-04-22 18:41:13 <luke-jr> gmaxwell: I'm killing your SQL query, it's taken stats down :<
588 2012-04-22 18:41:46 <luke-jr> (and merged mining too)
589 2012-04-22 18:44:09 <BlueMatt> luke-jr: still...coding != dealing with pulls on a regular basis
590 2012-04-22 18:44:56 <luke-jr> BlueMatt: I have many branches in my repo :P
591 2012-04-22 18:45:07 <BlueMatt> meh...whatever
592 2012-04-22 18:45:22 <luke-jr> including 2.6.28.y, omap, etc
593 2012-04-22 18:46:06 <jgarzik> specifically: git gc --aggressive --prune=now
594 2012-04-22 18:46:41 <luke-jr> jgarzik: do you put all your Linux branches in one repo, or make a separate one for each?
595 2012-04-22 18:47:11 <Diapolo> good evening
596 2012-04-22 18:47:15 <Diapolo> is Matt online?
597 2012-04-22 18:47:20 <luke-jr> yes
598 2012-04-22 18:47:28 <BlueMatt> here
599 2012-04-22 18:47:57 <Diapolo> hi there, you said I could talk to you if I need an Windows build via Jenkins, right?
600 2012-04-22 18:48:03 <BlueMatt> sure
601 2012-04-22 18:48:12 <Diapolo> What do you need?
602 2012-04-22 18:48:19 <BlueMatt> just a repo path
603 2012-04-22 18:48:27 <BlueMatt> ie github repo + branch
604 2012-04-22 18:49:16 <Diapolo> https://github.com/Diapolo/bitcoin/tree/InitBlockDL-exp that's the URI
605 2012-04-22 18:49:36 <BlueMatt> ok give me a sec...
606 2012-04-22 18:50:33 <sipa> Diapolo: youcan't build it yourself?
607 2012-04-22 18:50:41 <Diapolo> BlueMatt: sure
608 2012-04-22 18:51:25 <Diapolo> I can't redistribute because I can't build a statically linked version.
609 2012-04-22 18:51:34 <sipa> ah
610 2012-04-22 18:51:51 <Diapolo> And I need a version for a Win user to test ;).
611 2012-04-22 18:52:03 <sipa> a gitian build is easier than jenkins, i guess
612 2012-04-22 18:52:04 <BlueMatt> Diapolo: http://jenkins.bluematt.me/job/Bitcoin-Testing-Build/24/console
613 2012-04-22 18:52:23 <gmaxwell> Diapolo: thats a lot of code for preallocation. :(
614 2012-04-22 18:52:28 <Diapolo> sipa: I only have a local installation of the Qt SDK currently.
615 2012-04-22 18:52:51 <Diapolo> gmaxwell: This is clearly marked as experimental, right?
616 2012-04-22 18:53:24 <jgarzik> luke-jr: many branches, one repo
617 2012-04-22 18:53:37 <Diapolo> ouch that was a quick failure ... will look at it matt, thanks
618 2012-04-22 18:53:44 <gmaxwell> Diapolo: sure sure... I was just making sad noises that it took so much to do it. Not complaining at the work you've done.
619 2012-04-22 18:54:40 <luke-jr> jgarzik: do you encounter corrupt objects often? I get them every few months in my 12 GB repo :/
620 2012-04-22 18:56:04 <Diapolo> BlueMatt: The errors are all because of the famous make_preferred() right?
621 2012-04-22 18:56:07 <sipa> your preallocate method doesn't seem to write anything?
622 2012-04-22 18:56:42 <BlueMatt> Diapolo: I didnt look...
623 2012-04-22 18:57:41 <Diapolo> It so damn hard as a compiler newb to get things straight that are working locally ... but not on other machines.
624 2012-04-22 18:58:45 <Diapolo> sipa: What you mean?
625 2012-04-22 19:01:03 <sipa> Diapolo: you just seem to call windows's equivalent of seek() to a certain position
626 2012-04-22 19:01:21 <sipa> does that actually write 2 GiB to disk?
627 2012-04-22 19:02:19 <Diapolo> sipa: yes that's how it works on Windows
628 2012-04-22 19:02:41 <jgarzik> luke-jr: never
629 2012-04-22 19:03:20 <gmaxwell> Diapolo: thats just going to result in a hole in linux, not preallocation.
630 2012-04-22 19:04:00 <Diapolo> I know one would say this and I say experimental and Win only ... on Linux it can be done with another OS specific call, I read that.
631 2012-04-22 19:04:03 <sipa> Diapolo: i wonder why you need that much code
632 2012-04-22 19:04:17 <luke-jr> wtf, 10 serial ports? http://www.newegg.com/Product/Product.aspx?Item=N82E16813153216
633 2012-04-22 19:04:42 <Diapolo> I did not want to change existing code to keep it seperated for the tests.
634 2012-04-22 19:04:58 <sipa> Diapolo: i'd say keep the used size of block files in blkindex.dat, and when writing, seek to that position before writing instead of at the end
635 2012-04-22 19:05:37 <gmaxwell> sipa: that would also avoid wasting space in some uncelan shutdown cases.
636 2012-04-22 19:05:48 <gmaxwell> unclean too.
637 2012-04-22 19:06:21 <gmaxwell> luke-jr: if that were an atom board I'd say "cheap console server"
638 2012-04-22 19:06:50 <Diapolo> As you see it uses std::fstream instead of FILE so I coppied the whole CAutoFile class, that's most of the "new" code.
639 2012-04-22 19:07:39 <luke-jr> gmaxwell: ironically, it's the only ATX Q67 board NewEgg sells
640 2012-04-22 19:07:40 <sipa> i don't mind moving to std::fstream for CAutoFile, but this way it's hard to see what is actually chqnged
641 2012-04-22 19:07:46 <sipa> changed
642 2012-04-22 19:07:57 <Diapolo> sipa: I currently store the file pos in blk0001.dat.fptrpos as I did not know how to do it otherwise, because with a pre-alloc file you can't write simply to the end of it as that creates wasted space inbeween,
643 2012-04-22 19:07:59 <luke-jr> gmaxwell: (Q67 has a built-in VNC server)
644 2012-04-22 19:09:30 <Diapolo> sipa: It's an early stage and I did not intend to really consume dev time, I only wanted the user who reported the disk fragmentation problem to test this and would cleanup if it's worth it.
645 2012-04-22 19:09:55 <sipa> Diapolo: yes; i'd suggest putting it in the database, that way it is kept consistent with the rest of the block chain data
646 2012-04-22 19:10:12 <sipa> Diapolo: ok, i', just doing a suggestion for how it might be easier
647 2012-04-22 19:10:27 <Joric> ThomasV, https://bitcointalk.org/index.php?topic=50936.msg863854 it's a small world
648 2012-04-22 19:10:48 <ThomasV> Joric: I was just typing an answer
649 2012-04-22 19:10:50 <sipa> Joric: so you did write brainwallet?
650 2012-04-22 19:10:54 <Diapolo> sipa: That's a great idea but I'm sure I can't do this by myself as I have no clue about DB coding.
651 2012-04-22 19:11:36 <sipa> Diapolo: you can always ask for advice/help
652 2012-04-22 19:11:54 <Joric> sipa, yeah, and i'm mostly terrified of how lousy it's written
653 2012-04-22 19:12:16 <sipa> i knew it :)
654 2012-04-22 19:13:24 <Diapolo> sipa: So you can for sure help me with that DB stuff. I need to store and load the file-pointer position of the block-chain file to remove that blk0001.dat.fptrpos file I currently use. How would you start doing this?
655 2012-04-22 19:14:13 <sipa> Diapolo: add an entry with key blkfilepos + blockfile num, and value its used size
656 2012-04-22 19:14:23 <BlueMatt> Diapolo: ping me if you want more builds
657 2012-04-22 19:14:49 <Diapolo> BlueMatt: ping :) I removed the make_preferred() calls and hope it builds now
658 2012-04-22 19:15:07 <BlueMatt> watch: http://jenkins.bluematt.me/job/Bitcoin-Testing-Build/25/console
659 2012-04-22 19:15:07 <sipa> Diapolo: and when writing a new block, read that value from db, seek to that position, write, and increment the position
660 2012-04-22 19:15:33 <sipa> Diapolo: that's around 15 lines of code, i'd say
661 2012-04-22 19:16:26 <Diapolo> sipa: currently the file pointer resides in memory as the blockchain is downloaded so perhaps it would suffice to only read the value on startup and store it on shutdown to keep things fast?
662 2012-04-22 19:16:45 <sipa> Diapolo: no, store it after every block change
663 2012-04-22 19:16:50 <sipa> you can keep it in memory though
664 2012-04-22 19:16:59 <sipa> but you want a consistent value in the database
665 2012-04-22 19:17:11 <sipa> so that a crash doesn't mean the old blocks will get overwritten
666 2012-04-22 19:17:29 <Diapolo> makes sense
667 2012-04-22 19:17:42 <sipa> it will get caches by the databse anyway, and only written once if it's updated multiple times
668 2012-04-22 19:17:46 <sipa> cached
669 2012-04-22 19:18:19 <sipa> (though normally, there is a db commit after connectblock, which would write it, but that's a good thing, and very cheap anyway)
670 2012-04-22 19:19:31 <Diapolo> sipa: Is there a good place to start with DB stuff? Currently it's over my brain really ... it starts with in which file to store the value, how to create a key, how to read or write to the DB ... that are myths and adventures ;).
671 2012-04-22 19:19:50 <sipa> Diapolo: look at db.h and db.cpp
672 2012-04-22 19:20:28 <sipa> in particular, you'll want to mimic some Write/Read/Erasesomething function from CTxDB
673 2012-04-22 19:20:56 <sipa> CTxDB is the "file handle" to the blkindex.dat database
674 2012-04-22 19:21:56 <Diapolo> sipa: and this file is the place to store "such things" then
675 2012-04-22 19:22:13 <sipa> Diapolo: yes, it's the only place that makes sense, imho
676 2012-04-22 19:22:46 <sipa> Diapolo: it's where the tx and block indexes are kept
677 2012-04-22 19:24:12 <Diapolo> sipa: there are 3 databases right? wallet, blockchain and the index one?
678 2012-04-22 19:26:14 <sipa> wallet.dat, blkindex.dat, addr.dat
679 2012-04-22 19:26:36 <sipa> wallet, blockchain, and peer ip addresses, respectively
680 2012-04-22 19:26:55 <Diapolo> the addr.dat right, forgot that one ...
681 2012-04-22 19:28:42 <Diapolo> So my homework will be to look at the db.h / .cpp ... I guess I should remove the load / store code for the fileptr pos from the CAutoFile class and start playing around with the DB functions.
682 2012-04-22 19:29:07 <Diapolo> BlueMatt: ping once more
683 2012-04-22 19:29:24 <BlueMatt> http://jenkins.bluematt.me/job/Bitcoin-Testing-Build/26/console
684 2012-04-22 19:29:30 <sipa> Diapolo: i'd also try to just use/modify CAutoFile
685 2012-04-22 19:30:25 <Diapolo> sipa: that would be better of course ... I chose that way, because there are the Read / Erase functions for blocks, too and I didn't want to touch them in the first place
686 2012-04-22 19:31:45 <sipa> i don't think you need to touch much
687 2012-04-22 19:32:03 <sipa> just adding some seek and preallocate methods?
688 2012-04-22 19:32:34 <Diapolo> and the change to fstream as fseek doesn't work in the middle of files
689 2012-04-22 19:32:56 <Diapolo> to write data
690 2012-04-22 19:33:08 <sipa> it should
691 2012-04-22 19:34:28 <Diapolo> no chance I only could write at the end of the file, if I preallocated it's space with fseek
692 2012-04-22 19:35:02 <sipa> fseek doesn't allocate
693 2012-04-22 19:35:07 <Diapolo> no chance, with fseek I only could write at the end of the file, if I preallocated it's space
694 2012-04-22 19:35:29 <Diapolo> words mixed ^^
695 2012-04-22 19:36:07 <sipa> your preallocate method will work differently (typiclly just writing zeroes), but fseek should work fine to move to a particular point in the file
696 2012-04-22 19:36:35 <sipa> you could have a windows-specific preallocate though
697 2012-04-22 19:37:40 <Diapolo> it writes nothing, so it takes NO time to preallocate on Windows
698 2012-04-22 19:39:00 <sipa> so neither is there a guarantee the space is allocated at that time
699 2012-04-22 19:39:23 <sipa> but i know too little about windows internals to be sure
700 2012-04-22 19:39:45 <Diapolo> indeed it gets allocated in 2 fragments as a whole 2GB file
701 2012-04-22 19:40:17 <sipa> but still: let preallocate work however you like, ut there's no reason why fseek would not work for seeking
702 2012-04-22 19:40:22 <Diapolo> the space is just not filled with zeroes it contains garbage as long as you don't overwrite it
703 2012-04-22 19:40:35 <sipa> sure, that's possible
704 2012-04-22 19:40:47 <Diapolo> yeah that fseek thing I'm sure I read it on a webpage ...
705 2012-04-22 19:40:48 <sipa> i don't care really how you preallocate
706 2012-04-22 19:40:59 <Diapolo> will try to find it and show it
707 2012-04-22 19:43:34 <Diapolo> hm perhaps I chose fstream because it's not limited to 2GB files or sth. like that ... can find it currently
708 2012-04-22 19:44:39 <Diapolo> sipa: I'll work on my little project during the next days and I'll for sure come back to get some of your knowledge :). It's late I'm off for now. Thanks!!!
709 2012-04-22 19:44:56 <sipa> as i said, i don't mind switching to fstream for CAutoFile, it will be more compatible for sure
710 2012-04-22 19:45:21 <Diapolo> BlueMatt: I'll have to look into the errors again and will talk to you to start another try ^^.
711 2012-04-22 19:45:37 <BlueMatt> alright
712 2012-04-22 19:45:40 <sipa> but if it's really necessary, try to do so separately (just to keep changes compact)
713 2012-04-22 19:47:10 <Diapolo> good night then and thanks again :)
714 2012-04-22 20:07:27 <[Tycho]> TuxBlackEdo: may be. They often show similar patterns. Also check the number of IPs mining for this account.
715 2012-04-22 20:11:23 <TuxBlackEdo> that wavy line can't be a miner, right?
716 2012-04-22 20:11:27 <TuxBlackEdo> botner for sure
717 2012-04-22 20:11:30 <TuxBlackEdo> botnet*
718 2012-04-22 20:12:02 <TuxBlackEdo> apparently 1400 unique IPs generating 5ghash
719 2012-04-22 20:12:41 <DiabloD3> [Tycho]: luke is harboring a fucking botnet
720 2012-04-22 20:12:45 <DiabloD3> and he wont do shit
721 2012-04-22 20:13:07 <TuxBlackEdo> [Tycho], when someone comes to you and finds a botnet do you ask for a police report? or do you do the correct thing and try to block the account (and obviously keep ALL funds)
722 2012-04-22 20:13:42 <TuxBlackEdo> DiabloD3, actually it's worse, luke-jr is knowingly paying a botnet operator
723 2012-04-22 20:14:03 <[Tycho]> Actually I'm detecting botnets automatically by parsing my stats.
724 2012-04-22 20:15:58 <[Tycho]> It adds a special message in the memberzone asking them to explain this situation by e-mail in next N hours, and then pool core won't give any more work to this account.
725 2012-04-22 20:16:19 <TuxBlackEdo> how much is N usually?
726 2012-04-22 20:16:38 <[Tycho]> And no, I'm not keeping their funds because I don't have rights to do this.
727 2012-04-22 20:17:21 <TuxBlackEdo> if you ever sent traffic to an affiliate account they can and will keep your funds if you used spam to promote
728 2012-04-22 20:17:31 <[Tycho]> TuxBlackEdo: it  depends.
729 2012-04-22 20:19:14 <[Tycho]> I can keep funds if they were stolen from me or other users, but botnets steal funds from 3rd party which I can't refund anyway. It's out of my jurisdiction.
730 2012-04-22 20:20:31 <[Tycho]> TuxBlackEdo: even if someone uses different power cost depending on time of day, it won't be a smooth curve, it will look like steps.
731 2012-04-22 20:22:33 <gmaxwell> sunbreak (?)'s dynamic clock control did really produce graphs a lot like that.
732 2012-04-22 20:22:34 <DiabloD3> [Tycho]: if its temp related
733 2012-04-22 20:22:38 <DiabloD3> it'll be a smooth curve
734 2012-04-22 20:22:49 <[Tycho]> DiabloD3: well, that's not really a smart move - he may experience problems if they suspect him as a botnet C&C
735 2012-04-22 20:23:00 <DiabloD3> well no
736 2012-04-22 20:23:03 <DiabloD3> it'll be a single IP though
737 2012-04-22 20:23:13 <DiabloD3> what gives away the botnet is the IPs
738 2012-04-22 20:23:43 <gmaxwell> yea, I think it's silly to look at apparent hash rates.
739 2012-04-22 20:23:59 <[Tycho]> I think I posted here some sample curve from real botnet.
740 2012-04-22 20:24:24 <gmaxwell> also, if you're identifying them that way.. they could just obsecure it by hopping pools at random.
741 2012-04-22 20:24:41 <DiabloD3> or hopping addresses at random
742 2012-04-22 20:24:58 <DiabloD3> eligius makes that easy
743 2012-04-22 20:25:54 <[Tycho]> I'm not using hashrate dynamics for detection at all.
744 2012-04-22 20:30:55 <denisx> getworks should cost something
745 2012-04-22 20:31:24 <luke-jr> denisx: there's an idea
746 2012-04-22 20:31:25 <gmaxwell> they do 3% of your income at deepbit. ;)
747 2012-04-22 20:31:40 <gmaxwell> How about distinct IPs should cost something. :)
748 2012-04-22 20:31:42 <dwon> TuxBlackEdo: How is "keep ALL funds" the correct thing to do without a court order?  There's this thing called due process of law...
749 2012-04-22 20:31:48 <denisx> I mean every single getwork
750 2012-04-22 20:31:50 <luke-jr> when/if Eligius grows so big that I need to deter growth, I'll see about charging per getwork rather than a % ;)
751 2012-04-22 20:32:28 <[Tycho]> Well, now pool software is way too optimized to care about getworks :)
752 2012-04-22 20:32:39 <luke-jr> [Tycho]: it's still more fair than % fees
753 2012-04-22 20:33:00 <gmaxwell> also harder to reason about, which makes users spaz out.
754 2012-04-22 20:33:10 <luke-jr> gmaxwell: O.o?
755 2012-04-22 20:33:11 <[Tycho]> Initially, in the pushpoold era, work generation was difficult
756 2012-04-22 20:33:30 <gmaxwell> "omg the fees could possibly be as high as 20%" "unless your software is broken they'll just be 3%" "but it could be!"
757 2012-04-22 20:33:38 <dwon> TuxBlackEdo: Heck, if you keep all the funds, and it really is a botnet, then you've just profited from a botnet.  Good job.
758 2012-04-22 20:33:57 <gmaxwell> dwon: he was saying that he didn't keep the funds.
759 2012-04-22 20:33:59 <[Tycho]> gmaxwell: pool may exploit this by giving more LPs than needed.
760 2012-04-22 20:34:22 <dwon> gmaxwell: <TuxBlackEdo> [Tycho], when someone comes to you and finds a botnet do you ask for a police report? or do you do the correct thing and try to block the account (and obviously keep ALL funds)
761 2012-04-22 20:34:26 <luke-jr> gmaxwell: and people like TuxBlackEdo will try to claim the pool is not only "knowingly paying", but also profiting from the botnet& :/
762 2012-04-22 20:34:41 <gmaxwell> [Tycho]: indeed. but if the pool operator wants to cheat it can just fail to count shares, call shares stale, or add phantom shares (for porportional pools)
763 2012-04-22 20:34:47 <luke-jr> gmaxwell: TuxBlackEdo is ranting that I should keep the botnet funds
764 2012-04-22 20:35:12 <gmaxwell> I dunno why tux is on a warpath about this. Botnets suck but there isn't a lot that can be done about them.
765 2012-04-22 20:35:16 <[Tycho]> Shares count is easy to check.
766 2012-04-22 20:35:29 <gmaxwell> If you were to block based on many IPs, the botnet controller would just use one address per botnet node.
767 2012-04-22 20:35:47 <luke-jr> gmaxwell: he probably wants me to piss off the botnet operators and get DDoS'd again
768 2012-04-22 20:35:54 <[Tycho]> gmaxwell: at least you will be less responsible then.
769 2012-04-22 20:36:26 <gmaxwell> [Tycho]: padding with false shares to make the pool 'unlucky' is not really cheackable though...
770 2012-04-22 20:36:45 <luke-jr> gmaxwell: it is with GMP ;P
771 2012-04-22 20:36:53 <[Tycho]> Sometimes people try checking pools for luck :)
772 2012-04-22 20:36:54 <copumpkin> gnu multiprecision!
773 2012-04-22 20:36:55 <[Tycho]> Ok.
774 2012-04-22 20:37:30 <sipa> copumpkin: close, but few cigars
775 2012-04-22 20:37:54 <gmaxwell> [Tycho]: sure, they do but luck is sometimes bad by chance.. e.g. a bit before BTCguild went PPS they had a one month span that run that was some insanely low probability like 1:10000 or something like that.
776 2012-04-22 20:38:46 <[Tycho]> May be they were broken a bit.
777 2012-04-22 20:38:55 <[Tycho]> Loosing blocks, for example.
778 2012-04-22 20:39:16 <gmaxwell> Or cheating! Indistinguishable. Maybe but no one acted on it, which is the point even if you can 'detect' the detection is so weak that you really can't say or do anything about it.
779 2012-04-22 20:39:35 <copumpkin> Mad7Scientist was convinced they were cheating and went on about it for a while. Hard to say if he was right :)
780 2012-04-22 20:39:47 <[Tycho]> No one ever acted when the truth about "bitcoinpool" was revealed.
781 2012-04-22 20:40:07 <[Tycho]> It was surprising to me, but now I know: people don't care about anything.
782 2012-04-22 20:40:09 <luke-jr> [Tycho]: IIRC, "bitcoinpool" stole someone's Bitcoins and made a raffle for their users with it
783 2012-04-22 20:40:13 <[Tycho]> (at least most of them)
784 2012-04-22 20:40:44 <gmaxwell> luke-jr: !!!
785 2012-04-22 20:40:57 <luke-jr> gmaxwell: it was a while back
786 2012-04-22 20:41:15 <gmaxwell> luke-jr: well, I guess it should be unsurprising.. it was obviously run by crazy people.
787 2012-04-22 20:41:32 <[Tycho]> Some pools even still post block height instead of hash at their stats.
788 2012-04-22 20:41:43 <luke-jr> phantomcircuit accused BenDavis of bitcoinpool of stealing somehow, and shortly thereafter, they were giving away GPUs
789 2012-04-22 20:42:00 <luke-jr> Sep 2011
790 2012-04-22 20:42:03 <copumpkin> luke-jr: that was pretty well documented stealing
791 2012-04-22 20:42:15 <copumpkin> the guy admitted to it, but insisted on not calling it stealing
792 2012-04-22 20:42:19 <luke-jr> lol
793 2012-04-22 20:42:21 <[Tycho]> Also that story about mining "efficiency" :)
794 2012-04-22 20:42:52 <luke-jr> [Tycho]: well, that was actually useful innovation
795 2012-04-22 20:42:56 <copumpkin> luke-jr: he accidentally transferred too much to his address (500 coins when we were at $10, iirc), and the guy instantly cashed out and posted about free money on his facebook
796 2012-04-22 20:43:09 <[Tycho]> copumpkin: yeah, some people even don't call poolhopping as stealing.
797 2012-04-22 20:43:12 <copumpkin> luke-jr: he then went around bragging about it all over the place
798 2012-04-22 20:43:25 <luke-jr> [Tycho]: it's not.
799 2012-04-22 20:43:36 <phantomcircuit> unfortunately the wheel of justice moves slowly
800 2012-04-22 20:43:54 <[Tycho]> copumpkin: transfered where and for what ?
801 2012-04-22 20:44:22 <luke-jr> phantomcircuit: never got anything back?
802 2012-04-22 20:44:25 <TuxBlackEdo> i just got back
803 2012-04-22 20:44:32 <copumpkin> phantomcircuit: wheel of justice? http://en.wikipedia.org/wiki/File:Klassisches_Radern.png
804 2012-04-22 20:44:36 <TuxBlackEdo> yes keep all the funds of a botnet operator
805 2012-04-22 20:44:44 <phantomcircuit> luke-jr, i have no doubt we will eventually be compensated completely
806 2012-04-22 20:44:53 <phantomcircuit> and i believe it is very likely he will end up behind bars
807 2012-04-22 20:44:59 <TuxBlackEdo> just like how affiliate accounts shut down spammer's affiliate accounts without pay
808 2012-04-22 20:45:01 <phantomcircuit> but it's going to take a long time
809 2012-04-22 20:45:08 <copumpkin> he bragged about already having been behind bars and not caring
810 2012-04-22 20:45:16 <phantomcircuit> copumpkin, he was lying
811 2012-04-22 20:45:18 <copumpkin> [Tycho]: I dunno the details, but phantomcircuit certainly does :)
812 2012-04-22 20:45:19 <copumpkin> oh
813 2012-04-22 20:45:21 <phantomcircuit> he has several firearms
814 2012-04-22 20:45:32 <luke-jr> TuxBlackEdo: except affiliate nonsense usually has a contract you sign
815 2012-04-22 20:45:38 <TuxBlackEdo> no
816 2012-04-22 20:45:40 <luke-jr> I'm not forcing Eligius users to clickthru
817 2012-04-22 20:45:40 <TuxBlackEdo> it doesn;t
818 2012-04-22 20:45:46 <phantomcircuit> unless it was juvenile detention and his records was expunged
819 2012-04-22 20:46:04 <copumpkin> either way, his attitude pissed me off a lot :P
820 2012-04-22 20:46:06 <TuxBlackEdo> luke-jr, that means you are ok with botnet operators to mine on eligius?
821 2012-04-22 20:46:23 <luke-jr> TuxBlackEdo: http://eligius.st/wiki/index.php/FAQ#Are_botnets_allowed_on_Eligius.3F
822 2012-04-22 20:46:49 <phantomcircuit> copumpkin, yes if he hadn't been such a complete and total asshole i might have just counted it as a loss and moved on
823 2012-04-22 20:47:02 <copumpkin> yeah
824 2012-04-22 20:47:33 <TuxBlackEdo> http://eligius.st/~artefact2/7/13j5XQEnXzgTi3ihJLLi3DctDZbU26KJ16
825 2012-04-22 20:47:44 <TuxBlackEdo> can other people look at this
826 2012-04-22 20:49:13 <[Tycho]> Looks like some stats from luke-jr's pool
827 2012-04-22 20:49:37 <copumpkin> periodic. I assume you assume it means a botnet>
828 2012-04-22 20:49:54 <copumpkin> ?
829 2012-04-22 20:49:59 <TuxBlackEdo> yep
830 2012-04-22 20:50:01 <[Tycho]> Also notice the drop at sunday.
831 2012-04-22 20:50:10 <TuxBlackEdo> it's so obvious
832 2012-04-22 20:50:18 <copumpkin> I wouldn't say it's conclusive, though